From 3e3172cca556dc2d93e32ef40f352f4411ee6e13 Mon Sep 17 00:00:00 2001 From: psxjoy Date: Thu, 24 Oct 2024 18:50:42 +0800 Subject: [PATCH 01/19] fix: corrected some typos in the project (#492) Co-authored-by: psxjoy Co-authored-by: xiaoyu --- .../ozhera/app/config/DataSourceConfig.java | 4 +-- .../app/service/env/DefaultEnvIpFetch.java | 4 +-- ....java => HeraProjectGroupServiceImpl.java} | 2 +- .../log/agent/common/trace/TraceUtil.java | 2 +- .../apache/ozhera/log/manager/domain/Tpc.java | 4 +-- .../model/pojo/MilogAppMiddlewareRel.java | 2 +- .../log/manager/service/LogTailService.java | 2 +- .../service/impl/LogTailServiceImpl.java | 11 +++--- .../service/impl/LogTemplateServiceImpl.java | 6 ++-- .../impl/MilogConfigNacosServiceImpl.java | 6 ++-- .../impl/StreamPartitionServiceImpl.java | 2 +- .../log/manager/domain/analyse/TopTest.java | 4 +-- .../manager/test/ConfigNacosServiceTest.java | 2 +- .../extension/rocketmq/RocketmqPlugin.java | 2 +- .../apache/ozhera/log/stream/PatterTest.java | 4 +-- ...GorupFacade.java => AlertGroupFacade.java} | 2 +- .../monitor/config/DataSourceConfig.java | 4 +-- .../ozhera/monitor/bo/AlarmPresetMetrics.java | 2 +- .../monitor/dao/model/AlarmHealthResult.java | 2 +- .../monitor/service/ComputeTimerService.java | 4 +-- .../alertmanager/AlarmExprService.java | 2 +- .../alertmanager/AlertServiceAdapt.java | 2 +- .../impl/AlarmExprServiceOuter.java | 14 ++++---- .../alertmanager/impl/AlertManagerImpl.java | 2 +- .../api/ComputeTimerServiceExtension.java | 2 +- .../ComputeTimerServiceExtensionImpl.java | 34 +++++++++---------- .../impl/AppGrafanaMappingServiceImpl.java | 2 +- .../service/impl/ComputeTimerServiceImpl.java | 14 ++++---- .../service/impl/HeraBaseInfoServiceImpl.java | 2 +- .../impl/HeraDashboardServiceImpl.java | 2 +- .../impl/ResourceUsageServiceImpl.java | 2 +- .../model/prometheus/AlertTeamData.java | 2 +- .../model/prometheus/MetricDetailQuery.java | 2 +- .../service/model/prometheus/MetricKind.java | 6 ++-- .../service/prometheus/AlarmService.java | 2 +- .../heraGrafanaTemplate/nodeMonitor.ftl | 2 +- .../ozhera/operator/common/ESIndexConst.java | 2 +- .../handler/HeraResourceEventHandler.java | 12 +++---- ...ketMQSerivce.java => RocketMQService.java} | 2 +- .../agent/config/DataSourceConfiguration.java | 4 +-- .../PrometheusIpServiceExtensionImpl.java | 2 +- .../org/apache/ozhera/webhook/Bootstrap.java | 2 +- trace-etl/docs/extension/extension_cn.md | 2 +- .../trace/etl/es/config/DataSourceConfig.java | 4 +-- .../trace/etl/es/config/TraceConfig.java | 8 ++--- .../etl/es/consumer/ConsumerService.java | 2 +- .../trace/etl/es/queue/impl/TeSnowFlake.java | 4 +-- .../extension/doris/WriteDorisService.java | 2 +- .../etl/extension/es/WriteEsService.java | 2 +- .../etl/manager/config/DataSourceConfig.java | 4 +-- .../manager/filter/RequestHeaderFilter.java | 2 +- .../etl/metadata/config/DataSourceConfig.java | 4 +-- .../etl/nginx/parser/NginxLogToTraceBase.java | 24 ++++++------- .../trace/etl/config/DataSourceConfig.java | 4 +-- .../etl/consumer/MetricsParseService.java | 2 +- .../ozhera/trace/etl/util/ExecutorUtil.java | 6 ++-- .../ozhera/trace/etl/util/TraceUtil.java | 2 +- 57 files changed, 127 insertions(+), 132 deletions(-) rename ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/{HeraPojectGroupServiceImpl.java => HeraProjectGroupServiceImpl.java} (97%) rename ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/{AlertGorupFacade.java => AlertGroupFacade.java} (96%) rename ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/{RocketMQSerivce.java => RocketMQService.java} (99%) diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DataSourceConfig.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DataSourceConfig.java index 381d02ffa..09e08ecf6 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DataSourceConfig.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DataSourceConfig.java @@ -81,12 +81,12 @@ public DataSource masterDataSource() throws PropertyVetoException, NamingExcepti dataSource.setMaxPoolSize(defaultMaxPoolSize); dataSource.setMinPoolSize(defaultMinPoolSize); - setDatasouce(dataSource); + setDatasource(dataSource); return dataSource; } - private void setDatasouce(ComboPooledDataSource dataSource) { + private void setDatasource(ComboPooledDataSource dataSource) { dataSource.setTestConnectionOnCheckin(true); dataSource.setTestConnectionOnCheckout(false); dataSource.setPreferredTestQuery("select 1"); diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultEnvIpFetch.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultEnvIpFetch.java index cafd5c19e..6d6e66fb1 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultEnvIpFetch.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultEnvIpFetch.java @@ -54,7 +54,7 @@ public class DefaultEnvIpFetch { private DefaultNacosEnvIpFetch defaultNacosEnvIpFetch; @Value("${app.ip.fetch.type}") - private String envApppType; + private String envAppType; @NacosValue(value = "${hera.tpc.url}", autoRefreshed = true) private String heraTpcUrl; @@ -70,7 +70,7 @@ public class DefaultEnvIpFetch { public EnvIpFetch getEnvIpFetch() { - if (Objects.equals(EnvIpTypeEnum.HTTP.name().toLowerCase(), envApppType)) { + if (Objects.equals(EnvIpTypeEnum.HTTP.name().toLowerCase(), envAppType)) { return defaultHttpEnvIpFetch; } return defaultNacosEnvIpFetch; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraPojectGroupServiceImpl.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraProjectGroupServiceImpl.java similarity index 97% rename from ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraPojectGroupServiceImpl.java rename to ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraProjectGroupServiceImpl.java index c61fbf10e..de19397c5 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraPojectGroupServiceImpl.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraProjectGroupServiceImpl.java @@ -34,7 +34,7 @@ */ @Slf4j @Service(registry = "registryConfig", interfaceClass = HeraProjectGroupServiceApi.class, group = "${dubbo.group}") -public class HeraPojectGroupServiceImpl implements HeraProjectGroupServiceApi { +public class HeraProjectGroupServiceImpl implements HeraProjectGroupServiceApi { @Autowired HeraProjectGroupService projectGroupService; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java index 5baf1bfbc..d494d9482 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java @@ -123,7 +123,7 @@ private static TSpanData toTSpanData(String[] array) { span.setKind(toTKind(spanKind)); span.setEvents(toTEventList(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.EVENTS])))); span.setTotalRecordedEvents(span.getEventsSize()); - span.setResouce( + span.setResource( toTResource(JSONObject.parseObject(array[MessageUtil.REOUSCES]), specialAttrMap)); span.setExtra(toTExtra(specialAttrMap)); // using links["ref_type=CHILD_OF"] as parent span context and using left as links diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Tpc.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Tpc.java index ae15ec023..950aeaac1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Tpc.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Tpc.java @@ -217,13 +217,13 @@ public Result saveSpacePerm(MilogSpaceDO spaceDO, String account) { return tpcService.add(nodeAddParam); } - public Result updateSpaceTpc(MilogSpaceParam param, String accout) { + public Result updateSpaceTpc(MilogSpaceParam param, String account) { NodeEditParam edit = new NodeEditParam(); edit.setNodeName(param.getSpaceName()); edit.setDesc(param.getDescription()); edit.setOutId(param.getId()); edit.setOutIdType(OutIdTypeEnum.SPACE.getCode()); - edit.setAccount(accout); + edit.setAccount(account); edit.setUserType(UserTypeEnum.CAS_TYPE.getCode()); return tpcService.edit(edit); } diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppMiddlewareRel.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppMiddlewareRel.java index 0b72c9aea..2e031501f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppMiddlewareRel.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppMiddlewareRel.java @@ -46,7 +46,7 @@ public class MilogAppMiddlewareRel extends BaseCommon implements Serializable { @Column(value = "milog_app_id") @ColDefine(customType = "bigint") - @Comment("milog app talble Primary key Id") + @Comment("milog app table Primary key Id") private Long milogAppId; @Column(value = "middleware_id") diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTailService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTailService.java index c819410f5..99aef3d5a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTailService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTailService.java @@ -41,7 +41,7 @@ public interface LogTailService { void sengMessageToStream(MilogLogTailDo mt, Integer type); - void handleNaocsConfigByMotorRoom(MilogLogTailDo mt, String motorRoomEn, Integer type, Integer projectType); + void handleNacosConfigByMotorRoom(MilogLogTailDo mt, String motorRoomEn, Integer type, Integer projectType); /** * Delete a part of a configuration in the configuration center diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImpl.java index cc477124f..227e3a2ec 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImpl.java @@ -28,15 +28,12 @@ import org.apache.ozhera.log.manager.common.utils.ManagerUtil; import org.apache.ozhera.log.manager.common.validation.HeraConfigValid; import org.apache.ozhera.log.manager.dao.*; -import org.apache.ozhera.log.manager.dao.*; import org.apache.ozhera.log.manager.mapper.MilogLogSearchSaveMapper; import org.apache.ozhera.log.manager.mapper.MilogLogTemplateMapper; import org.apache.ozhera.log.manager.model.bo.LogTailParam; import org.apache.ozhera.log.manager.model.bo.MlogParseParam; import org.apache.ozhera.log.manager.model.dto.*; import org.apache.ozhera.log.manager.model.pojo.*; -import org.apache.ozhera.log.manager.model.dto.*; -import org.apache.ozhera.log.manager.model.pojo.*; import org.apache.ozhera.log.manager.model.vo.QuickQueryVO; import org.apache.ozhera.log.manager.service.BaseService; import org.apache.ozhera.log.manager.service.LogTailService; @@ -288,12 +285,12 @@ public void sengMessageToAgent(Long milogAppId, MilogLogTailDo logtailDo) { @Override public void sengMessageToStream(MilogLogTailDo mt, Integer type) { - handleNaocsConfigByMotorRoom(mt, MachineRegionEnum.CN_MACHINE.getEn(), type, ProjectTypeEnum.MIONE_TYPE.getCode()); + handleNacosConfigByMotorRoom(mt, MachineRegionEnum.CN_MACHINE.getEn(), type, ProjectTypeEnum.MIONE_TYPE.getCode()); } @Override - public void handleNaocsConfigByMotorRoom(MilogLogTailDo mt, String motorRoomEn, Integer type, Integer projectType) { - milogConfigNacosServiceImpl.chooseCurrentEnvNacosSerevice(motorRoomEn); + public void handleNacosConfigByMotorRoom(MilogLogTailDo mt, String motorRoomEn, Integer type, Integer projectType) { + milogConfigNacosServiceImpl.chooseCurrentEnvNacosService(motorRoomEn); if (OperateEnum.ADD_OPERATE.getCode().equals(type) || OperateEnum.UPDATE_OPERATE.getCode().equals(type)) { milogConfigNacosServiceImpl.publishStreamConfig(mt.getSpaceId(), type, projectType, motorRoomEn); } @@ -304,7 +301,7 @@ public void handleNaocsConfigByMotorRoom(MilogLogTailDo mt, String motorRoomEn, public boolean deleteConfigRemote(Long spaceId, Long id, String motorRoomEn, LogStructureEnum logStructureEnum) { Assert.notNull(spaceId, "deleteConfigRemote spaceId can not null"); Assert.notNull(id, "deleteConfigRemote id can not null"); - milogConfigNacosServiceImpl.chooseCurrentEnvNacosSerevice(motorRoomEn); + milogConfigNacosServiceImpl.chooseCurrentEnvNacosService(motorRoomEn); if (LogStructureEnum.SPACE == logStructureEnum) { milogConfigNacosServiceImpl.publishStreamConfig(spaceId, OperateEnum.DELETE_OPERATE.getCode(), null, motorRoomEn); return true; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImpl.java index 0c613c6d4..d10eade49 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImpl.java @@ -78,11 +78,11 @@ private void assembleLogTemplateDetail(List logTemplateDTOList) @Override public Result getLogTemplateById(long logTemplateId) { MilogLogTemplateDO logTemplate = milogLogTemplateMapper.selectById(logTemplateId); - MilogLogTemplateDetailDO tmplateDetail = templateDetailMapper.getByTemplateId(logTemplateId); - if (tmplateDetail == null) { + MilogLogTemplateDetailDO templateDetail = templateDetailMapper.getByTemplateId(logTemplateId); + if (templateDetail == null) { return Result.success(null); } - LogTemplateDetailDTO dto = MilogLongTemplateDetailConvert.INSTANCE.fromDO(logTemplate, tmplateDetail); + LogTemplateDetailDTO dto = MilogLongTemplateDetailConvert.INSTANCE.fromDO(logTemplate, templateDetail); return Result.success(dto); } diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogConfigNacosServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogConfigNacosServiceImpl.java index 88b0a5999..b1db78bcb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogConfigNacosServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogConfigNacosServiceImpl.java @@ -33,7 +33,6 @@ import org.apache.ozhera.log.manager.domain.EsCluster; import org.apache.ozhera.log.manager.mapper.MilogLogTemplateMapper; import org.apache.ozhera.log.manager.model.pojo.*; -import org.apache.ozhera.log.manager.model.pojo.*; import org.apache.ozhera.log.manager.service.MilogConfigNacosService; import org.apache.ozhera.log.manager.service.bind.LogTypeProcessor; import org.apache.ozhera.log.manager.service.bind.LogTypeProcessorFactory; @@ -52,7 +51,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.map.HashedMap; -import org.apache.ozhera.log.manager.service.nacos.impl.*; import org.apache.ozhera.log.model.*; import javax.annotation.Resource; @@ -124,7 +122,7 @@ public void init() { private void initializeNacosConfigurations() { List regions = commonExtensionService.queryMachineRegions(); for (String region : regions) { - chooseCurrentEnvNacosSerevice(region); + chooseCurrentEnvNacosService(region); } } @@ -252,7 +250,7 @@ public void publishNameSpaceConfig(String motorRoomEn, Long spaceId, Long storeI * * @param motorRoomEn */ - public void chooseCurrentEnvNacosSerevice(String motorRoomEn) { + public void chooseCurrentEnvNacosService(String motorRoomEn) { MilogMiddlewareConfig middlewareConfig = milogMiddlewareConfigDao.queryCurrentEnvNacos(motorRoomEn); if (null != middlewareConfig) { ConfigService configService = MultipleNacosConfig.getConfigService(middlewareConfig.getNameServer()); diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StreamPartitionServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StreamPartitionServiceImpl.java index 56a5ad777..567f38a12 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StreamPartitionServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StreamPartitionServiceImpl.java @@ -134,7 +134,7 @@ public PageInfo> queryStreamList(MachinePartitionParam part } private MiLogStreamConfig buildMiLogStreamConfig(String machineRoom) { - logConfigNacosService.chooseCurrentEnvNacosSerevice(machineRoom); + logConfigNacosService.chooseCurrentEnvNacosService(machineRoom); MiLogStreamConfig config = logConfigNacosService.getStreamConfigNacosProvider(machineRoom).getConfig(null); if (config == null) { throw new MilogManageException("当前机房nacos配置不存在"); diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/analyse/TopTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/analyse/TopTest.java index 79bcd4263..ebbf44fee 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/analyse/TopTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/analyse/TopTest.java @@ -35,8 +35,8 @@ public void pushBean() { } @Test - public void caclulate() throws IOException { + public void calculate() throws IOException { String storeName = "nr-pay"; -// dateGroupStrategy.caclulate(storeName); +// dateGroupStrategy.calculate(storeName); } } \ No newline at end of file diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/ConfigNacosServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/ConfigNacosServiceTest.java index fe35f8196..7ed6ceed4 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/ConfigNacosServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/ConfigNacosServiceTest.java @@ -85,7 +85,7 @@ public void testSyncSpace() { // LogTailServiceImpl milogLogtailService = Ioc.ins().getBean(LogTailServiceImpl.class); // MilogLogTailDo mt = new MilogLogTailDo(); // mt.setSpaceId(3L); -// milogLogtailService.handleNaocsConfigByMotorRoom(mt, MachineRegionEnum.CN_MACHINE.getEn(), OperateEnum.ADD_OPERATE.getCode(), ProjectTypeEnum.MIONE_TYPE.getCode()); +// milogLogtailService.handleNacosConfigByMotorRoom(mt, MachineRegionEnum.CN_MACHINE.getEn(), OperateEnum.ADD_OPERATE.getCode(), ProjectTypeEnum.MIONE_TYPE.getCode()); // Assert.assertNotNull(true); } } diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqPlugin.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqPlugin.java index 303d897af..424e25ca1 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqPlugin.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqPlugin.java @@ -44,7 +44,7 @@ public static RocketmqConfig buildRocketmqConfig(String ak, String sk, String cl config.setNamesrvAddr(StringUtils.isNotEmpty(clusterInfo) ? clusterInfo : ins.get("rocketmq_namesrv_addr", "")); config.setAk(StringUtils.isNotEmpty(ak) ? ak : ins.get("rocketmq_ak", "")); config.setSk(StringUtils.isNotEmpty(sk) ? sk : ins.get("rocketmq_sk", "")); - config.setConsumerFromWhere(ins.get("rockermq_consumer_offset", "")); + config.setConsumerFromWhere(ins.get("rocketmq_consumer_offset", "")); config.setConsumerGroup(Constant.DEFAULT_CONSUMER_GROUP + tag); if (SinkJobEnum.BACKUP_JOB == jobType) { config.setConsumerGroup(Constant.DEFAULT_CONSUMER_GROUP + tag + "_" + BACKUP_PREFIX); diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/PatterTest.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/PatterTest.java index a5b2b12ff..23f805653 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/PatterTest.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/PatterTest.java @@ -63,9 +63,9 @@ public void test2() { public void test3() { String regex = "\\bcat\\b"; final String input = "cat cat cat cattie cat"; - //Create a Pettern object + //Create a Pattern object Pattern p = Pattern.compile(regex); - //Create a Pettern object... + //Create a Pattern object... Matcher m = p.matcher(input); int count = 0; if (m.find()) { diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGorupFacade.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGroupFacade.java similarity index 96% rename from ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGorupFacade.java rename to ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGroupFacade.java index f31f59024..76d908f5f 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGorupFacade.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGroupFacade.java @@ -20,7 +20,7 @@ import java.util.List; -public interface AlertGorupFacade { +public interface AlertGroupFacade { List query(String account, String likeName); diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DataSourceConfig.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DataSourceConfig.java index 36bb4870f..2a9b68afc 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DataSourceConfig.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DataSourceConfig.java @@ -89,12 +89,12 @@ public DataSource masterDataSource() throws PropertyVetoException, NamingExcepti dataSource.setMaxPoolSize(defaultMaxPoolSize); dataSource.setMinPoolSize(defaultMinPoolSize); - setDatasouce(dataSource); + setDatasource(dataSource); return dataSource; } - private void setDatasouce(ComboPooledDataSource dataSource) { + private void setDatasource(ComboPooledDataSource dataSource) { dataSource.setTestConnectionOnCheckin(true); dataSource.setTestConnectionOnCheckout(false); dataSource.setPreferredTestQuery("select 1"); diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmPresetMetrics.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmPresetMetrics.java index 827a346d9..87f071342 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmPresetMetrics.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmPresetMetrics.java @@ -67,7 +67,7 @@ public enum AlarmPresetMetrics { http_client_slow_query("http_client_slow_query","Http调出慢查询", "Http-call-in-slow-query-count",MetricsUnit.UNIT_COUNT, SendAlertGroupKey.APP_METHOD, AlarmStrategyType.INTERFACE,InterfaceMetricTypes.slow_times,BasicUrlType.hera_dash_ip,null), /** - * metric -dobbo + * metric -dubbo */ dubbo_provider_error_times("dubbo_provider_error_times","Dubbo调入异常数", "Dubbo-call-in-exception-count", MetricsUnit.UNIT_COUNT, SendAlertGroupKey.APP_METHOD, AlarmStrategyType.INTERFACE,InterfaceMetricTypes.error_times,BasicUrlType.hera_dash_ip,null), diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthResult.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthResult.java index 7744c0c26..12540880b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthResult.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthResult.java @@ -52,7 +52,7 @@ public class AlarmHealthResult { private Integer httpServerAvailability;//httpServer可用性(包括可用性、错误数配置任一) 2分 private Integer httpServerQps;//httpServer qps 1分 private Integer httpServerTimeCost;//httpServer 耗时 1分 - private Integer httpClientAvailability;//httpCleint可用性(包括可用性、错误数配置任一) 1分 + private Integer httpClientAvailability;//httpClient可用性(包括可用性、错误数配置任一) 1分 private Integer httpClientQps;//httpClient qps 1分 private Integer httpClientTimeCost;//httpClient 耗时 1分 private Integer dubboProviderAvailability;//dubboProvider可用性(包括可用性、错误数配置任一) 2分 diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ComputeTimerService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ComputeTimerService.java index 744fe2e95..6b9031a36 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ComputeTimerService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ComputeTimerService.java @@ -38,10 +38,10 @@ public interface ComputeTimerService { * @param project * @param startTime * @param endTime - * @param timeDurarion + * @param timeDuration * @param param */ - AppAlarmData getAppAlarmData(ProjectInfo project, Long startTime, Long endTime, String timeDurarion, Long step, + AppAlarmData getAppAlarmData(ProjectInfo project, Long startTime, Long endTime, String timeDuration, Long step, AppMonitorRequest param); diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlarmExprService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlarmExprService.java index 2a28a00bf..f770c8740 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlarmExprService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlarmExprService.java @@ -31,7 +31,7 @@ public interface AlarmExprService { public String getContainerCpuResourceAlarmExpr(Integer projectId,String projectName,String op,double value,boolean isK8s,AlarmRuleData ruleData); - public String getContainerMemReourceAlarmExpr(Integer projectId,String projectName,String op,double value,boolean isK8s,AlarmRuleData ruleData); + public String getContainerMemResourceAlarmExpr(Integer projectId, String projectName, String op, double value, boolean isK8s, AlarmRuleData ruleData); public Map getEnvIpMapping(Integer projectId, String projectName); } diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertServiceAdapt.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertServiceAdapt.java index 364b6db72..fb94e9617 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertServiceAdapt.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertServiceAdapt.java @@ -61,7 +61,7 @@ public Result enableRule(Integer alertId,Integer pauseStatus,String identifyId, return alertManager.enableRule(alertId,pauseStatus,identifyId,user); } - public Result queryRuels(JsonObject params, String identifyId, String user){ + public Result queryRules(JsonObject params, String identifyId, String user){ return alertManager.queryRuels(params,identifyId,user); } diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java index 7c7b1be4c..17c45661f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java @@ -273,9 +273,9 @@ public String getExpr(AppAlarmRule rule, String scrapeIntervel, AlarmRuleData ru case "container_cpu_resource_use_rate": return getContainerCpuResourceAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),false,ruleData); case "container_mem_resource_use_rate": - return getContainerMemReourceAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),false,ruleData); + return getContainerMemResourceAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),false,ruleData); case "container_disk_use_rate": - return getContainerDiskReourceAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),false,ruleData); + return getContainerDiskResourceAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),false,ruleData); case "k8s_container_cpu_use_rate": return getContainerCpuAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),true,ruleData); @@ -289,7 +289,7 @@ public String getExpr(AppAlarmRule rule, String scrapeIntervel, AlarmRuleData ru case "k8s_cpu_resource_use_rate": return getContainerCpuResourceAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),true,ruleData); case "k8s_mem_resource_use_rate": - return getContainerMemReourceAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),true,ruleData); + return getContainerMemResourceAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),true,ruleData); case "k8s_cpu_avg_use_rate": return getK8sCpuAvgUsageAlarmExpr(rule.getProjectId(),app.getProjectName(),rule.getOp(),rule.getValue(),ruleData); @@ -719,7 +719,7 @@ public String getContainerMemAlarmExpr(Integer projectId,String projectName,Stri return exprBuilder.toString(); } - public String getContainerMemReourceAlarmExpr(Integer projectId,String projectName,String op,double value,boolean isK8s,AlarmRuleData ruleData){ + public String getContainerMemResourceAlarmExpr(Integer projectId, String projectName, String op, double value, boolean isK8s, AlarmRuleData ruleData){ StringBuilder exprBuilder = new StringBuilder(); exprBuilder.append("(sum(avg_over_time(container_memory_rss{"); @@ -764,11 +764,11 @@ public String getContainerMemReourceAlarmExpr(Integer projectId,String projectNa exprBuilder.append("}[1d])) by (container_label_PROJECT_ID,application,ip,job,name,system,instance,id,serverEnv,serverZone)) * 100"); exprBuilder.append(op).append(value); - log.info("getContainerMemReourceAlarmExpr param: projectId:{}, projectName:{}, op:{},value:{}, return:{}",projectId, projectName, op,value, exprBuilder.toString()); + log.info("getContainerMemResourceAlarmExpr param: projectId:{}, projectName:{}, op:{},value:{}, return:{}",projectId, projectName, op,value, exprBuilder.toString()); return exprBuilder.toString(); } - public String getContainerDiskReourceAlarmExpr(Integer projectId,String projectName,String op,double value,boolean isK8s,AlarmRuleData ruleData){ + public String getContainerDiskResourceAlarmExpr(Integer projectId,String projectName,String op,double value,boolean isK8s,AlarmRuleData ruleData){ StringBuilder exprBuilder = new StringBuilder(); exprBuilder.append("clamp_max(sum(container_fs_usage_bytes{"); @@ -781,7 +781,7 @@ public String getContainerDiskReourceAlarmExpr(Integer projectId,String projectN exprBuilder.append("application='").append(projectId).append("_").append(projectName.replaceAll("-","_")).append("'"); exprBuilder.append("}) by (application,name,ip,serverEnv)/10737418240 ,1) * 100 "); exprBuilder.append(op).append(value); - log.info("getContainerDiskReourceAlarmExpr param: projectId:{}, projectName:{}, op:{},value:{}, return:{}",projectId, projectName, op,value, exprBuilder.toString()); + log.info("getContainerDiskResourceAlarmExpr param: projectId:{}, projectName:{}, op:{},value:{}, return:{}",projectId, projectName, op,value, exprBuilder.toString()); return exprBuilder.toString(); } diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlertManagerImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlertManagerImpl.java index 8b785e545..711d38a2f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlertManagerImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlertManagerImpl.java @@ -197,7 +197,7 @@ public Result>> searchUser(String user, String searchNam param.setUserAcc(userVoSearch == null ? null : userVoSearch.getAccount()); // param.setType(UserTypeEnum.EMAIL.getCode()); com.xiaomi.youpin.infra.rpc.Result> userResult = userFacade.list(param); - log.info("userFacade reqeust param:{},result:{}",gson.toJson(param),gson.toJson(userResult)); + log.info("userFacade request param:{},result:{}",gson.toJson(param),gson.toJson(userResult)); if (userResult == null || userResult.getData() == null || CollectionUtils.isEmpty(userResult.getData().getList())) { return Result.success(page); } diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ComputeTimerServiceExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ComputeTimerServiceExtension.java index 703859126..2495a0b6a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ComputeTimerServiceExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ComputeTimerServiceExtension.java @@ -21,5 +21,5 @@ public interface ComputeTimerServiceExtension { - void computByMetricType(AppMonitorRequest param, String appName, MetricKind metricKind, AppAlarmData.AppAlarmDataBuilder dataBuilder, Long startTime, Long endTime, String timeDurarion, Long step); + void computByMetricType(AppMonitorRequest param, String appName, MetricKind metricKind, AppAlarmData.AppAlarmDataBuilder dataBuilder, Long startTime, Long endTime, String timeDuration, Long step); } diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java index 319d22b6f..932dedbd6 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java @@ -52,7 +52,7 @@ public class ComputeTimerServiceExtensionImpl implements ComputeTimerServiceExte private PrometheusService prometheusService; @Override - public void computByMetricType(AppMonitorRequest param, String appName, MetricKind metricKind, AppAlarmData.AppAlarmDataBuilder dataBuilder, Long startTime, Long endTime, String timeDurarion, Long step) { + public void computByMetricType(AppMonitorRequest param, String appName, MetricKind metricKind, AppAlarmData.AppAlarmDataBuilder dataBuilder, Long startTime, Long endTime, String timeDuration, Long step) { try { //当前页面 @@ -64,19 +64,19 @@ public void computByMetricType(AppMonitorRequest param, String appName, MetricKi case http: // http请求异常统计 - Result httpExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.httpError.getCode(),getLable(MetricKind.MetricType.http_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result httpExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.httpError.getCode(),getLable(MetricKind.MetricType.http_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.httpExceptionNum(countRecordMetric(httpExceptions)); // httpClient请求异常统计 - Result httpClientExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.httpClientError.getCode(), getLable(MetricKind.MetricType.http_client_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result httpClientExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.httpClientError.getCode(), getLable(MetricKind.MetricType.http_client_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.httpClientExceptionNum(countRecordMetric(httpClientExceptions)); // http请求慢查询统计 - Result httpSlowQuery = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.httpSlowQuery.getCode(),getLable(MetricKind.MetricType.http_slow, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result httpSlowQuery = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.httpSlowQuery.getCode(),getLable(MetricKind.MetricType.http_slow, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.httpSlowNum(countRecordMetric(httpSlowQuery)); // httpClient请求慢查询统计 - Result httpClientSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.httpClientSlowQuery.getCode(), getLable(MetricKind.MetricType.http_client_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result httpClientSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.httpClientSlowQuery.getCode(), getLable(MetricKind.MetricType.http_client_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.httpClientSlowNum(countRecordMetric(httpClientSlowQuerys)); break; @@ -84,17 +84,17 @@ public void computByMetricType(AppMonitorRequest param, String appName, MetricKi case dubbo: // dubbo请求异常统计 - Result dubboExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.dubboConsumerError.getCode(), getLable(MetricKind.MetricType.dubbo_consumer_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result dubboExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.dubboConsumerError.getCode(), getLable(MetricKind.MetricType.dubbo_consumer_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.dubboExceptionNum(countRecordMetric(dubboExceptions)); // dubbo请求异常统计 - Result dubboPExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.dubboProvider.getCode(), getLable(MetricKind.MetricType.dubbo_provider_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result dubboPExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.dubboProvider.getCode(), getLable(MetricKind.MetricType.dubbo_provider_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.dubboPExceptionNum(countRecordMetric(dubboPExceptions)); // dubbo consumer慢请求统计 - Result dubboConsumerSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.dubboConsumerSlowQuery.getCode(), getLable(MetricKind.MetricType.dubbo_consumer_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result dubboConsumerSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.dubboConsumerSlowQuery.getCode(), getLable(MetricKind.MetricType.dubbo_consumer_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.dubboCSlowQueryNum(countRecordMetric(dubboConsumerSlowQuerys)); log.info("projectName:{},dubboConsumerSlowQuerys:{}",appName,dubboConsumerSlowQuerys); // dubbo provider慢请求统计 - Result dubboProviderSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.dubboProviderSlowQuery.getCode(), getLable(MetricKind.MetricType.dubbo_provider_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result dubboProviderSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.dubboProviderSlowQuery.getCode(), getLable(MetricKind.MetricType.dubbo_provider_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.dubboProviderSlowQueryNum(countRecordMetric(dubboProviderSlowQuerys)); log.info("projectName:{},dubboProviderSlowQuerys:{}",appName,dubboProviderSlowQuerys); @@ -102,35 +102,35 @@ public void computByMetricType(AppMonitorRequest param, String appName, MetricKi case grpc : // grpc请求异常统计 - Result grpcServerExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.grpcServerError.getCode(), getLable(MetricKind.MetricType.grpc_server_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result grpcServerExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.grpcServerError.getCode(), getLable(MetricKind.MetricType.grpc_server_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.grpcServerErrorNum(countRecordMetric(grpcServerExceptions)); - Result grpcClientExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.grpcClientError.getCode(), getLable(MetricKind.MetricType.grpc_client_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result grpcClientExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.grpcClientError.getCode(), getLable(MetricKind.MetricType.grpc_client_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.grpcClientErrorNum(countRecordMetric(grpcClientExceptions)); - Result grpcClientSlowQuery = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.grpcClientSlowQuery.getCode(), getLable(MetricKind.MetricType.grpc_client_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result grpcClientSlowQuery = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.grpcClientSlowQuery.getCode(), getLable(MetricKind.MetricType.grpc_client_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.grpcClientSlowQueryNum(countRecordMetric(grpcClientSlowQuery)); - Result grpcServerSlowQuery = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.grpcServerSlowQuery.getCode(), getLable(MetricKind.MetricType.grpc_server_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result grpcServerSlowQuery = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.grpcServerSlowQuery.getCode(), getLable(MetricKind.MetricType.grpc_server_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.grpcServerSlowQueryNum(countRecordMetric(grpcServerSlowQuery)); break; case db : // mysql请求异常统计 - Result sqlExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.dbError.getCode(), getLable(MetricKind.MetricType.db_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result sqlExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.dbError.getCode(), getLable(MetricKind.MetricType.db_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.sqlExceptionNum(countRecordMetric(sqlExceptions)); // mysql慢请求统计 - Result sqlSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.dbSlowQuery.getCode(), getLable(MetricKind.MetricType.db_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result sqlSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.dbSlowQuery.getCode(), getLable(MetricKind.MetricType.db_slow_query, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.sqlSlowQueryNum(countRecordMetric(sqlSlowQuerys)); break; case redis : // redis请求异常统计 - Result redisExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.redisError.getCode(), getLable(MetricKind.MetricType.redis_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result redisExceptions = prometheusService.queryRangeSumOverTime(ReqErrorMetrics.redisError.getCode(), getLable(MetricKind.MetricType.redis_exception, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.redisExceptionNum(countRecordMetric(redisExceptions)); - Result redisSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.redisSlow.getCode(), getLable(MetricKind.MetricType.redis_slow, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDurarion,null); + Result redisSlowQuerys = prometheusService.queryRangeSumOverTime(ReqSlowMetrics.redisSlow.getCode(), getLable(MetricKind.MetricType.redis_slow, curMetricType, param), appName, MetricSuffix._total.name(), startTime, endTime, step, timeDuration,null); dataBuilder.redisSlowNum(countRecordMetric(redisSlowQuerys)); break; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppGrafanaMappingServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppGrafanaMappingServiceImpl.java index ca774e0af..4bf59ff21 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppGrafanaMappingServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppGrafanaMappingServiceImpl.java @@ -227,7 +227,7 @@ public void createTmpByAppBaseInfo(HeraAppBaseInfoModel baseInfo) { grafanaMapping.setMioneEnv(grafanaDirByCode); int i = this.saveOrUpdate(grafanaMapping); if (i > 0) { - log.info("createTmpByAppBaseInfo sucess!grafanaMapping:{}", grafanaMapping.toString()); + log.info("createTmpByAppBaseInfo success!grafanaMapping:{}", grafanaMapping.toString()); } else { log.info("createTmpByAppBaseInfo fail!grafanaMapping:{}", grafanaMapping.toString()); } diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ComputeTimerServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ComputeTimerServiceImpl.java index 6fc57c83a..f8bea1764 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ComputeTimerServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ComputeTimerServiceImpl.java @@ -85,7 +85,7 @@ public void destory() { public Result> getProjectStatistics(AppMonitorRequest param) { final Long endTime = CommonUtil.toSeconds(System.currentTimeMillis()); final Long startTime = endTime - param.getDuration(); - final String timeDurarion = param.getDuration() + "s"; + final String timeDuration = param.getDuration() + "s"; final Long step = param.getDuration(); int projectSize = param.getProjectList().size() > 50 ? 50 : param.getProjectList().size(); List> callList = new ArrayList<>(); @@ -97,7 +97,7 @@ public Result> getProjectStatistics(AppMonitorRequest param) callList.add(new Callable() { @Override public AppAlarmData call() throws Exception { - return getAppAlarmData(project, startTime, endTime, timeDurarion, step, param); + return getAppAlarmData(project, startTime, endTime, timeDuration, step, param); } }); } @@ -124,11 +124,11 @@ public AppAlarmData call() throws Exception { * @param project * @param startTime * @param endTime - * @param timeDurarion + * @param timeDuration * @param param */ @Override - public AppAlarmData getAppAlarmData(ProjectInfo project, Long startTime, Long endTime, String timeDurarion, + public AppAlarmData getAppAlarmData(ProjectInfo project, Long startTime, Long endTime, String timeDuration, Long step, AppMonitorRequest param) { String appName = new StringBuilder().append(project.getId()).append("_") .append(project.getName().replaceAll("-", "_")).toString(); @@ -149,7 +149,7 @@ public AppAlarmData getAppAlarmData(ProjectInfo project, Long startTime, Long en return new Callable() { @Override public Void call() throws Exception { - computByMetricType(param, appName, kind, dataBuilder, startTime, endTime, timeDurarion, step); + computByMetricType(param, appName, kind, dataBuilder, startTime, endTime, timeDuration, step); return null; } }; @@ -181,10 +181,10 @@ public Void call() throws Exception { } private void computByMetricType(AppMonitorRequest param, String appName, MetricKind metricKind, - AppAlarmData.AppAlarmDataBuilder dataBuilder, Long startTime, Long endTime, String timeDurarion, + AppAlarmData.AppAlarmDataBuilder dataBuilder, Long startTime, Long endTime, String timeDuration, Long step) { computeTimerServiceExtension.computByMetricType(param, appName, metricKind, dataBuilder, startTime, endTime, - timeDurarion, step); + timeDuration, step); } @Override public AppAlarmData countAppMetricData(AppMonitorRequest param) { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraBaseInfoServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraBaseInfoServiceImpl.java index fd76b6582..2cb55874f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraBaseInfoServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraBaseInfoServiceImpl.java @@ -186,7 +186,7 @@ public void deleAppById(Integer id) { Integer integer = this.deleteByIdRemote(id); if (integer.intValue() > 0) { - log.info("deleAppById sucess!dataId:{}", id); + log.info("deleAppById success!dataId:{}", id); } else { log.info("deleAppById fail!dataId:{}", id); } diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraDashboardServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraDashboardServiceImpl.java index 77e9a7212..79c4dd189 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraDashboardServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraDashboardServiceImpl.java @@ -171,7 +171,7 @@ public Result createGrafanaResources(DashboardDTO dashboardDTO) { //grafana template replace template variable,request grafana generate dashboard and panel. createDefaultGrafanaDashboard(datasourceUid, header); - //Write the url returned by the panel back to mimonitor's nacos configuration + //Write the url returned by the panel back to monitor's nacos configuration try { ConfigService configService = NacosFactory.createConfigService(nacosAddress); String nacosResult = configService.getConfig(DashboardConstant.DEFAULT_MIMONITOR_NACOS_CONFIG, diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ResourceUsageServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ResourceUsageServiceImpl.java index 0336d3998..32e26f5ec 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ResourceUsageServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ResourceUsageServiceImpl.java @@ -81,7 +81,7 @@ public List getCpuUsageData() { @Override public List getMemUsageData() { - String mimonitor = alarmExprService.getContainerMemReourceAlarmExpr(null, "mimonitor", "<", + String mimonitor = alarmExprService.getContainerMemResourceAlarmExpr(null, "mimonitor", "<", Integer.valueOf(resourceAlarm), false, null); Result pageDataResult = prometheusService.queryByMetric(mimonitor); PageData data = pageDataResult.getData(); diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamData.java index c40b2f235..7f431420d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamData.java @@ -32,7 +32,7 @@ public class AlertTeamData implements Serializable { String manager;//duty manager String[] members; String chat_id;//feishu group ID - String cretaed_by; + String created_by; Long created_time; Integer goc_oncall_id;//migoc oncall id diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetailQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetailQuery.java index 4df815fc9..3d9608b78 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetailQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetailQuery.java @@ -58,7 +58,7 @@ public class MetricDetailQuery implements Serializable { private String errorType;// error/timeout private String serverIp; - //dubbo label (metheodName与http的uri共用,当type为http当时候,methodName代表uri) + //dubbo label (methodName与http的uri共用,当type为http当时候,methodName代表uri) private String methodName; private String serviceName; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricKind.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricKind.java index 02917280a..79a3075d5 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricKind.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricKind.java @@ -77,9 +77,9 @@ public enum MetricType{ http_slow("httpSlow","http慢查询","http"), http_client_exception("httpClientException","httpClient异常","http"), http_client_slow_query("httpClientSlow","httpClient慢查询","http"), - dubbo_consumer_exception("dubboConsumerExcption","dubboConsumer异常","dubbo"), - dubbo_provider_exception("dubboProviderExcption","dubboProvider异常","dubbo"), - dubbo_provider_sla_exception("dubboProviderSLAExcption","dubboProviderSLA异常","dubbo"), + dubbo_consumer_exception("dubboConsumerException","dubboConsumer异常","dubbo"), + dubbo_provider_exception("dubboProviderException","dubboProvider异常","dubbo"), + dubbo_provider_sla_exception("dubboProviderSLAException","dubboProviderSLA异常","dubbo"), dubbo_consumer_slow_query("dubboConsumerSlow","dubboConsumer慢查询","dubbo"), dubbo_provider_slow_query("dubboProviderSlow","dubboProvider慢查询","dubbo"), db_exception("dbException","db异常","db"), diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java index 8fbae6883..2eacdc832 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java @@ -642,7 +642,7 @@ public Result queryRuels(Integer iamId, String user, String alert, Str params.addProperty("expr",expr); } - return alertServiceAdapt.queryRuels(params,String.valueOf(iamId),user); + return alertServiceAdapt.queryRules(params,String.valueOf(iamId),user); } /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/nodeMonitor.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/nodeMonitor.ftl index 9860a5ff2..ef137a643 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/nodeMonitor.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/nodeMonitor.ftl @@ -776,7 +776,7 @@ { "aliasColors": { "localhost:9100_总内存": "dark-red", -"内存_Avaliable": "#6ED0E0", +"内存_Available": "#6ED0E0", "内存_Cached": "#EF843C", "内存_Free": "#629E51", "内存_Total": "#6d1f62", diff --git a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java index 93f1e4ee4..828a0446b 100644 --- a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java +++ b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java @@ -260,7 +260,7 @@ public class ESIndexConst { " \"val\\r\\nue\": {\n" + " \"type\": \"keyword\"\n" + " },\n" + - " \"v\\r\\nalue\": {\n" + + " \"v\\r\\nvalue\": {\n" + " \"type\": \"keyword\"\n" + " },\n" + " \"tagType\": {\n" + diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java index 17017ea39..97163b5cd 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java @@ -38,7 +38,7 @@ import org.apache.ozhera.operator.common.K8sUtilBean; import org.apache.ozhera.operator.common.ResourceTypeEnum; import org.apache.ozhera.operator.service.ESService; -import org.apache.ozhera.operator.service.RocketMQSerivce; +import org.apache.ozhera.operator.service.RocketMQService; import org.mariadb.jdbc.Driver; @@ -80,7 +80,7 @@ public class HeraResourceEventHandler implements ResourceEventHandler getK8sNodeIp(String type) { // get Node list NodeList nodeList = client.nodes().list(); for (Node node : nodeList.getItems()) { - // fetch Node adress list + // fetch Node address list for (NodeAddress address : node.getStatus().getAddresses()) { res.add(address.getAddress()); } diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/Bootstrap.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/Bootstrap.java index 8b8d6e327..ba783175b 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/Bootstrap.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/Bootstrap.java @@ -184,7 +184,7 @@ private static String getCertificate(String csrName, String csrBase64) { } return certificate; } catch (Throwable t) { - throw new RuntimeException("laod yaml error : ", t); + throw new RuntimeException("load yaml error : ", t); } } diff --git a/trace-etl/docs/extension/extension_cn.md b/trace-etl/docs/extension/extension_cn.md index 7c1816c14..b1a8679eb 100644 --- a/trace-etl/docs/extension/extension_cn.md +++ b/trace-etl/docs/extension/extension_cn.md @@ -10,7 +10,7 @@ ## 1、新建module -需要在`trace-etl-extension`下新建modulr,命名格式是以`trace-etl-${自定义}-extension`格式。例如,RocketMQ的扩展,就命名为:`trace-etl-rocketmq-extension`。 +需要在`trace-etl-extension`下新建module,命名格式是以`trace-etl-${自定义}-extension`格式。例如,RocketMQ的扩展,就命名为:`trace-etl-rocketmq-extension`。 ## 2、实现接口 diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DataSourceConfig.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DataSourceConfig.java index 0d2e515cf..68e4ce8f2 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DataSourceConfig.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DataSourceConfig.java @@ -70,12 +70,12 @@ public DataSource masterDataSource() throws PropertyVetoException, NamingExcepti dataSource.setMaxPoolSize(defaultMaxPoolSize); dataSource.setMinPoolSize(defaultMinPoolSize); - setDatasouce(dataSource); + setDatasource(dataSource); return dataSource; } - private void setDatasouce(ComboPooledDataSource dataSource) { + private void setDatasource(ComboPooledDataSource dataSource) { dataSource.setTestConnectionOnCheckin(true); dataSource.setTestConnectionOnCheckout(false); dataSource.setPreferredTestQuery("select 1"); diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java index b8918505e..b63f9b876 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java @@ -54,7 +54,7 @@ public void init() { try { List all = managerService.getAll(new HeraTraceConfigVo()); for (HeraTraceEtlConfig config : all) { - heraTraceConfig.put(getServiceName(config), defalueConfig(config)); + heraTraceConfig.put(getServiceName(config), defaultConfig(config)); } }catch(Throwable t){ log.error("schedule trace config error : ",t); @@ -68,12 +68,12 @@ public HeraTraceEtlConfig getConfig(String serviceName) { public void insert(HeraTraceEtlConfig config) { log.info("trace insert config : "+config); - heraTraceConfig.putIfAbsent(getServiceName(config), defalueConfig(config)); + heraTraceConfig.putIfAbsent(getServiceName(config), defaultConfig(config)); } public void update(HeraTraceEtlConfig config) { log.info("trace update config : "+config); - heraTraceConfig.put(getServiceName(config), defalueConfig(config)); + heraTraceConfig.put(getServiceName(config), defaultConfig(config)); } public void delete(HeraTraceEtlConfig config) { @@ -87,7 +87,7 @@ private String getServiceName(HeraTraceEtlConfig config) { return sb.toString(); } - private HeraTraceEtlConfig defalueConfig(HeraTraceEtlConfig config){ + private HeraTraceEtlConfig defaultConfig(HeraTraceEtlConfig config){ if(config == null){ return null; } diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/ConsumerService.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/ConsumerService.java index 30cca1c50..a23b0c48b 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/ConsumerService.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/ConsumerService.java @@ -312,7 +312,7 @@ private void initSecondRocksTask() { String secondKey = snowFlake.recoverLastTimestamp(TeSnowFlake.SECOND_TIMESTAMP_REDIS_PREFIX); final String secondLastRocksKey = secondKey == null ? System.currentTimeMillis() + "_" + LocalStorages.secondRocksKeySuffix.get() : secondKey; - // The local message thread is read for the sencond time + // The local message thread is read for the second time ExecutorUtil.submitRocksDBRead(() -> { try { secondRocksdbStoreService.delayTake(secondLastRocksKey, secondGap, new Consumer() { diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java index 6cb9866e8..03ba1f83c 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java @@ -60,8 +60,8 @@ public void init() { // Get machine number from environment variables. String podName = System.getenv("MONE_CONTAINER_S_POD_NAME"); if (StringUtils.isEmpty(podName)) { - log.error("this pod con't get podName!"); - throw new RuntimeException("this pod con't get podName!"); + log.error("this pod can't get podName!"); + throw new RuntimeException("this pod can't get podName!"); } mId = podName.substring(podName.lastIndexOf("-") + 1); } diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java index 32d954e85..ec38d5e7d 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java @@ -167,7 +167,7 @@ public Map buildSpanData(TSpanData tSpanData) { // build logs spanData.put(HeraTraceSpanColumn.logs, GSON.toJson(buildLogs(tSpanData.getEvents()))); // build process - spanData.put(HeraTraceSpanColumn.process, GSON.toJson(buildProcess(tSpanData.getExtra().getServiceName(), tSpanData.getResouce()))); + spanData.put(HeraTraceSpanColumn.process, GSON.toJson(buildProcess(tSpanData.getExtra().getServiceName(), tSpanData.getResource()))); return spanData; } diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java index 5deeaa68b..7e2dc1112 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java @@ -127,7 +127,7 @@ public String buildJaegerES(TSpanData tSpanData) { // build logs jaegerESDomain.setLogs(buildLogs(tSpanData.getEvents())); // build process - jaegerESDomain.setProcess(buildProcess(tSpanData.getExtra().getServiceName(), tSpanData.getResouce())); + jaegerESDomain.setProcess(buildProcess(tSpanData.getExtra().getServiceName(), tSpanData.getResource())); return JSONObject.toJSONString(jaegerESDomain, SerializerFeature.WriteMapNullValue); } diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DataSourceConfig.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DataSourceConfig.java index b92ec154e..752e4d774 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DataSourceConfig.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DataSourceConfig.java @@ -72,12 +72,12 @@ public DataSource masterDataSource() throws PropertyVetoException, NamingExcepti dataSource.setMaxPoolSize(defaultMaxPoolSize); dataSource.setMinPoolSize(defaultMinPoolSize); - setDatasouce(dataSource); + setDatasource(dataSource); return dataSource; } - private void setDatasouce(ComboPooledDataSource dataSource) { + private void setDatasource(ComboPooledDataSource dataSource) { dataSource.setTestConnectionOnCheckin(true); dataSource.setTestConnectionOnCheckout(false); dataSource.setPreferredTestQuery("select 1"); diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java index 2e2ae2131..26430487c 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java @@ -58,7 +58,7 @@ private void printHeaders(HttpServletRequest request) { String uri = request.getRequestURI(); Enumeration headerNames = request.getHeaderNames(); if (headerNames == null || !headerNames.hasMoreElements()) { - log.info(uri + " : rquest header is null"); + log.info(uri + " : request header is null"); } else { log.info(uri + " : request header start ==================="); while (headerNames.hasMoreElements()) { diff --git a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DataSourceConfig.java b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DataSourceConfig.java index 2ce3b6e29..907dba9e8 100644 --- a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DataSourceConfig.java +++ b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DataSourceConfig.java @@ -74,12 +74,12 @@ public DataSource masterDataSource() throws PropertyVetoException, NamingExcepti dataSource.setMaxPoolSize(defaultMaxPoolSize); dataSource.setMinPoolSize(defaultMinPoolSize); - setDatasouce(dataSource); + setDatasource(dataSource); return dataSource; } - private void setDatasouce(ComboPooledDataSource dataSource) { + private void setDatasource(ComboPooledDataSource dataSource) { dataSource.setTestConnectionOnCheckin(true); dataSource.setTestConnectionOnCheckout(false); dataSource.setPreferredTestQuery("select 1"); diff --git a/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java b/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java index 654576222..6a2ea578d 100644 --- a/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java +++ b/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java @@ -101,15 +101,15 @@ public byte[] toTSpanDateBytes(String message) { private List> completeTags(NginxJaegerDomain parse) { List> result = new ArrayList<>(); - result.add(genarateTags("http.remote.address", parse.getRemoteAddr(), JaegerAttrType.STRING)); - result.add(genarateTags("http.request", parse.getRequest(), JaegerAttrType.STRING)); - result.add(genarateTags("http.status_code", parse.getStatus() + "", JaegerAttrType.LONG)); - result.add(genarateTags("error", 400 <= parse.getStatus() && parse.getStatus() < 600 ? "true" : "false", JaegerAttrType.BOOLEAN)); - result.add(genarateTags("http.referer", parse.getRefer(), JaegerAttrType.STRING)); - result.add(genarateTags("http.user_agent", parse.getUa(), JaegerAttrType.STRING)); - result.add(genarateTags("http.x-forwarded-for", parse.getxForwardedFor(), JaegerAttrType.STRING)); - result.add(genarateTags("http.upstream.address", parse.getUpstreamAddr(), JaegerAttrType.STRING)); - result.add(genarateTags("http.upstream.status", parse.getUpstreamStatus(), JaegerAttrType.STRING)); + result.add(generateTags("http.remote.address", parse.getRemoteAddr(), JaegerAttrType.STRING)); + result.add(generateTags("http.request", parse.getRequest(), JaegerAttrType.STRING)); + result.add(generateTags("http.status_code", parse.getStatus() + "", JaegerAttrType.LONG)); + result.add(generateTags("error", 400 <= parse.getStatus() && parse.getStatus() < 600 ? "true" : "false", JaegerAttrType.BOOLEAN)); + result.add(generateTags("http.referer", parse.getRefer(), JaegerAttrType.STRING)); + result.add(generateTags("http.user_agent", parse.getUa(), JaegerAttrType.STRING)); + result.add(generateTags("http.x-forwarded-for", parse.getxForwardedFor(), JaegerAttrType.STRING)); + result.add(generateTags("http.upstream.address", parse.getUpstreamAddr(), JaegerAttrType.STRING)); + result.add(generateTags("http.upstream.status", parse.getUpstreamStatus(), JaegerAttrType.STRING)); return result; } @@ -189,16 +189,16 @@ private Map complateProcess(NginxJaegerDomain parse) { result.put("serviceName", "nginx-" + parse.getHost()); List> processTags = new ArrayList<>(); if(StringUtils.isNotEmpty(parse.getNginxHostName())) { - processTags.add(genarateTags("host", parse.getNginxHostName(), JaegerAttrType.STRING)); + processTags.add(generateTags("host", parse.getNginxHostName(), JaegerAttrType.STRING)); } if(StringUtils.isNotEmpty(parse.getNginxIp())) { - processTags.add(genarateTags("ip", parse.getNginxIp(), JaegerAttrType.STRING)); + processTags.add(generateTags("ip", parse.getNginxIp(), JaegerAttrType.STRING)); } result.put("tags", processTags); return result; } - private Map genarateTags(String key, Object value, String type) { + private Map generateTags(String key, Object value, String type) { if(value != null) { Map remoteAddr = new HashMap<>(); remoteAddr.put("key", key); diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DataSourceConfig.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DataSourceConfig.java index 1cfb7313a..68322c2e4 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DataSourceConfig.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DataSourceConfig.java @@ -72,12 +72,12 @@ public DataSource masterDataSource() throws PropertyVetoException, NamingExcepti dataSource.setMaxPoolSize(defaultMaxPoolSize); dataSource.setMinPoolSize(defaultMinPoolSize); - setDatasouce(dataSource); + setDatasource(dataSource); return dataSource; } - private void setDatasouce(ComboPooledDataSource dataSource) { + private void setDatasource(ComboPooledDataSource dataSource) { dataSource.setTestConnectionOnCheckin(true); dataSource.setTestConnectionOnCheckout(false); dataSource.setPreferredTestQuery("select 1"); diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java index c0f01ac7e..5b224f73c 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java @@ -278,7 +278,7 @@ public MetricsParseResult metricsParse(TSpanData tSpanData) { } } // Gets the properties in process - TResource resource = tSpanData.getResouce(); + TResource resource = tSpanData.getResource(); if (resource != null) { TAttributes resourceAttributes = resource.getAttributes(); List resourceKeys = resourceAttributes.getKeys(); diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ExecutorUtil.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ExecutorUtil.java index 84ac309a1..67c0d4bea 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ExecutorUtil.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ExecutorUtil.java @@ -34,7 +34,7 @@ public class ExecutorUtil { public static final int ROCKSDB_DEAL_MESSAGE_CORE = 20; private final static ThreadPoolExecutor errorESthreadPoolExecutor; private final static ThreadPoolExecutor consumerDelayMsgthreadPoolExecutor; - private final static ThreadPoolExecutor rocksDBThreaPool; + private final static ThreadPoolExecutor rocksDBThreadPool; static{ @@ -44,7 +44,7 @@ public class ExecutorUtil { consumerDelayMsgthreadPoolExecutor = new ThreadPoolExecutor(ROCKSDB_DEAL_MESSAGE_CORE, ROCKSDB_DEAL_MESSAGE_CORE, 0L, TimeUnit.MILLISECONDS, consumerDelayMsgQueue); - rocksDBThreaPool = new ThreadPoolExecutor(2, 2, + rocksDBThreadPool = new ThreadPoolExecutor(2, 2, 0L, TimeUnit.MILLISECONDS, rocksThreadQueue); } @@ -67,7 +67,7 @@ public static void submitDelayMessage(Runnable runnable){ public static void submitRocksDBRead(Runnable runnable){ try { - rocksDBThreaPool.submit(runnable); + rocksDBThreadPool.submit(runnable); }catch(Exception e){ log.error("提交rocksdb读取任务失败:",e); } diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java index 2f9415452..fd752d63c 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java @@ -106,7 +106,7 @@ private static TSpanData toTSpanData(String[] array) { span.setKind(toTKind(spanKind)); span.setEvents(toTEventList(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.EVENTS])))); span.setTotalRecordedEvents(span.getEventsSize()); - span.setResouce( + span.setResource( toTResource(JSONObject.parseObject(array[MessageUtil.REOUSCES]), specialAttrMap)); span.setExtra(toTExtra(specialAttrMap)); // using links["ref_type=CHILD_OF"] as parent span context and using left as links From 2d7765bfa18ac4e4c71f10cb65e1f731d5155490 Mon Sep 17 00:00:00 2001 From: gaoxh <32359336+gaoxh@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:31:11 +0800 Subject: [PATCH 02/19] fix: corrected the alarm group update loss issue (#495) Co-authored-by: gaoxihui --- .../ozhera/monitor/service/impl/AppAlarmServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppAlarmServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppAlarmServiceImpl.java index 017a18cd3..aa833e1ec 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppAlarmServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppAlarmServiceImpl.java @@ -711,7 +711,8 @@ public Result editRulesByStrategy(AlarmRuleRequest param) { ruleData.setAlertMembers(param.getAlertMembers()); ruleData.setAtMembers(param.getAtMembers()); - + ruleData.setAlertTeam(param.getAlertTeam()); + Result result = editAlarmRule(ruleData, alarmStrategy, appMonitor, param.getUser()); if (!result.isSuccess()) { failResult.orElse(result); From 9f0d12fcbf8e82c7f1b0fe06c481f26452f8fee7 Mon Sep 17 00:00:00 2001 From: wtt <30461027+wtt40122@users.noreply.github.com> Date: Fri, 25 Oct 2024 16:53:46 +0800 Subject: [PATCH 03/19] refactor: log some bug fix and opzimize (#496) * refactor: fix log-stream monitor * refactor: update set resource --- .../channel/WildcardChannelServiceImpl.java | 17 +++++++++++----- .../log/agent/common/trace/TraceUtil.java | 2 +- .../stream/config/MilogConfigListener.java | 20 +++++++++++++++++-- pom.xml | 2 +- .../extension/doris/WriteDorisService.java | 2 +- .../etl/extension/es/WriteEsService.java | 2 +- .../etl/consumer/MetricsParseService.java | 2 +- .../ozhera/trace/etl/util/TraceUtil.java | 2 +- 8 files changed, 36 insertions(+), 13 deletions(-) diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/WildcardChannelServiceImpl.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/WildcardChannelServiceImpl.java index d8c011388..c98292a1e 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/WildcardChannelServiceImpl.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/WildcardChannelServiceImpl.java @@ -15,6 +15,7 @@ */ package org.apache.ozhera.log.agent.channel; +import cn.hutool.system.SystemUtil; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.xiaomi.data.push.common.SafeRun; @@ -25,6 +26,9 @@ import com.xiaomi.mone.file.common.FileInfoCache; import com.xiaomi.mone.file.listener.DefaultMonitorListener; import com.xiaomi.mone.file.ozhera.HeraFileMonitor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.ozhera.log.agent.channel.file.MonitorFile; import org.apache.ozhera.log.agent.channel.memory.AgentMemoryService; import org.apache.ozhera.log.agent.channel.memory.ChannelMemory; @@ -37,9 +41,6 @@ import org.apache.ozhera.log.api.model.meta.FilterConf; import org.apache.ozhera.log.api.model.msg.LineMessage; import org.apache.ozhera.log.common.PathUtils; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import java.io.File; import java.io.IOException; @@ -102,6 +103,8 @@ public class WildcardChannelServiceImpl extends AbstractChannelService { private DefaultMonitorListener defaultMonitorListener; + private HeraFileMonitor fileMonitor; + public WildcardChannelServiceImpl(MsgExporter msgExporter, AgentMemoryService memoryService, ChannelDefine channelDefine, FilterChain chain, String memoryBasePath) { @@ -143,7 +146,7 @@ private void startCollectFile(Long channelId, Input input, String ip) { String restartFile = buildRestartFilePath(); FileInfoCache.ins().load(restartFile); - HeraFileMonitor monitor = createFileMonitor(input.getPatternCode(), ip); + fileMonitor = createFileMonitor(input.getPatternCode(), ip); String fileExpression = buildFileExpression(input.getLogPattern()); @@ -157,7 +160,7 @@ private void startCollectFile(Long channelId, Input input, String ip) { // Compile the file expression pattern Pattern pattern = Pattern.compile(fileExpression); for (String monitorPath : monitorPaths) { - fileCollFutures.add(ExecutorUtil.submit(() -> monitorFileChanges(monitor, monitorPath, pattern))); + fileCollFutures.add(ExecutorUtil.submit(() -> monitorFileChanges(fileMonitor, monitorPath, pattern))); } } catch (Exception e) { log.error("startCollectFile error, channelId: {}, input: {}, ip: {}", channelId, GSON.toJson(input), ip, e); @@ -223,6 +226,9 @@ private void monitorFileChanges(HeraFileMonitor monitor, String monitorPath, Pat try { log.info("monitorFileChanges,directory:{}", monitorPath); monitor.reg(monitorPath, filePath -> { + if (SystemUtil.getOsInfo().isWindows()) { + return true; + } boolean matches = pattern.matcher(filePath).matches(); log.debug("file: {}, matches: {}", filePath, matches); return matches; @@ -441,6 +447,7 @@ public void deleteCollFile(String directory) { @Override public void close() { + fileMonitor.stop(); log.info("Delete the current collection task,channelId:{}", channelDefine.getChannelId()); //2. stop exporting this.msgExporter.close(); diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java index d494d9482..5baf1bfbc 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java @@ -123,7 +123,7 @@ private static TSpanData toTSpanData(String[] array) { span.setKind(toTKind(spanKind)); span.setEvents(toTEventList(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.EVENTS])))); span.setTotalRecordedEvents(span.getEventsSize()); - span.setResource( + span.setResouce( toTResource(JSONObject.parseObject(array[MessageUtil.REOUSCES]), specialAttrMap)); span.setExtra(toTExtra(specialAttrMap)); // using links["ref_type=CHILD_OF"] as parent span context and using left as links diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/MilogConfigListener.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/MilogConfigListener.java index 7190b74b3..345fcda30 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/MilogConfigListener.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/MilogConfigListener.java @@ -239,6 +239,7 @@ private void stopOldJobForTail(LogtailConfig logTailConfig, SinkConfig sinkConfi * @param newMilogSpaceData */ private void initNewJob(MilogSpaceData newMilogSpaceData) { + stopOldJobsIfNeeded(); log.info("Start all tasks to restart the current space,spaceData:{}", gson.toJson(newMilogSpaceData)); Map newLogTailConfigMap = new HashMap<>(); Map newSinkConfigMap = new HashMap<>(); @@ -262,9 +263,24 @@ private void initNewJob(MilogSpaceData newMilogSpaceData) { oldSinkConfigMap = newSinkConfigMap; } + private void stopOldJobsIfNeeded() { + if (!oldLogTailConfigMap.isEmpty()) { + for (LogtailConfig value : oldLogTailConfigMap.values()) { + jobManager.stopJob(value); + } + oldLogTailConfigMap.clear(); + } + if (!oldSinkConfigMap.isEmpty()) { + for (SinkConfig value : oldSinkConfigMap.values()) { + stopOldJobsForStore(value.getLogstoreId()); + } + oldSinkConfigMap.clear(); + } + } + private void startTailPer(SinkConfig sinkConfig, LogtailConfig logTailConfig, Long logSpaceId) { - if (null == logSpaceId) { - log.warn("startTailPer error,logSpaceId is null,LogTailConfig:{}", gson.toJson(logTailConfig)); + if (null == logSpaceId || null == logTailConfig || null == logTailConfig.getLogtailId()) { + log.error("logSpaceId or logTailConfig or logTailId is null,sinkConfig:{},logTailConfig:{},logSpaceId:{}", gson.toJson(sinkConfig), gson.toJson(logTailConfig), spaceId); return; } Boolean isStart = streamCommonExtension.preCheckTaskExecution(sinkConfig, logTailConfig, logSpaceId); diff --git a/pom.xml b/pom.xml index b96a47121..f3205e6c5 100644 --- a/pom.xml +++ b/pom.xml @@ -634,7 +634,7 @@ run.mone file - 1.5.1-jdk21 + 1.6.0-jdk21 run.mone diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java index ec38d5e7d..32d954e85 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java @@ -167,7 +167,7 @@ public Map buildSpanData(TSpanData tSpanData) { // build logs spanData.put(HeraTraceSpanColumn.logs, GSON.toJson(buildLogs(tSpanData.getEvents()))); // build process - spanData.put(HeraTraceSpanColumn.process, GSON.toJson(buildProcess(tSpanData.getExtra().getServiceName(), tSpanData.getResource()))); + spanData.put(HeraTraceSpanColumn.process, GSON.toJson(buildProcess(tSpanData.getExtra().getServiceName(), tSpanData.getResouce()))); return spanData; } diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java index 7e2dc1112..5deeaa68b 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java @@ -127,7 +127,7 @@ public String buildJaegerES(TSpanData tSpanData) { // build logs jaegerESDomain.setLogs(buildLogs(tSpanData.getEvents())); // build process - jaegerESDomain.setProcess(buildProcess(tSpanData.getExtra().getServiceName(), tSpanData.getResource())); + jaegerESDomain.setProcess(buildProcess(tSpanData.getExtra().getServiceName(), tSpanData.getResouce())); return JSONObject.toJSONString(jaegerESDomain, SerializerFeature.WriteMapNullValue); } diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java index 5b224f73c..c0f01ac7e 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java @@ -278,7 +278,7 @@ public MetricsParseResult metricsParse(TSpanData tSpanData) { } } // Gets the properties in process - TResource resource = tSpanData.getResource(); + TResource resource = tSpanData.getResouce(); if (resource != null) { TAttributes resourceAttributes = resource.getAttributes(); List resourceKeys = resourceAttributes.getKeys(); diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java index fd752d63c..2f9415452 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java @@ -106,7 +106,7 @@ private static TSpanData toTSpanData(String[] array) { span.setKind(toTKind(spanKind)); span.setEvents(toTEventList(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.EVENTS])))); span.setTotalRecordedEvents(span.getEventsSize()); - span.setResource( + span.setResouce( toTResource(JSONObject.parseObject(array[MessageUtil.REOUSCES]), specialAttrMap)); span.setExtra(toTExtra(specialAttrMap)); // using links["ref_type=CHILD_OF"] as parent span context and using left as links From b69a3c3e4acc96ebd1607e183eb8c4bf8739f057 Mon Sep 17 00:00:00 2001 From: gaoxh <32359336+gaoxh@users.noreply.github.com> Date: Fri, 25 Oct 2024 17:03:24 +0800 Subject: [PATCH 04/19] fix: fix dependency errors (#497) --- ozhera-monitor/ozhera-monitor-server/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ozhera-monitor/ozhera-monitor-server/pom.xml b/ozhera-monitor/ozhera-monitor-server/pom.xml index 1b0d6e2ed..56b0d1347 100644 --- a/ozhera-monitor/ozhera-monitor-server/pom.xml +++ b/ozhera-monitor/ozhera-monitor-server/pom.xml @@ -25,7 +25,7 @@ org.apache.ozhera - ozhera-monitor-service + ozhera-monitor-common From d5f3de182a624bd2756df562d82aa6cacfebf5fc Mon Sep 17 00:00:00 2001 From: wtt <30461027+wtt40122@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:55:07 +0800 Subject: [PATCH 05/19] fix: optimized configuration processing logic (#500) --- .../log/stream/config/ConfigManager.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java index 305879bda..8dce18c90 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java @@ -17,12 +17,6 @@ import com.alibaba.nacos.api.config.listener.Listener; import com.google.gson.Gson; -import org.apache.ozhera.log.common.Config; -import org.apache.ozhera.log.model.MiLogStreamConfig; -import org.apache.ozhera.log.model.MilogSpaceData; -import org.apache.ozhera.log.stream.common.util.StreamUtils; -import org.apache.ozhera.log.stream.exception.StreamException; -import org.apache.ozhera.log.stream.job.extension.StreamCommonExtension; import com.xiaomi.youpin.docean.Ioc; import com.xiaomi.youpin.docean.anno.Service; import com.xiaomi.youpin.docean.common.StringUtils; @@ -31,6 +25,12 @@ import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; +import org.apache.ozhera.log.common.Config; +import org.apache.ozhera.log.model.MiLogStreamConfig; +import org.apache.ozhera.log.model.MilogSpaceData; +import org.apache.ozhera.log.stream.common.util.StreamUtils; +import org.apache.ozhera.log.stream.exception.StreamException; +import org.apache.ozhera.log.stream.job.extension.StreamCommonExtension; import javax.annotation.Resource; import java.util.ArrayList; @@ -168,12 +168,15 @@ private void processConfigForUniqueMark(String uniqueMark, Map dataIdMap = extensionInstance.getConfigMapByUniqueMark(config, uniqueMark); - try { - spaceLock.tryLock(); - stopUnusefulListenerAndJob(dataIdMap); - startNewListenerAndJob(dataIdMap); - } finally { - spaceLock.unlock(); + if (spaceLock.tryLock()) { + try { + stopUnusefulListenerAndJob(dataIdMap); + startNewListenerAndJob(dataIdMap); + } finally { + spaceLock.unlock(); + } + } else { + log.warn("Failed to acquire lock, skipping processing for dataIdMap: {}", dataIdMap); } } From db3dd41e6ba8382ec3616e47e8626ccac87298be Mon Sep 17 00:00:00 2001 From: psxjoy Date: Tue, 12 Nov 2024 16:17:06 +0800 Subject: [PATCH 06/19] refactor: add contribution file and copyright info (#498) * refactor: add contribution file and copyright info * refactor: add contribution file and copyright info * refactor: redirect readme.md contributing's info * refactor: redirect readme.md contributing's info * refactor: redirect readme.md contributing's info * refactor: add contribution file and copyright info * refactor: add OIP.md which report major proposal on the Apache OzHera(Incubating) project * refactor: rename project to satisfy ASF copyright * refactor: rename project to satisfy ASF copyright * refactor: remove useless file --- .github/ISSUE_TEMPLATE/BUG_REPORT.md | 43 ++++++ .github/ISSUE_TEMPLATE/FEATURE_REQUEST.md | 17 +++ .github/ISSUE_TEMPLATE/OIP.md | 47 ++++++ .github/PULL_REQUEST_TEMPLATE.md | 17 +++ CONTRIBUTING.md | 102 +++++++++++++ CONTRIBUTING_CN.md | 102 +++++++++++++ README.md | 4 +- README_CN.md | 6 +- ozhera-app/README.md | 2 +- ozhera-app/README_cn.md | 2 +- ozhera-demo-client/README.md | 2 +- ozhera-demo-client/README_cn.md | 2 +- ozhera-demo-server/README.md | 3 +- ozhera-demo-server/README_cn.md | 3 +- ozhera-intelligence/README.md | 2 +- ozhera-intelligence/README_cn.md | 2 +- ozhera-monitor/README.md | 2 +- ozhera-monitor/README_cn.md | 2 +- ozhera-operator/README.md | 2 +- ozhera-operator/README_CN.md | 2 +- .../application-integration-document.md | 4 +- .../application-integration-document_cn.md | 4 +- readme/contributing/contributing.md | 97 ------------ readme/contributing/contributing_cn.md | 110 ------------- readme/contributing/images/1-1.PNG | Bin 90840 -> 0 bytes readme/contributing/images/1-2-1.PNG | Bin 49602 -> 0 bytes readme/contributing/images/1-2.PNG | Bin 80762 -> 0 bytes readme/contributing/images/1-3.PNG | Bin 77019 -> 0 bytes readme/contributing/images/1-4.PNG | Bin 64474 -> 0 bytes readme/contributing/images/1-5.PNG | Bin 51911 -> 0 bytes readme/contributing/images/1-6.PNG | Bin 16065 -> 0 bytes readme/contributing/images/2-1.PNG | Bin 107592 -> 0 bytes readme/contributing/images/2-2.PNG | Bin 94424 -> 0 bytes readme/contributing/images/2-3.PNG | Bin 97205 -> 0 bytes readme/contributing/images/2-4.PNG | Bin 42137 -> 0 bytes readme/contributing/images/2-5-1.PNG | Bin 107013 -> 0 bytes readme/contributing/images/2-5.PNG | Bin 75305 -> 0 bytes readme/contributing/images/2-6.PNG | Bin 101318 -> 0 bytes readme/contributing/images/2-7-1.PNG | Bin 161687 -> 0 bytes readme/contributing/images/2-7.PNG | Bin 145088 -> 0 bytes readme/contributing/images/3-1-1.PNG | Bin 592480 -> 0 bytes readme/contributing/images/3-1-2.PNG | Bin 96289 -> 0 bytes readme/contributing/images/3-2-1.PNG | Bin 243137 -> 0 bytes readme/contributing/images/3-2-2.PNG | Bin 268864 -> 0 bytes readme/contributing/images/3-2-3.PNG | Bin 154744 -> 0 bytes readme/custom-tracking/custom-tracking.md | 4 +- readme/custom-tracking/custom-tracking_cn.md | 4 +- readme/deploy/ozhera-deploy-document.md | 6 +- readme/deploy/ozhera-deploy-document_cn.md | 8 +- readme/optimization/metrics-optimization.md | 2 +- .../optimization/metrics-optimization_cn.md | 2 +- readme/user-manual/user-manual-document.md | 2 +- readme/user-manual/user-manual-document_cn.md | 2 +- style/copyright | 14 ++ style/ozhera_checkStyle.xml | 133 ++++++++++++++++ style/ozhera_codeStyle.xml | 144 ++++++++++++++++++ 56 files changed, 657 insertions(+), 243 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/BUG_REPORT.md create mode 100644 .github/ISSUE_TEMPLATE/FEATURE_REQUEST.md create mode 100644 .github/ISSUE_TEMPLATE/OIP.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 CONTRIBUTING.md create mode 100644 CONTRIBUTING_CN.md delete mode 100644 readme/contributing/contributing.md delete mode 100644 readme/contributing/contributing_cn.md delete mode 100644 readme/contributing/images/1-1.PNG delete mode 100644 readme/contributing/images/1-2-1.PNG delete mode 100644 readme/contributing/images/1-2.PNG delete mode 100644 readme/contributing/images/1-3.PNG delete mode 100644 readme/contributing/images/1-4.PNG delete mode 100644 readme/contributing/images/1-5.PNG delete mode 100644 readme/contributing/images/1-6.PNG delete mode 100644 readme/contributing/images/2-1.PNG delete mode 100644 readme/contributing/images/2-2.PNG delete mode 100644 readme/contributing/images/2-3.PNG delete mode 100644 readme/contributing/images/2-4.PNG delete mode 100644 readme/contributing/images/2-5-1.PNG delete mode 100644 readme/contributing/images/2-5.PNG delete mode 100644 readme/contributing/images/2-6.PNG delete mode 100644 readme/contributing/images/2-7-1.PNG delete mode 100644 readme/contributing/images/2-7.PNG delete mode 100644 readme/contributing/images/3-1-1.PNG delete mode 100644 readme/contributing/images/3-1-2.PNG delete mode 100644 readme/contributing/images/3-2-1.PNG delete mode 100644 readme/contributing/images/3-2-2.PNG delete mode 100644 readme/contributing/images/3-2-3.PNG create mode 100644 style/copyright create mode 100644 style/ozhera_checkStyle.xml create mode 100644 style/ozhera_codeStyle.xml diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.md b/.github/ISSUE_TEMPLATE/BUG_REPORT.md new file mode 100644 index 000000000..799a48c32 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.md @@ -0,0 +1,43 @@ +---` + +name: Bug Report + +about: If you would like to report an issue to Apache OzHera(Incubating), please use this template. +` +--- + +### Ⅰ. Issue Description + + +### Ⅱ. Describe what happened + +If there is an exception, please attach the exception trace: + +``` +Just paste your stack trace here +``` + + +### Ⅲ. Describe what you expected to happen + + +### Ⅳ. How to reproduce it (as minimally and precisely as possible) + +1. xxx +2. xxx +3. xxx + +Minimal yet complete reproducer code (or URL to code): + + + +### Ⅴ. Anything else we need to know? + + +### Ⅵ. Environment: + +- JDK version (e.g. `java -version`): +- Apache OzHera(Incubating) version: +- Kubernetes version: +- OS (e.g. `uname -a`): +- Others: \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md new file mode 100644 index 000000000..116748e9d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md @@ -0,0 +1,17 @@ +--- +name: Feature Request + +about: Suggest an idea for Apache OzHera(Incubating) + +--- + +## Why you need it? + Is your feature request related to a problem? Please describe in details + + +## How it could be? +A clear and concise description of what you want to happen. You can explain more about input of the feature, and output of it. + + +## Other related information +Add any other context or screenshots about the feature request here. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/OIP.md b/.github/ISSUE_TEMPLATE/OIP.md new file mode 100644 index 000000000..10dbb40e3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/OIP.md @@ -0,0 +1,47 @@ +--- + +name: Major Project Proposal + +about: Use this template to report major proposal on the Apache OzHera(Incubating) project. + +--- + +### Ⅰ. Proposal Summary + +Provide a brief overview of the significant proposal or change in the project. + +### Ⅱ. Details of the Proposal + +Explain the proposal in detail. Include any relevant context or background information: + +- What changed? +- Why was this update necessary? + +### Ⅲ. Expected Impact + +Describe the expected impact of this proposal, including but not limited to: + +- Performance improvements +- API changes or additions +- New features or functionalities +- Changes to project dependencies + +### Ⅳ. Implementation Details + +Provide specific details on how the update was implemented: + +1. Key steps or phases +2. Codebase changes (include links if possible) +3. Testing procedures or verification methods + +### Ⅴ. Next Steps or Follow-Up Actions + +List any further actions or next steps following this update, such as: + +- Future improvements or adjustments +- Additional testing or validation needs +- Related updates or dependencies to track + +### Ⅵ. Related Documentation + +Attach any related documentation, guides, or links to further information for the community. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..d773ccbc8 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,17 @@ + + +### Ⅰ. Describe what this PR did + + +### Ⅱ. Does this pull request fix one issue? + + + +### Ⅲ. Why don't you add test cases (unit test/integration test)? + + +### Ⅳ. Describe how to verify it + + +### Ⅴ. Special notes for reviews + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..26eb8ac15 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,102 @@ +# Contributing to the Apache OzHera(incubating) Project + +If you’re interested in identifying vulnerabilities or improving the Apache OzHera(incubating) project, we warmly welcome your involvement. Below is a guide to help you get started with contributing. + +[[Chinese Contributing Document](./CONTRIBUTING_CN.md)] + +## Topics + +* [Reporting Security Issues](#reporting-security-issues) +* [Reporting General Issues](#reporting-general-issues) +* [Code and Documentation Contributions](#code-and-documentation-contributions) +* [Test Case Contributions](#test-case-contributions) +* [Participating in Any Way](#participating-in-any-way) +* [Code Style](#code-style) + +## Reporting Security Issues + +Security issues are handled with top priority. Please avoid public discussions of security vulnerabilities. If you discover a security issue in Apache OzHera(incubating), report it confidentially via email to [private@ozhera.apache.org](mailto:private@ozhera.apache.org). + +## Reporting General Issues + +User feedback is crucial to Apache OzHera(incubating)'s growth. After using Apache OzHera(incubating), feel free to share your suggestions or issues by creating a [New Issue](https://github.com/apache/ozhera/issues/new/choose). To improve communication efficiency, we encourage you to search for similar issues before opening a new one. Add your details to an existing issue when relevant rather than creating a duplicate. + +Consider opening a new issue for: + +* Bug Reports +* Feature Requests +* Performance Issues +* Functional Enhancements or Design Suggestions +* Testing Improvements +* Incomplete Documentation +* Other project-related inquiries + +When reporting issues, please ensure to remove sensitive information such as passwords, keys, or private business data. + +## Code and Documentation Contributions + +We welcome all contributions that improve the Apache OzHera(incubating) project. On GitHub, all enhancements can be implemented through Pull Requests (PRs): + +* If you spot typos or mistakes, please correct them! +* If you identify areas for improvement, submit an enhancement! +* If documentation is inaccurate or incomplete, update it! + +> We look forward to your PR. + +Please review Apache OzHera(incubating)'s guidelines on submitting PRs: + +* [Workspace Preparation](#workspace-preparation) +* [Branch Definitions](#branch-definitions) +* [Commit Guidelines](#commit-guidelines) +* [PR Descriptions](#pr-descriptions) + +### Workspace Preparation + +Please fork the project and clone it to your local machine for development. Once you set up the remote repository, you can easily sync your code with upstream branches. + +### Branch Definitions + +The Apache OzHera(incubating) project uses the following branch types: + +* **Development Branch**: For developing all new features and improvements +* **Release Branch**: Created when a version is officially released +* **Hotfix Branch**: Used to address urgent issues in the release version + +### Commit Guidelines + +We emphasize high-quality commits, which includes: + +* Commit Messages: Use clear and specific commit messages, such as `docs: Update installation guide` +* Commit Content: Ensure each commit is complete and reviewable, and that it is linked to your GitHub ID + +### PR Descriptions + +PRs are the main way to make changes to Apache OzHera(incubating). We recommend using the [PR template](./.github/PULL_REQUEST_TEMPLATE.md) to describe your changes. + +## Test Case Contributions + +The Apache OzHera(incubating) project prioritizes functional test case contributions. We recommend using JUnit for unit tests and Mockito for integration tests. + +## Participating in Any Way + +Apache OzHera(incubating) collaborates on GitHub, and we encourage contributions in various ways: + +* Answer others’ questions +* Help review others’ PR designs and code +* Discuss project improvement suggestions +* Write blogs or share experiences about Ozhera + +## Code Style + +The Apache OzHera(incubating) project adheres to the Alibaba Java Coding Guidelines. + +### Guidelines + +[Alibaba Java Coding Guidelines](https://alibaba.github.io/Alibaba-Java-Coding-Guidelines/) + +### Optional IDE Plugin Installation + +* **IDEA**: [p3c-idea-plugin installation](https://github.com/alibaba/p3c/blob/master/idea-plugin/README.md) +* **Eclipse**: [p3c-eclipse-plugin installation](https://github.com/alibaba/p3c/blob/master/eclipse-plugin/README.md) + +In summary, **any help is a contribution**. \ No newline at end of file diff --git a/CONTRIBUTING_CN.md b/CONTRIBUTING_CN.md new file mode 100644 index 000000000..dd5627dc9 --- /dev/null +++ b/CONTRIBUTING_CN.md @@ -0,0 +1,102 @@ +# 为 Apache OzHera(incubating) 做贡献 + +如果您有兴趣寻找关于 Apache OzHera(incubating) 的漏洞,或是希望帮助提升项目质量,我们会非常欢迎您的加入。以下是为您提供的贡献指南列表。 + +[[English Contributing Document](./CONTRIBUTING.md)] + +## 目录 + +* [报告安全问题](#报告安全问题) +* [报告一般问题](#报告一般问题) +* [代码和文档贡献](#代码和文档贡献) +* [测试用例贡献](#测试用例贡献) +* [参与帮助任何事项](#参与帮助任何事项) +* [代码风格](#代码风格) + +## 报告安全问题 + +安全问题是我们最关注的事情。我们建议您不要公开讨论或发布任何关于 Apache OzHera(incubating) 的安全漏洞。如果您发现安全问题,请直接发送电子邮件至 [private@ozhera.apache.org](mailto:private@ozhera.apache.org) 以保密的方式报告。 + +## 报告一般问题 + +用户的反馈是项目进步的重要来源。在使用 Apache OzHera(incubating) 后,您可以通过 [NEW ISSUE](https://github.com/apache/ozhera/issues/new/choose) 提交您的问题或建议。为确保沟通效率,我们建议先搜索是否已存在相关问题,然后在已有问题下添加您的详细信息,而不是创建新问题。 + +当您遇到以下情况,可以新建一个问题: + +* 错误报告 +* 功能请求 +* 性能问题 +* 功能设计或改进建议 +* 测试改进 +* 文档不完整 +* 其他项目相关的问题 + +请注意,提交问题时请删除任何敏感数据,例如密码、密钥、网络地址等。 + +## 代码和文档贡献 + +我们欢迎一切可以让 Apache OzHera(incubating) 项目更好的贡献。在 GitHub 上,所有的改进都可以通过 PR(Pull Request)实现: + +* 如果您发现错别字或错误,请修复它! +* 如果发现功能可以优化,请提交改进! +* 如果文档不准确或不完整,欢迎您进行更新! + +> 我们期待您的任何PR。 + +请注意 Apache OzHera(incubating) 项目对 PR 的要求,并在以下指南下提交: + +* [工作区准备](#工作区准备) +* [分支定义](#分支定义) +* [提交规则](#提交规则) +* [PR说明](#PR说明) + +### 工作区准备 + +请首先 Fork 项目,然后克隆到本地计算机进行开发。设置远程仓库后,您可以轻松地与上游分支同步代码。 + +### 分支定义 + +Apache OzHera(incubating) 项目使用以下几种分支类型: + +* **开发分支**:用于所有新功能和改进的开发 +* **发布分支**:发布版本时创建 +* **热修复分支**:用于修复发布版本中的紧急问题 + +### 提交规则 + +我们非常重视提交的质量,包括: + +* 提交消息:请确保使用明确的提交信息,例如 `docs: update installation guide` +* 提交内容:提交应包含完整且可审查的内容,并与 GitHub ID 相关联 + +### PR说明 + +PR 是更改 Apache OzHera(incubating) 项目文件的主要方式。我们建议使用 [PR 模板](./.github/PULL_REQUEST_TEMPLATE.md) 来描述更改内容。 + +## 测试用例贡献 + +Apache OzHera(incubating) 项目优先接收功能测试用例贡献。推荐使用 JUnit 进行单元测试,并使用 Mockito 进行集成测试。 + +## 参与帮助任何事项 + +Apache OzHera(incubating) 项目通过 GitHub 进行协作,我们鼓励贡献者通过以下方式参与: + +* 回答他人的问题 +* 帮助审查他人的 PR 设计和代码 +* 讨论项目改进建议 +* 撰写关于 Apache OzHera(incubating) 的博客或分享使用经验 + +## 代码风格 + +Apache OzHera(incubating) 项目遵循阿里巴巴 Java 编码指南。 + +### 指南 + +[阿里巴巴 Java 代码指南](https://alibaba.github.io/Alibaba-Java-Coding-Guidelines/) + +### IDE 插件安装(可选) + +* **Idea IDE**:[p3c-idea-plugin 安装](https://github.com/alibaba/p3c/blob/master/idea-plugin/README.md) +* **Eclipse IDE**:[p3c-eclipse-plugin 安装](https://github.com/alibaba/p3c/blob/master/eclipse-plugin/README.md) + +总之,**任何帮助都是贡献**。 \ No newline at end of file diff --git a/README.md b/README.md index e7d20def2..550e7f3b6 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ Welcome to visit the [official website](https://ozhera.apache.org/) of Apache Oz --- ### Contributing -Contributors are welcomed to join ozhera project. Please check [contributing.md](readme%2Fcontributing%2Fcontributing.md) about how to contribute to this project. +Contributors are welcomed to join ozhera project. Please check [contributing.md](CONTRIBUTING.md) about how to contribute to this project. How can I contribute? - Take a look at issues with tags marked [good first issue](https://github.com/apache/ozhera/labels/good%20first%20issue) or [contribution welcome](https://github.com/apache/ozhera/labels/help%20wanted). @@ -79,7 +79,7 @@ We warmly welcome your valuable opinions and suggestions about the project. Whet #### Community Engagement - We also welcome you to join our community for discussions and exchanges: - - Welcome to visit the [community website](https://m.one.mi.com/index) of Apache OzHera(Incubating), where we will publish Apache OzHera(Incubating)'s technical documentation, thoughts, and achievements. We welcome everyone to join the discussion. + - Welcome to visit the [community website](https://ozhera.apache.org) of Apache OzHera(Incubating), where we will publish Apache OzHera(Incubating)'s technical documentation, thoughts, and achievements. We welcome everyone to join the discussion. - [GitHub Discussions](https://github.com/apache/ozhera/issues?q=is%3Aissue+is%3Aopen+%5BDisscusion%5D+) --- diff --git a/README_CN.md b/README_CN.md index 09bf1eec8..c1ce341e2 100644 --- a/README_CN.md +++ b/README_CN.md @@ -11,7 +11,7 @@ ## Apache OzHera(Incubating)是什么? -Apache OzHera(Incubating)是由小米-中国区研发效能团队开源的一款云原生时代的应用观测平台(APM)。以应用为核心,集指标监控、链路追踪、日志、报警于一身,并实现了metrics->tracing->logging的串联和联动,Apache OzHera(Incubating)还提供应用健康状态列表、应用指标看板、接口大盘、应用大盘、网关大盘等内容丰富的监测看板,以及简洁明了的可视化明文报警,让用户准确、高效定位故障。 +Apache OzHera(Incubating)是一款云原生时代的应用观测平台(APM)。以应用为核心,集指标监控、链路追踪、日志、报警于一身,并实现了metrics->tracing->logging的串联和联动,Apache OzHera(Incubating)还提供应用健康状态列表、应用指标看板、接口大盘、应用大盘、网关大盘等内容丰富的监测看板,以及简洁明了的可视化明文报警,让用户准确、高效定位故障。 --- @@ -44,7 +44,7 @@ Apache OzHera(Incubating)是由小米-中国区研发效能团队开源的一款 --- ### 部署 -[operator使用文档.md](readme%2Fdeploy%2Fozhera-deploy-document_cn.md) +[operator使用文档.md](readme/deploy/ozhera-deploy-document_cn.md) --- @@ -59,7 +59,7 @@ Apache OzHera(Incubating)是由小米-中国区研发效能团队开源的一款 --- ### 贡献 -欢迎贡献者加入ozhera项目。请查看 [contributing_cn.md](readme%2Fcontributing%2Fcontributing_cn.md) 以了解如何为该项目做出贡献. +欢迎贡献者加入ozhera项目。请查看 [contributing_cn.md](CONTRIBUTING_CN.md) 以了解如何为该项目做出贡献. 我该如何贡献? - 请查看带有标签 [good first issue](https://github.com/apache/ozhera/labels/good%20first%20issue) 或 [contribution welcome](https://github.com/apache/ozhera/labels/help%20wanted)的问题. diff --git a/ozhera-app/README.md b/ozhera-app/README.md index e935eb87f..aef29b8c1 100644 --- a/ozhera-app/README.md +++ b/ozhera-app/README.md @@ -1,3 +1,3 @@ # ozhera-app -Ozhera-app is a microservice that manages the basic data of monitoring applications and is the data service center of the entire ozhera monitoring system. +ozhera-app is a microservice that manages the basic data of monitoring applications and is the data service center of the entire Apache OzHera(incubating) monitoring system. Provides unified application data for link tracing, logs, and metric monitoring, and manages global configuration information. diff --git a/ozhera-app/README_cn.md b/ozhera-app/README_cn.md index 0c5245d91..8979a96a6 100644 --- a/ozhera-app/README_cn.md +++ b/ozhera-app/README_cn.md @@ -1,3 +1,3 @@ # ozhera-app -ozhera-app 是管理监控应用基础数据的微服务,是整个ozhera监控体系的数据服务中心, +ozhera-app 是管理监控应用基础数据的微服务,是整个Apache OzHera(incubating)监控体系的数据服务中心, 为链路追踪、日志、指标监控提供一致性的统一应用数据,同时管理着全局的配置信息。 diff --git a/ozhera-demo-client/README.md b/ozhera-demo-client/README.md index a98e37bf7..c4859ab31 100644 --- a/ozhera-demo-client/README.md +++ b/ozhera-demo-client/README.md @@ -1,2 +1,2 @@ # introduction -OZHera demo client \ No newline at end of file +OzHera demo client \ No newline at end of file diff --git a/ozhera-demo-client/README_cn.md b/ozhera-demo-client/README_cn.md index 1c43f4a5f..5fb4b97fb 100644 --- a/ozhera-demo-client/README_cn.md +++ b/ozhera-demo-client/README_cn.md @@ -1,2 +1,2 @@ # 概述 -OZHera demo client \ No newline at end of file +OzHera demo client \ No newline at end of file diff --git a/ozhera-demo-server/README.md b/ozhera-demo-server/README.md index 1f8887d94..eb9cc143c 100644 --- a/ozhera-demo-server/README.md +++ b/ozhera-demo-server/README.md @@ -1 +1,2 @@ -# introduce \ No newline at end of file +# introduce +ozhera-demo-server \ No newline at end of file diff --git a/ozhera-demo-server/README_cn.md b/ozhera-demo-server/README_cn.md index 6d30898fc..0b6c5a9fc 100644 --- a/ozhera-demo-server/README_cn.md +++ b/ozhera-demo-server/README_cn.md @@ -1 +1,2 @@ -# 概述 \ No newline at end of file +# 概述 +ozhera-demo-server \ No newline at end of file diff --git a/ozhera-intelligence/README.md b/ozhera-intelligence/README.md index 49fd48180..88fc900a9 100644 --- a/ozhera-intelligence/README.md +++ b/ozhera-intelligence/README.md @@ -1,5 +1,5 @@ # Overview -+ OzHera Intelligence Platform is responsible for generating intelligent-related functionalities. ++ Apache OzHera(incubating) Intelligence Platform is responsible for generating intelligent-related functionalities. + Currently, features are under development. + Planned features to be developed: + Root cause analysis, including trace, alerts, and topology-based intelligent analysis at the application level. diff --git a/ozhera-intelligence/README_cn.md b/ozhera-intelligence/README_cn.md index fe30dfc4f..66c098ed0 100644 --- a/ozhera-intelligence/README_cn.md +++ b/ozhera-intelligence/README_cn.md @@ -1,5 +1,5 @@ # 概述 -+ ozhera智能化平台,负责产生智能化相关功能。 ++ Apache OzHera(incubating)智能化平台,负责产生智能化相关功能。 + 目前功能开发中 + 计划将要开发的功能 + 根因分析。包括Trace、报警、应用层面的基于拓扑图的智能分析。 diff --git a/ozhera-monitor/README.md b/ozhera-monitor/README.md index cb73867f3..aecc3f020 100644 --- a/ozhera-monitor/README.md +++ b/ozhera-monitor/README.md @@ -1,5 +1,5 @@ # Overview -ozhera-monitor is one of the core projects within the ozhera system. It is responsible for managing various crucial functions related to the monitoring system, including the application center, metric monitoring, metric alert configuration, alert group configuration, monitoring dashboard display, and more. +ozhera-monitor is one of the core projects within the Apache OzHera(incubating) system. It is responsible for managing various crucial functions related to the monitoring system, including the application center, metric monitoring, metric alert configuration, alert group configuration, monitoring dashboard display, and more. # Supported Environments JDK: Java 8 diff --git a/ozhera-monitor/README_cn.md b/ozhera-monitor/README_cn.md index 6c9e74de4..1f4de3029 100644 --- a/ozhera-monitor/README_cn.md +++ b/ozhera-monitor/README_cn.md @@ -1,5 +1,5 @@ # 概述 - ozhera-monitor 是ozhera体系主体工程之一,负责管理监控体系的应用中心、指标监控、指标报警配置、 + ozhera-monitor 是Apache OzHera(incubating)体系主体工程之一,负责管理监控体系的应用中心、指标监控、指标报警配置、 报警组配置、监控面板展示等多维度的重要功能。 ## 涉及的环境 diff --git a/ozhera-operator/README.md b/ozhera-operator/README.md index 596dfb03b..f5c3ef830 100644 --- a/ozhera-operator/README.md +++ b/ozhera-operator/README.md @@ -1,5 +1,5 @@ # OzHeraOperator Overview -OzHeraOperator is used to deploy the entire OzHera system with one click. +OzHeraOperator is used to deploy the entire Apache OzHera(incubating) system with one click. # Environment Requirements + k8s cluster diff --git a/ozhera-operator/README_CN.md b/ozhera-operator/README_CN.md index 9b261f301..003ae096b 100644 --- a/ozhera-operator/README_CN.md +++ b/ozhera-operator/README_CN.md @@ -1,5 +1,5 @@ # OzHeraOperator概述 -OzHeraOperator用于一键部署整个OzHera系统。 +OzHeraOperator用于一键部署整个Apache OzHera(incubating)系统。 # 环境要求 + k8s集群 diff --git a/readme/application-integeration/application-integration-document.md b/readme/application-integeration/application-integration-document.md index cd44f7f4f..c12e7d243 100644 --- a/readme/application-integeration/application-integration-document.md +++ b/readme/application-integeration/application-integration-document.md @@ -1,8 +1,8 @@ -# OzHera Integration Documentation +# Apache OzHera(Incubating) Integration Documentation ## I. Dependencies for Application Deployment -Applications integrating with OzHera require probes, JVM parameters, environment variables, and the log-agent service. +Applications integrating with Apache OzHera(incubating) require probes, JVM parameters, environment variables, and the log-agent service. ### 1. Probes diff --git a/readme/application-integeration/application-integration-document_cn.md b/readme/application-integeration/application-integration-document_cn.md index eb2d9f0c1..c42d91e28 100644 --- a/readme/application-integeration/application-integration-document_cn.md +++ b/readme/application-integeration/application-integration-document_cn.md @@ -1,8 +1,8 @@ -# OzHera接入文档 +# Apache OzHera(Incubating)接入文档 ## 一、应用部署的依赖 -接入OzHera的应用,需要依赖探针、jvm参数、环境变量以及log-agent服务 +接入Apache OzHera(Incubating)的应用,需要依赖探针、jvm参数、环境变量以及log-agent服务 ### 1、探针 diff --git a/readme/contributing/contributing.md b/readme/contributing/contributing.md deleted file mode 100644 index 515bc2192..000000000 --- a/readme/contributing/contributing.md +++ /dev/null @@ -1,97 +0,0 @@ -# PR Submission Guidelines - -## 1.Create Issues - -### (1)Navigate to the main Issues page - -![1-1.PNG](images%2F1-1.PNG) - -### (2)Click the green 'New issue' button to start creating - -![1-2.PNG](images%2F1-2.PNG) -access the page as shown below -![1-2-1.PNG](images%2F1-2-1.PNG) - -### (3)Assign to a Reviewers or Assignees(Optional) - -![1-3.PNG](images%2F1-3.PNG) - -### (4)Set Labels (Indicate the Type of Requirement) - -There are a total of 9 major labels, and you can choose multiple, but in most cases, select one. If it's a bug, choose 'bug'. -![1-4.PNG](images%2F1-4.PNG) - -### (5)After selecting the labels, proceed to write the Title - -The title has a specific format requirement and must follow the format [Label] Description. For example, if the label is 'bug,' then the title should be: [bug] Issue with clicking on 'Get Verification Code.' Please note: there should be a space after [ ]. -![1-5.PNG](images%2F1-5.PNG) - -### (6)Write Content - -Expand the title to clarify the issue, which can be in text or image format (you can paste images directly). When multiple requirements are mixed together and multiple checkboxes are needed, it should be written as '(Optional)' - -```Plaintext -- [ ] (Input Box) boolean -``` - -![1-6.PNG](images%2F1-6.PNG) - -## 2.Create pr - -### (1) Forking a project from an open-source repository to your own remote repository. - -![2-1.PNG](images%2F2-1.PNG) - -### (2) Clone the project from your own repository to your local machine. - -![2-2.PNG](images%2F2-2.PNG) - -### (3) Remember to regularly sync remote code to your local repository. - -![2-3.PNG](images%2F2-3.PNG) - - -### (4) Create a new branch locally from the master branch, make code changes, submit them to the remote repository, and then click on 'pull request' to create a PR - -![2-4.PNG](images%2F2-4.PNG) - -### (5) Create a proper PR (Pull Request). - -![2-5.PNG](images%2F2-5.PNG) -In the PR request, you can include '#702' or 'close #702'. This way, when your PR is merged, the issue will also be automatically marked as closed. #702 represents the issue number, which can be found in the URL after creating the issue, such as... -![2-5-1.PNG](images%2F2-5-1.PNG) - -### (6) Specify Reviewers and Assignees, it must be specified. - -![2-6.PNG](images%2F2-6.PNG) - -```Apache -On GitHub, "reviewer" and "assignee" are two different roles that have different roles in Pull Request (PR) and Issue management: Reviewer: A reviewer is a person who is asked to review and evaluate a Pull Request. A reviewer is usually responsible for viewing code changes to a PR, making recommendations, checking the quality and maintainability of the code, and ultimately approving or rejecting the merger of a PR. PR authors or other collaborators can choose to assign one or more reviewers to the PR, so that they review. The role of the reviewer is to ensure the quality, consistency and maintainability of the code, and to help the team ensure that the code meets the standards and requirements of the project. Assignee (Designator): A designee is a person designated as a responsible person for an Issue or PR, who is responsible for tracking and resolving issues or merging PR. Typically, the appointee can be the creator of the Issue or PR, a member of the project team, or someone else as needed. The role of the designee is to ensure that the problem or PR is given appropriate attention and treatment. They may need to coordinate and follow up work to ensure that the problem is resolved or the PR is merged within the appropriate time. In summary, reviewers are mainly related to code review and merging, while assignors are mainly related to the allocation and tracking of tasks and problems. In actual collaboration, these two roles usually work together to ensure that the code and problems of the project are properly handled and resolved. - -``` - -### (7) Find the corresponding individuals above to Approve your changes, and then ask the Reviewer to merge your changes - -![2-7.PNG](images%2F2-7.PNG) -![2-7-1.PNG](images%2F2-7-1.PNG) - -## 3.close Issues - -### (1) Automatically close the Issue. - -When your PR is merged, if the PR's content includes 'close #issueId', the corresponding issue will also be marked as closed -![3-1-1.PNG](images%2F3-1-1.PNG) -![3-1-2.PNG](images%2F3-1-2.PNG) - -### (2) Manually merge the PR and close the Issue. - -![3-2-1.PNG](images%2F3-2-1.PNG) - -```SQL -"Squash and merge" is a useful merge option, especially for projects that want to maintain a clean commit history. It allows you to combine multiple small commits into a more organized single commit, reducing noise and clutter in the branch history. However, please note that the merged commit history will no longer include every individual commit from the original pull request branch, so some detailed information may be lost. -``` - -When merging PRs, it's important to select the "Squash and merge" option. This way, the PR ID will be appended to the commit message on the homepage, allowing you to directly navigate to the PR page using the message. This helps to effectively link what issue the commit addresses and how it was resolved. - -![3-2-2.PNG](images%2F3-2-2.PNG) -![3-2-3.PNG](images%2F3-2-3.PNG) \ No newline at end of file diff --git a/readme/contributing/contributing_cn.md b/readme/contributing/contributing_cn.md deleted file mode 100644 index a7789f1e1..000000000 --- a/readme/contributing/contributing_cn.md +++ /dev/null @@ -1,110 +0,0 @@ -# 提交pr规范 - -## 1.创建 Issues - -### (1)进入 Issues 的主页面 - -![1-1.PNG](images%2F1-1.PNG) - -### (2)点击 New issue 绿色按钮,就可以去创建 - -![1-2.PNG](images%2F1-2.PNG) -进入到如下边的页面 -![1-2-1.PNG](images%2F1-2-1.PNG) - -### (3)给予受托人(就是把这个需求给某个人来解决)(选填) - -![1-3.PNG](images%2F1-3.PNG) - -### (4)设置标签(标明是什么类型的需求) - -一共有9大标签,可以有多个选择,但是一般情况,选一个。如果是bug的选择bug -![1-4.PNG](images%2F1-4.PNG) - -### (5)选完标签,去写Title(标题) - -标题是有格式要求,必须采取 `[标签] 文字描述` 的格式 比如我标签是bug,则我的标题是:[bug] 点击获取验证码的时候有问题 注意:[ ] 后面要有空格 -![1-5.PNG](images%2F1-5.PNG) - -### (6)编写内容 - -将标题进行拓展,把问题说清楚 - -可以是文字,可以是图片(图片复制进来就可以) - -还可以是多个需求混在一起的时候,需要多个多选框,则需要这么写:(可选) - -```Plaintext -- [ ] (输入框) boolean -``` - -![1-6.PNG](images%2F1-6.PNG) - -## 2.创建pr - -### (1) 从开源项目fork项目到自己的远程仓库 - -![2-1.PNG](images%2F2-1.PNG) - -### (2) 在自己的仓库中clone项目到本地. - -![2-2.PNG](images%2F2-2.PNG) - -### (3) 本地基于master分支创建一个新的分支修改代码提交到远程仓库,然后点击pull request去创建pr - -![2-3.PNG](images%2F2-3.PNG) - - -### (4)创建正确的pr - -![2-4.PNG](images%2F2-4.PNG) - -### (5) .创建正确的pr - -![2-5.PNG](images%2F2-5.PNG) -在pr请求的时候的内容里面填写 #702,也可以填 close #702,这样当你的pr被合并后,issue也会被标记为closed状态 - -\#702即为每个issue的编号,当你创建完issue后可以在url中看到,如![2-5-1.PNG](images%2F2-5-1.PNG) - -### (6) 指定Reviewers和Assigner,必须得指定一个. - -![2-6.PNG](images%2F2-6.PNG) - -```Apache -在 GitHub 上,"reviewer"(审阅人)和 "assignee"(指派人)是两个不同的角色,它们在 Pull Request(PR)和 Issue 管理中具有不同的作用: -Reviewer(审阅人): - 审阅人是指被要求审查和评估 Pull Request 的人员。审阅人通常负责查看 PR 的代码更改、提出建议、检查代码的质量和可维护性,并最终批准或拒绝 PR 的合并。 -PR 的作者或其他协作者可以选择将一个或多个审阅人分配给 PR,以便他们进行审查。 -审阅人的作用是确保代码的质量、一致性和可维护性,并帮助团队确保代码符合项目的标准和要求。 -Assignee(指派人): - 指派人是指被指定为 Issue 或 PR 的负责人员,他们负责跟踪和解决问题或合并 PR。 -通常情况下,指派人可以是 Issue 或 PR 的创建者,也可以是项目团队的成员,或者根据需要指定的其他人员。 -指派人的作用是确保问题或 PR 得到适当的关注和处理。他们可能需要协调和跟进工作,确保问题在合适的时间内得到解决或 PR 得到合并。 -总结来说,审阅人主要与代码审查和合并相关,而指派人主要与任务和问题的分配和跟踪相关。在实际协作中,这两个角色通常会共同合作,以确保项目的代码和问题得到适当的处理和解决。 -``` - -### (7) 找到上边对应的人给你Approve,之后让Reviewer给你合并 - -![2-7.PNG](images%2F2-7.PNG) -![2-7-1.PNG](images%2F2-7-1.PNG) - -## 3.关闭Issues - -### (1) 自动关闭Issue - -当你的pr被合并后,如果pr的内容中有close #issueId ,对应的issue也会被标记为closed状态 -![3-1-1.PNG](images%2F3-1-1.PNG) -![3-1-2.PNG](images%2F3-1-2.PNG) - -### (2) 手动合并pr,并关闭Issue. - -![3-2-1.PNG](images%2F3-2-1.PNG) - -```SQL -"Squash and merge" 是一个有用的合并选项,特别适用于那些希望保持干净的提交历史的项目。它可以将多个小的提交合并成一个更有组织的提交,以减少分支历史中的噪音和混乱。但要注意,合并后的提交历史将不再包含原始的拉取请求分支上的每个提交,因此某些详细信息可能会丢失。 -``` - -​ 大家合并pr的时候选择一定要选择 Squash and merge 这个按钮,这样会在首页的commit message后追加 pr Id,可以根据message直接跳转到 pr界面,对于提交的这次commit解决了什么问题以及怎么解决的很好的关联起来了,如 - -![3-2-2.PNG](images%2F3-2-2.PNG) -![3-2-3.PNG](images%2F3-2-3.PNG) \ No newline at end of file diff --git a/readme/contributing/images/1-1.PNG b/readme/contributing/images/1-1.PNG deleted file mode 100644 index c46adde38e009a02d16846393067a1d12c93783f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90840 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

_R`m6v|z&%r~1!GbyzbRoY%M>fgg_ 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 z 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


ebofn@`gGIaa>~e)G{mDK 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 KQqHY=PyY`wZv%Az diff --git a/readme/contributing/images/2-2.PNG b/readme/contributing/images/2-2.PNG deleted file mode 100644 index 4662332ba3e176303710e5a7aa2dced140196d2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94424 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≶ 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 diff --git a/readme/contributing/images/2-3.PNG b/readme/contributing/images/2-3.PNG deleted file mode 100644 index f4f2e89a79ffa980e8abe6c32f0c6e3aa667307e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97205 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­QU` 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 diff --git a/readme/contributing/images/2-4.PNG b/readme/contributing/images/2-4.PNG deleted file mode 100644 index ea27a7d6e2ab0a804a24ffab0299155ec471675f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42137 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 diff --git a/readme/contributing/images/2-5-1.PNG b/readme/contributing/images/2-5-1.PNG deleted file mode 100644 index fbf3ccdff302e068159ae198916275c9495ca8e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107013 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%0A2EWA~mFiC;vqjUz)4Hmrn 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 z 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
NiBvk_5rj7wTzP2yZbYGu|< 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 U8sr@EF66DEyz28p*|(qm2R}GVYybcN diff --git a/readme/contributing/images/2-5.PNG b/readme/contributing/images/2-5.PNG deleted file mode 100644 index 733da7ec154a7fccddcfda6cbb5dff03af0ae709..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75305 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 diff --git a/readme/contributing/images/2-6.PNG b/readme/contributing/images/2-6.PNG deleted file mode 100644 index 5b74ad78a3f5e7937c954b92292c3ac427fb6ebd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101318 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�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 diff --git a/readme/contributing/images/2-7-1.PNG b/readme/contributing/images/2-7-1.PNG deleted file mode 100644 index 1efd7a5909df7d5ff6ce1f5b490c12ca4bdb1bfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161687 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%0A8-H?=NHjzh+u_00zQ`y)i1{t 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 z Z8RnTNiLJ=vG|lzPDxbCn}!VDcdsp6>uncq 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

rG{h4n(%RtsMX%wjOH6<4D>93H3Hr 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

+d~T3rHHtAdzU2?}_0W9UC#cY;EmaKG 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

80Xh!6$$Bh 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

J@j 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˱hc~Oww4n{}Kwm>}YdmKeayKx~ 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 Gi~j??jluc= diff --git a/readme/contributing/images/3-1-2.PNG b/readme/contributing/images/3-1-2.PNG deleted file mode 100644 index 539039cd0d0dfef3d313bcf8256e984e80af9933..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96289 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 pP1o{ly>XA$%@v8?10+tIf~@#8Y(M1*Fdp`rLX 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

  • Xs$iLUvCLYP)z1n30v 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 diff --git a/readme/contributing/images/3-2-1.PNG b/readme/contributing/images/3-2-1.PNG deleted file mode 100644 index 3d7047eb2d1214713fff72a1dbfcaeea540f2fa0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243137 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νCkpIa+5kHg78kK8nS!JC;+c2 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

    6Wk@8kT{ykz=kpLa{5MhCpA^fdbuw%DBB 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

    +swcwA`u6Q<*(XbW|93><+0Z?I@Qp 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 diff --git a/readme/contributing/images/3-2-3.PNG b/readme/contributing/images/3-2-3.PNG deleted file mode 100644 index b56e54812c3c8310ce5f9e949a14bc7842633e59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154744 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⁣5aiqC9(p!LhC}xD9%q3u*!cgS@pLr zw>u4Y_vQxnvA3&CBhXF8&!22pYpVGSW!OVC;g&oSm}z?!9sYT7Fs{!v*^ak$I{P?V zx-jWEm+%{%P8eTswK=Y*2$OHlq-7RhmvFDKaJYDFe~kgrQFDVuvsqPJ*_QKaU(T4; zb=p>}9~)O{Kx&>`y4&vm@CtAtIWd{kmgD=QWh+rbv4lA}hnhCAn}0jSzy&tU$?)cV z`ga=|GFnSH%*F7&BU>%$b39B$R?}y&4_`iAthws!Hg1`-==zL8ou)&5+DyZ( zfo9}QA$G8AUk{A__CS&4!J{9q!!SyhIkIb6>S%Pix=1gtZW*v~6$7c3AZh9fV;s`Y zGqI-0l6X)?DT54?6MTSB2>Az`0D&k>gvPMIL=pw^?kxdilJ3BWYR8jOTkv?3Ew)-V zeDzrs1rO;(JxtAXr0uv~sWGv$yv=8~XNIolwHoW|)EI+1{yj>14)@aSoZOqB(Qt8O zt82X&vvD)0Rk{6sNn6&O;gJ=XMHw#5LNUiSa{v+{T}`2sBCdZGVe6Iu@UC`N-Ex+- zxq06m4`1N_p`P5@;`C}FU0GWFZB$va^OR{yxAEQ=>8JUL zK558sIH_%a34Gq?UEQ&G(D5;(qH`Iuft_m1SdclpjwJCM-w(Gwm$StJ4W!U{^%%0W zC6mS4?)HR=p4wXn;_IEe*(g(cc+yjG-qp^5`@71!{L*-FMBiv=%vM*c1n@QF%dTPs z0|deVDEb&IH+{HFuGZEywzh<~U^>>ZAN6t(JloE(z-ccTDOsi<;9gnGsX0hxM~m_e zo^$OTStQHPer$vx?sv6modX5fEobAT=zLwCOFPdtwi#n(DOp;>Vde{>+c#eDGqk;g zx=yGBjy29PIK>NeLI=NBgSRSu4($v@?Nd^8`Q}t8H$G67fNEKZ14N-rdYrWBu@8Jb%N{e%eAW6I@DdBg zH2a9MG?=PgsWxWsI|!}y9_kTX$y;Xo{h&$xqj4GPEg0Nc{H0#}cGPY=0o=3Ra6K7e zX|@Z+j0X7+_JbmVYn;fZnV?MF@v2NT-PYx=`9kiUuIMRCf4H@loyJ`JT}*`rSjJjD zxQAl}s%LC0l{D1CBDhP2F{x#t457=!Nq6d+!^7p*2e&F3-dgLW zb^0Zh&S!}ChO6xq_v_TT{3DH4da0Z1_E$ra^o5pdJF{6*6kAt)`CCSTf3)YD+IE*r zqvQBn+r;?XJd7A2IlWG(IqZ#^ii1+Xq9q;%4jZV`uTGo6y1~ytVR-)AD0&18Oh+0G zmRJ)EE~r}#5fJ@|x3NfmJTfykxd{mXz%uzvU)tT`wqcxJ$E2B?Kt!{WPW2P}yzcHx zx`H6WFK&j>_e2C?j1U3hHAbPq<6$`!SWbp=ipc;`SeRi4A4*(kn4Pb-zOJ(K95j_fE#{|WCnKvMafEu2swhrY z-cdlgO7-P>w%NdHv(K`kj!w9?wTYU#gtLTB1Bu>Xa4i@8=-fWM%mr_JJyxd@ib%zL z;YqYQN`HmapcoNP42(Mxx1^tf*C1e9t9N)nR1Y;J20ZZWAv>d5fLZ> zhFu%VE7)jQY)~x^v+U-nYb$5tsAX^-#vGZk1qVNVQhY6KHE$QV0}wp(vE_Oivw{6D z7;z#g>j2SwFe0Ejb^N+G`U!C&I60R4s4;U{!`hKQG8PWx@(gI8c%`XZUj60YAN%x^ z_dYjzsfQV9Zo{S!eR#1QH+kdlTRsQyzOou$(Y89jpZb%hhVeRmh0o@4e2plHBLKj< z2pX8<1UP8@gzetz-S|HA6e00-9K1g`J3$LuP4{J0oMRC;`>=%<#IwsE=&5Ah_HxqDabq)OiOsC>2_ zPv$6>2hE?Ozk}M2?@d!pZ%cTo6b-Naf`Z5}BouXbQmN?4ZNoAAd?(V{$$z9FQj$zg zjq)Ls^aOvlCr|F5<*M2cgl?|qRs0{9`2GSlB@Fz%mKxrt5v;bh6O&^j6B7C8z4gIA zQ8j0}exx7;0*ns3+q{*3!{V_jZ(jadHf=HcE$|jTAV#w+IN$PZqCGw|EnrA}$kc;h zfdHWpFrwolT7EaHPk1VPs*kH}+qNBYEHrU9L`DdRzuJX=G@svdD&?v5-lIOF@wXeO zdq6Ou!zse%W|TpNvi%NT$NQfzOS-JDtW$OMUO)M*v*}R0i9v$K1qSK+ zMEQe?%+IVw`CqbLQk&5$0xK+@Dj#XV%qpk=WOx)wsZ;+j+kQMPn_(GRys_haxjO%p zy+>j_v9)w=k2KzA&4-BS=vlLJ_(kYfJAypGFy}WWQN~6JtiQ0@{QX7W)lbjcT6tIX ztyv(%u|yvwI(r$Zw)t_a($^l#U&DFqx{O}^qH`Ou7A?=~SaRV>*18$4LW67{6&-zN znXa3d(t z{&I<54MKc4Z39VFX?k2`dThd+NLXTRiEqk0p;4Bbjl9{nAp~Xz;|%LSNqtb;+s@a% z&Gmzqkpps-%nUVtxoI{fb3@T}Aw0pP(sUnbIX2Wzuh%ZvasDPV#{EgX_1w%G$ zWa}pH(6LD|kf0g-Fy7%}+KuV|!l(;sTLb#-%JO-0CkX=ivkWj$!F^2WGIWUs0gF_e z1Ozyc@>w7_Lm^jbIBJ}4Qe;M8{;~8#0D>^#mFC$)HNp#2GBJY~utlaIgnr;Y)++Cv z?L|TFf%d)gZK>bExO6%3v8E`H9+!XFON|wGndLuTbjJe(y1D-bif&yyml{#ObkfEa6-27-&S4 z5r}%@Xgt;hUuuSNn~G3Vi<0^8cj`S7g$yRzzuvqUQJ^B{BrA%an*gsWEXHxjjc z9v&kx5FAz|-vSQZX>IwRtTKV?pp?JP`WAY#s{ELIM1=9oMBW=sz!vFwo^u>J1C&X1 z9Bv1ttFyj8GR(4hjAvF6@C_i)fRM49MN$%y4fVb+er>YPiy)wZV(>;7QjCO)K!gy1 zzF;@oa<7~}hTo+_&#m0Pg`VgF5b!Lw8XiX&QWAqi)oMDmmalAaL7?>0nUPB;=lkJp zy()-_RajYuOiCwP@6A-ZZoB0(6Pz3htp^*?k0~I77!EAB8}8HQ&i_D&2Po*&?c|}( zM-c&N5QTSZgt*|;QGj)0=XkzD5{At1ylEE^5Y^|$sG$-Tcq2g0zdmGavlHNhIQ;>P zNH9U50Kd-Hl^9`Imw!ox(~~Mdh#-D`e9ZF7YOg2tyb=F42aQLR(ezSvUSEvpNz$!` z5X2~F;#AwbJo?|rzY1qF)C)9f9GbEbxR6*x70q%+7Oi|nH7wvfI)+wLwOc9p^G-jX zmyYpDnaIgdb-WfgI#yp}vZ}-Gzt>?F?^DdW8eSKNV@fAD9ji1;4m;$g(i}!RI@H*B zHvc583S(|(C!((Tck&+6cXm`e0;=CUN)3$bsm((W?s5hEh#><0Z5y#@w=^_-E`nz_ zYZ#NF>&BA@=rhO=0DFy`!wXs~3Ars(PhY)0!K;!8V-b3j>Ua;5(s#WbRds^9>q^vU zTy^X>#VfvdXM0N)FM4==y*iqq$y5JJ1kM(Xn^{6dah8J!BI;#8_nag+xPALk2f-{< zO3%pf*mqWQb#m%xwg&I7fykX@e2+Mkrq^xlJH8*plBkDaI$J2t3UkkPUCHWQ-q1F} zs6o&#jZYH*kooz?`R_Y-3)IR~whvh;VIoEb7;TbcarKQQaY9EpQLJn-<;lp&&(%+T zEh$=Mq!?gZ@GTuIpdMTBb`Vhu@^5U9Yu+a~N40kwi7=oUYv|8x&0f|W9AY2D*QVgv z8hT_aqB=M|J96p#t9MsWZL%wpFI=m@}Pa5L^y}$3%vOnmV?#yCaE&i^#od zl4FNAp)%6dRkB<0mmv!bKn<`#AJ&Z4+{3RrhcZ1h86$ooFseH{V7M?p#emVbb`fln z1oE1iCHNz=Fb)aFEgpDAQV(?lvbpJkPd?V5k$!55diUV$#3eiwB|{9aq8g19yk3FO=p@0+RBOo068P`(6@ex;_Q?qj z3?QA=Q8Q#~dvWa?O0biam0krN@C5VF5PMr{p(;kYOx*}2hGA}v8wpS?lAIoAk$`8b z#lSehatUrRSAfNkmNE^|Ae40<;QnhPX2e*AfPUxx*<-xO73LR+x$P#<1kYupq?RCm#_ZNGEtcJ`hYCw&%0^!1DsAL+X5#nkk4t!5=+ zOugpBymX`n3cjB|LZ0eaqvhfId;@pZ)noq06-45cCE9tsr5BGB3;;Tqkj`xZTu8(x zpKLeJI9l8L%hYF#oM=Nc$9|<{H>UkFB`Y_qVm(qwI?C>!?aVmHx zaJs~dhgXgl#0XfksoFxW<6%vs2)_GZ)??FgeWAK5xAZXU@mhoS$ad2uQ8k}$T{Iu? zA3XMV@9viyQ0y>?NUj1$)>Lth_vn?Kw(n!|IGy&yJx>4vGE(Ljdlx3*uPjYEZsAY} ze~3V55dY#0ro;&kc_t(MZ~;RghTpk2qyO&X5fgq*@JrQ^Y8n}&FD!=-ywwRoK*WS3 z&7y-MpQ84rMK!m^bn;q*ouYTL=l&^S)BpnV6 za3iy(-fH(!Y7MaY-+mNXF{dBBU@>%!>wB3FE8AG?d4kK0a;PS(bk{mfHSi;o#-bCa z3=YI(XY5n9bEYHwQflEzpE?!4SP(|@r@>&-p<>;&=C9C8gjV?5qGd-WFrAY&tmZ2CPFyiz8#lFrx#9KNrotYkOaN7)D&hmKqZvAO(gQLEKR7dy zA7D7^x=3ssg|*NSFjpk6hxY^LmN0?npqFHnY242c;;>fT^_j28b7Qj`w-&yknw z#qjhZ)I}lB<~NEmy5H;YH39aMt5l%mn=^*ql_0@^vd0N!G{7iOpjfbk9cRjU#QT5H z;DzJ=?F6b2MK54OICWp*u7u}sSR{&-C{XL@o1Fd+i$!r>ngRTW;iknYq(O_jDPnO! zWizcH`uU9>AUIGlj*-O8(f-n+bH-^qq74Fiu}F zL-Au=5hEh6OUN8VB7$pJ5Q1^YdQ+GZk}PxehVcIGKXiQoJl@ncwhQBQ?*hbYB((Nr zP%Td&80ySgMk-q3|qclb=)eO?+x^UfYe|+|h#Q{o8S>kTMZE zhe?@-^F9UtrPs{p%=qPc{F!-#!>5Ap5b?X_;Z$~^)$c!>>*{NSWY_&f<4fcT&}0Q5 z*2;yGwL1E<{+h`^fHU-(W9tn|@h#YJ>61!pQ7dmysj)khGx?0U!|y zam8nM7~6QBxRzkB6Gsotr7GR5ApQK(l}IQ_xJg+l*Aj~sQ;BSU4esBRw(8^1>hj!D zX2u?a7<|C?Vu*(^f1POg_Uc+>AU)t=Y3%k}#vbk#>x6_LWt z!V zhBCR9eSFLf=-ANy?DOyr37$^qJ8(N!OX0X|2)yRKw?^D8fp*`e_jt08vfq7a{CUy9lEQ)5{hX{GsIJTuFcRBpInl6|?mbE75}BR9_&7%0R?x zetVA?>-|hCu@?y4@0w1J_E>{lZNkL@$xr|3Dc@OS`nXX-!(6l9=H*a@N7OQsRxH1M zLV_TaLy(JbzJJ(X&UGkVY1zCS+cF0GMkuytFbT<8w~)Om$xcj-H9S~WcDEOB@Q@T! z@bLK$e9nX7k}9QG|HX)Hr>N@wNl8CcpaS4sL0Iu&UPbn3LxU6oI9RYS?Lxc&c$YgI zKXm>W&&@sw@s_ON3i7&Bkrr-HXzQrysnE~($w>ozK?{#xLbdsfHT7BIniqVCFlmaS z(8crPQBYxwVk@pEgYR3xg=#w8bp(Pu_HNVuYk0G1i3PB5Zon}iMwNm(Wg4*l-7c5w zwzk%CRMY{R!&weZO&={Kjigx7XwohoO&XkYHP*|sy2V_yn>|vuZL=8)N$FKa;I207 z^K3iPqjJzWB`Y2!OO=vxrhR<6zsC**o5#-wEh`QGIgERPwPE5%v_{+f9xWU%0hs$Vcqr!<*tfTYVP53bU$WBl<;M&+7 zdnwh_j0K;6N1;e7-=5+2f#qV;{a;t==xFocT7{wDju?-e>-Y{FbhHeo#C;}l(n|Ov+dHV;YMamS&pXTIth8*o?lWPSGlL8U~+xxf4_sb3$%nRN3jq^^jKXRHG z34}Z2bGX@WEB{fRj=ShN0AgXUJv}G+&UgM4c$$JQ?gQ#M(cwbbiL0OZ1RrtqugXO{ z28J3mQ^Cqi_~N#FKLmQza_03nTk%J>9Hme)j|m@=8{usqCgn1AARs0%n74tex0{An ztYkdzikKWCe~1u0-(}CoM#_4aFq3~Uz41-E{M{G0Aq?{bOKjj}p`haO9IPt47jPFi zdmfp<=^8bSWG$6yGLwr1@13EV!D5~z5c=Y7 zo)E<=p_g3U;TsZA2X{)%z{lSI=>s2y{fw{c^Cycsm5r}m@NtkyU7vf%?n(s{8%%F= z@a-L>L?(?Q?v~OV?o~`T&p5r5>e(>@q)Tr0%I#GgIm#?N^Yz;t=R@4hXjF1d(}`*I z_xIr#*GKS)V8^;>zn0kUr>T^X-3Cr*>s?-YJV%$st8xxZDq6~iC2Rb-5^Pti71gba zhyuE_9J)x|Y~ifv!%exYddu}9-a`;P^|*sl^>&--QJ}w^)cNgoThnHRB&^r#8q5FW z>K|~+D@tteaG}Z^=aE&I1Td;@7g@j8bXRAWTH1@)&2~R#)^ffKmup7G&89Mn0^(d( z#5>{#{`Pc1u?^~d?j_2rf_Xb@JvAo(1e_PR^eJW@tKD6W1vKc*s?Hlm6eNPU| zU5mNBhgc&20{mLzS$$s)sg3@9o>aXFGjMCHs(3CaXa`)d+Vb-<91}U3k*69rf`+a& zkj_7X3gPhFEFr^x70WG)mq9KE%r%rd4aS;1X;92xSAXs ztz^PouN=^70pM^d$}P;Dp57|istkvBKZj$$7s5x~jK`0x;jH&ITI*r!)Z6c-_ta#) zcmHp2%Hsf#OZQ+0vDqX)V+o>ulAhka2KJI)#?*Hh{d?Y*ke{#cq;=Kf05xGopRR`G zlGY0ZLFxmwBKeZ~GDQVMjg&}ZdfqRuP<2)=V$)q}TV*JwNd*kE6Nb3)0z4c2O~a@+C&qPipqH=eq!*Nt2)1vJozr+idf_mq5_ z4i!1Gm}8jdE>35;nG^z64)H6DIW$}Z2z^D5zTQs4#=UdetsFiSWQk$Loav(nTLZBJ zr-f+=03#-v80sFIRQq)-?#0l7lY_B%mUfN3`;pw*@sCyd#wTL{0sp8 z3W{1EqphZXPjM8sZ*!yLG|p9|@_Bz_fKw6IuAnD6T123NtZl_9+F=VVNX2p2bd+YGw4soKMkL+Y)3wXEfUdjIh% z>C$T7W-V}|TR_3=h`19xmp$mws=>RyFk5GU!U9FvH`&u1o^5abop1Zv%xB+z@80hI zK&otSn$8dPaXQuEZ+FX(JliUh&B@8hO>=#0eC-e2zNhVaw{_hz#KHB)YQ%Xz99=T1 zwx#IWpXII|ONd|bN7c>`3?Q3yHkUn*!sox~R3Y2m1#fP#_1*a@cXZxb%KkT+X2sh6 z780g8`#!~=Q?^t2mKz=FDMhEA@F%%{_Ab>GX7jCm+w1sk{2{wYQLhbbDbS?*{d&B( zyZ}0Lrv|>=E4+2hpU^sFV(YN^^X!6vmV|Bc zGy5gS(wf)bq)is?_#cIro^T_b`|FP5V|G2GKW;Z1f3r&WVKi3n!s_oyD0M1qE)NoD zQv`hL$*=$*J$9YWlXipjSFLmw^RB)hMf|f+*lY`SCZ}6#Ul;G+Uy;&g8FFkpbv)Jr z2nq8_{Zl~g)TAoyUsdny<+4jh-mJPtb@}C6cJtf5U1bb}^&G2}-FH`7$|e9{tWTd{ z?~HqdpUe;r4wD_oQ_?6EQK@=L!Vm+5040K71@Bm@csc=p;BC0v95~uw4fCia%fs^^ z2<~t_pT4$jhGs?fh3y&kO9vdnVS(oyy|!cS@PPd~3*Qvx6`WcLh8&Fd3gg5^F?{hO z!N?;?3+Y+yGSw;Z{>dFl+*mAP+{R*9C`3PBo6#Ue7xj#2{36uwJZ!>M$x;@B&(f5{ z-h>(io}C}Zoj&;#4YQ6Zu!79q&?A9OU|Op&Ib^PphJs6*e^TM!{5ad9F;^P7)B zTyM3k5Kv zYL4>g9yg>%1p3?NHn`BIyVyGh?4Lp}Gd!p)AVDxISfzXqS_JdAmU<0&i&o&W$tWn2DwRQ4&^27H~;(KF2H0t(@Ha$J5nF%d-( zv~);BpMmEA!RI}brX0E?ayt?sg>Y2+fD)zJS5R*Cq>?an)k^*Q2R~$c{}k3(en%Jg zz!*kbyA_j#dNDKr0R>Dc1A@RjluQRf7zx{Vx0&4nE(!qPAUf3d{~_%k+beCFfKhmb zvtnm56LXS@lZhv`ZQEI~ZQHhO+qN;WZNIthXTSUT0sGVW;q30}s-uoBS1AnJ_^K7L z6#p20^;m7sdg~ghGxvP&!~YBVHVYP_g({#u?S5VLah;d{zV&qNwWRXZn4`zd74Kt) zR;yB35tmczU7Qbq5bJE?=D^%~h1To6 zZ$VWgSn(4LWw}1Zj(V29It1v?7Q;dx?hC0=W85g`Mu-Ix#OyFIo1;z{VbD6d4x)YP z;dJ`AGmf(Gyh>vx>+SJ1Au6XqsLlPiOBhcd9)A0xlHz4={ZV@Ad6kF%VK>3;c@=Sb z`7xGtX#e@%sLlPi|5_`G5tVa!n~v7Kzl-EVJU9|uQg%K?#KA0cbCo%$z(T1NUcj~N zCk{+N-E4z?ghNN`x?G_hNYTr7CALQyLNb*-)1S|rjyC|nb1}Mh z5t&cOldU1N&iO4$scm^YAk1jB9*6?!>-4M8-F+Jfo4bR23NlxBZwWX^B;Kcyzpiy* zvo*aMpNSKW{1cVRD1JCGsz}%$Re#3q7)vst!pyDgISTmMzo05FyM;z?K&?VYDGTE) zE$l%#Oewd3Urc6NhnZMVD;GT&!F0~PYBWM4t1=so^8B<74v39eOywohSE|Ga&Rk4o zc3BLkD#H=PX%LRIcU~a1`;J~{g6#WHNF0=kTQZk4KE^n3lk^dB_ooq#-Of4NrknM4 zhltYA37<>llnH}IT_r!jTk(gakm8*TrHWO)sh10*2u0Wh85lqqT1rW&fdjo{Anb78 zJkJSnN9KJdR4Iti>!5d5f|Rd&qveo?8br}*Z4+ZAR=Mr7$ll~B^i$g|KTtZwMORhG z9@Kl0SQ=U=%jK{-4kcJJBk==TWN2%|K%?3|QnGS7?S9mx9nX|qj<9fwQc}6KO$rBe z1Ya8aohCIa+h=CWU#E)0+8$Uq@mtjX!7a{Mg0ULeN9Hu={oZQ794>Lc-)cWU@4HPD zQ-eLzpXWa}c^$-k`czr$*%b5vQOpmMYMw6ni)fet8Gv`6Ktji!Z~I-{Z4j^QVc2rM za9+oo^{=5(DSSqZu~ z54K}Sm-LW`%lI8rLBUwCD8)QKnNY#Oe}VV%1Yp7<$`Sx-cnSr~psv;gwFpE;OzMHQ z%f^Qrf`e`NHG!8GUTz}sl>g>YVQ@@nkZ4+Zu4aPBV%ZtK`nu0<)VSza0TK5Lpbj74TJ~>h-GEvMG*enyejgx;{ zQ3XU)^7DChJa%+p9dVj6N*{Qc#hhFjV2JuA7&rNeA;Ee+FS4#%szsOKC=f##) zW{TsKuNyNAVb%1Fj=`TlvKrZu&hFCr$n3MQ>!awfbc~ilT%JGk`x$kg+NZGW=R+W@Fe{r%=a$_*k`FS_CKowkdZZHTH1_5XQx#`>Atyvr`=Pc?#6pw9*kWdktoCcCkmh0qR8mCcmaMG) zbgBHogs;ahY$3mqImYlju3~;p4n&-knZ@Po@z(uC#S>}fx1SD;Gi1}~4i~SGlGz~& zvdZ`Kl1^Ns8_q*|2w2Zc3r$?U-@S}&ZYs09PSt5~YbdN2B9$|pUD_%Q6iq|T&W_5u z-j3hDovUna)jLh`-u9*`Pf3+-T+O!vooZ1LkH^A+(i zyaDfgHfe&U-gWWqBlGYfYFXXMVtrQ8aR&AF-%A#`S^ot=rB622L4$jlGe} z@sj`2er-t2tPC|#!|dGkwNjgFX6GK)?KQ%c%luk`qCPPbRk&Re^uF8B8k1v5`?s?p zQ`2*R>fotwY2zjcPcXO3XpTRsGu*C=nRe(OX!9nB!>g@?Bj4TuZ@uLkriT6b4Ju}^ zKOOSUeOJr&)V=9eOEVBM^7CMoL%q<$PH=JA&g{f1U}o{ zY~)3+`lq>8{=r0>*Q-L>lG|AY%gJ;4ex2Ng<+sJZ&sJd_rxQc?RY;f>8u2sFix6GT zwn0-X9R-tYP9NZP`i~w?TTVKxv-S548T`kTn1;2G`d|dm4_()fr=E8T)7f?k7A|kv zwD3oVw6vl}+;^*U*izy47aj*SP8%)XsYdD9%@;opF1m0}ewb5SGEZtoS7E!~uH?Bm zt*1KdNjJT_s&5Y{qf@A9yV~emx*g`QWO=-^s<@6=5HG!-adJOP z#bPTJQ3$bYex43(onGHvXg77%7#!QC1^#=od*=b&Z)#dGha{{84Z$-j6^ctqH)4Fp zC@>j(P;e1HKvy$BzVhQ}#3{zdva+!1q?ZQa9FhSKDK`{@r%971z*I-IJ?uUdfyoo3s#XKL*-)k%+H)B zvD?~()pi5cgI?9|*v8Zg@dv}nx~%7pyX|laDRT;DB#te~0W4{ln&px#aoe51;hBo| z6&VKcgiN3GHIE9<-fDT{AKUoS5E2JRJrTp83w+kr81DKUc z;*C{R9DHBE1D?$Enk5T znr)ylBQ%y@o<;vc36*& z8`+|) zP~IF$){X&k9*f#88p3cUyZxPoN=xMkYra=3-cd$~(qSdWsqcHCHj}-KP%W65Q1!`U z3;*H{|Et9kr^AMKyaGqxrCOIf_kOGT>wWN8wRJcf*Q5pA^Rh^Y~vT4IT9s_BO=fq3L zb40%K*4`o~_R@Z!kVGbwf0^M-$qpE#SQng{oTO!HbZTD}^B`FS1sAu9a9<)}N!R%MiYH(XU@Iw)qZrz;q!#G{YP z`|NG-J;>BhT1%_uC?@cGRhj2W=%{g3sjHsQO50T9VxmC1Rn1f0YSAUA(klEZbebq3KuV)zrc))q(rr%AACV`Bj>+I`d_ssGIfsjrR-INA~`^6U0a9zZdED%;5U- zrivg~3@;zh&}_DM0z{J%w~fmHpJHwjw#lP^OIctvfzoM!Un_Y_+E zwlm_Y-rtCtRl~k*-nu$JmE%;Gx-fI3YxU zF~A)TM=Q2$H9gaU@0%rH{NvsHUYd)^?yR)r@#FlMl1Nw`TyWxYV(d9>n8N=DB!=o* z7F0cjPL0m(uhYlFMyAH!uHFjQP*6x%Y~wx{(RaI}qjF-L9)cr&}+ z(r3S!66yTmNnrmW;0W+sfsf52X|>;$C|70PTz7MKJ{`bIYjrAHciB7!9=c=wGf0#A zi=vJQZMpJZM_tOGB|oDgvw3swaN7wC6RT@z(uy|(M;SsZVcx>{z4`LkqOOgq3RUB0 zNQ5@i^nT0o7_YFD7_XAy(LvOFv!5iE`E3AAhTBaxazVXk5 z93$!P7EXrW0N|MCN`-#Oqu8$1d%WU9X~Y|?rQg)GPGGj~9)LzUb>rFcl+nnKan;Dp zP%!1zXo);Gc-up;Wlk`4vLDXHJ|KN2Pt_3{Ph7?9A!{t%;(wSt2fB+$5qPTM5uuBz zZ>Gvixh0O~UH!{UR@=xEAc%~7k7cSZAH%#YL0}N$nr&h}&{CWL0nDu-fP_D*ei8(b znbCpI=g%Ld8mlg&u%=qrGleB8jyorpBTE4Kij#65;OWVJm4AyZHvbz8Of+PY?zg5Q z8ZGezhU9kgs6d;M&WT}d;K2jJpKtY5Fdf*36~`p%;ea(%{J9~FR7IVe2C8&KFEp+6K6#87Ct=w*+k-i8Z{hAc-5JQ z;32A50{z+Y&$geVvB6+tHf9YJq2C%ks>+(=V#+`}11roGp+!d?gXJ^Tf zNwx1~V)4urbD$N%0%gi^%%qJ|lCk+J;!j-Qu_{bwybNX|Y-w^}=>quJh?U}6dgRZ) zNu-zk%x(Dutz6L#lBkG0WQ2XtVQlN@=OssvJ0;pLrLk<)S*|uZ zge^NvO**?m@Rl}H!I8ueK$BzH0U5hzI45pK9x}F1D_NSOa8~7Yf0SKf*_05&5P!F- zH0ceF8I4T%79b0a2iXy6>g2_KdeIOi;rTL?B-GAi9__gwyw(2Rjs6W-&+>#op_!P^ zNEL)3=tE^JE*3R*k@n~EcBzWV+uF{ujo5EO6GAncPD2P37n0_F`P!8MnZV=0C?XEu z<+ipUUhcK|GMM$yKtrCg+o$(IovdY!q)7;O>x%hFI_M4QQ1u+Zt=a@xsLE;Is zK8wS@9)Y@j_~N&JJ+{v$nHHN5>E50qWWPW9-rU~0)bD5F9t4}TUIIvX9QVA@?(wfs zCj+fTlDH0Ipfa7bosazRKwI>C!*EEOiE%X#uTAm~ol4c_b;Cd1?xd{V?RR-U5%j4x zBg$A7uRXB9V_(8W_tv~VH`Dab2VDOGW}o@9j+vc`Vc86YU@h`@@A+b?k_<|uqoT`G zyb8^`C(s#)4o3hzXyASB%>(^(yAk$@bM*|vP5E52VuVQ#4Sn)Q-nS@WaZl%C!k4I+ zBWJi<%5JIn)Mc3|yfoesFFp2Dw1(Y4-l3G{7dun0e69DdcPNV@@+*NSnh}QLJOEYE zsqKTpqdfeWVBI<0EY>Tw$7MQ^mxA1Ib!+5h-!D>6TjxLyrdBeEq}9IzuFgR(kvd7S zy~P6bmbLt=D)v%C>9JfO=1h&hf%;PZAqC)VqtmA2XpR_I4)HOJL!*JojPZHmCDJtb z`(7BOfG@#2hx~56VRvw@-|2dHK-q6j%cS_H0ftak@g5lhqG7A+eQ5`R1GYeRYLgxe z@Lusq?R-_kttne~{1PKd{SmzPz;Ax3wb4J7`I^B>T9G>=*~}()y+y)(Lw-;En z1dz}=zxk9Ty}uNu3xBweb(D+HB8R6>Z&G|_f-l42P@ zAhtSxWLu?(K2rUC>&153Y}@R4!PU2Vn`qdjB5(af&ws>@uXn%Clg28dGd!yhar zBnc#-=lb@dv*d0C>9TWIr=1WziF5y=tx^`eqLMiYsekLEyZ4v2+kRv%lhmRyw%Zzh zB`$-G$mMjc6TVvuTTO0Z1t-)E!DYjta$<0>jdZiw=D+;r_|wakm*w2F%hi)V+2Qje zU9QfE!3o&N05)XSn+bI&jBhLnz|YGP>^ckgEG-Ic_q)Ba%@G798tzNf)L0n1q|j2op!us`|BcO6sH{OqJnG1jb2FW2?u#5)Tw8Qk(5;71C;@#) zV(UHIIYT5*^VZ%<(sX&Z=nEU!DgG(hL;GWRtC%=4WRuD4iCx5ze8)q2Y~}m@9rdK^ zc5G@u6LhGaM*L08AlKMJ37sY`$})kb?U(1a3F$)cPy3j5;_;_%v7keUa~jj7rk*$3 z+oQHw+y%NmUyUmT4rPHkczM^OZs~o?WWJpArF65!sIRXVIo9{YCDNg_UED={b9#|t zw$5D>&E9I1CO_~R6juvV6Gxg%4v*`=Ht?rq;Wu1br z8RFx%Pv%h<>~d+*oWBwNwAgRd&Q$=09bDR?UL=TxqC{r>7IPtjLesoC4Ud9zMvNN! zeluECkXuBf1>T9;D<3EY$U!5B=z*c9iaqQn3XE?EMg06X&5vw4vSHUe_-*bL9%r34 z0*>hrqp{%OGRs6DXE4^+apRxQhPB=CCVv2)=IpYKeyn6^bWiKtXkHU)#Ws z)?^>dFSq*N&0KuWTqk*be%CER8$CrWU2=1iM)_~<7y$#mmLiU&h~CzkACc{Yerk61$KCf)l^al#q;i@QK|t}6e~`}{SZ{|L5QardiP5BC0C^IIPtw;M^zJB zS;`bg84$Sz!Ok}im!`d@#C5x6KRY0xAHUs0z1og}yN@=9)LX9cR)eI8%2=};( z-sX&z^ahk8_xG+!F-jSICib*+`l{ZUQ=0u!Cp0-0a#@sx?Un{Vmq#v~)N3P!}qmzDiI*{#K z(xP&BdyY}GE>lD{m-|uXcBuN`Ad-R_^(VW!*4p*aK?;!N0_|OaBse|MEIg#)^!|U53g|FN?_EYtQDo@o2(Z9J z`>5lp7=GG|(7=_yb{{T+;gIB(L(iq5_=O;oL6&~?_VR93^Nvi-pUl)zyBZ>CC5`)f z9}w(e{(R}PjHM_3HKi;>iY#)-V?B4G-=_}S1SM(t(CZp}kO`9oFp`Q{h#_T@n)CZO zIvl0eWPKWlgwcCa>@ZmdjSXJrGn#7-=Bv)ns@aoo^x~_J}ECU z@%T)p1^eQipv5Qh7XZxb^?~$8snE}idrnbq=;(l#qf%46 zAB5dl)M<4wpvxiRRWBYuTPW*Bva3k0oh~>N?p?27KSl%d4HO^zg zx-y2+L`0rsBWJRHOdY%PrB4i_n~5u;hX8;FoXKSDjO&6SFjz$sx$(sw8R&jmi%S~44UeWMY-E9jX3QkU@ z-_GLSe>*fqsy#W77o;lL1s!m@kc)oKBt3z5*tbKI z0dMXULR#2;i=49SNm2!{!v8J&VtriXH;cupNibZsVHY_Z*Z^DR|9g&Y4+>^KkBZJ8 zry=xF+OLXP{g??o_9b79W|=PZFF5~!i-(J~YfVhE&EezNU<;i5A8P;opkak~&ET!# zSd#l%qy6*$;QYTI0!MGO`#8K2IvL`{;1d7m#(XWvIcmTFTQI)I|M!IdXyoht^^*NR zxPN_G2(te(JpZ3PUqFEW_k{o51^oZQ`Tw|`Mg-WCoX$$NXU{uKQ3NxHmF0S4K_vH~ zPN4)!0_|3?iwFn?faE3CH+Czl7Z^DGFQfbXh&mMcvr z-VU)xz;f1WLyfysaB4b({1aii@c)m9hK@;{T~1?bZK)CzAGr6P^-tIthn-&*ICB>*76FYKo;7{h_+caDHi2_(yR-+DNI zj=%!s_WQ<0iVmT1^9pOQn?Hr|0lk4ctGRs~4>-$d%F{SXYmp{%9W&254Vnf}`c$rI zKi73D0`wv<%tgx^^UF;tA{V+L0XYo}UA3Y_xR!WffgJj>lZ5}5bu?6veZc?`uS#6^ zz3OSF0zjU%8HCF!4!n$3eFbFS-=t|>o3dfZ2CQ{H#_+5PHDHnm;5YC@Lf= zvq1Z-IqCeEngmiQ0?YLV?-_>mp!U8sJZ zgbT6-O_NTek3xZI1_}O0^HB3?-&KMq5IU^?{3sj&@x8cZOJ^kv4>*hq6oc^n`=S&kktybH>>orpINQID;_d!i=kjX~ldqYevb;4p9E$%j3 zv!PR+<#xv{gQ~nz(-V)!W|H`WfOEe0IQB&f+1b|BLgq{6Zj}lhnWADB7;bt7_ECpm zPWmS@faFS`># zp2p?Vne1Gk;g6dKoML$P!3nHIYQoc8UDfSch!)9@M&eWMjYY2GQ7C0eTy&5PA|8k7 zDDvqw!l}A^?a;mW8KeEpa;6Q`H>4z{S8SvT4YgrSw|7NOkDyI$8wuE^3wDhy(CC2v z`DVrIEz-rh7VpcZ{dxNK$Z9z;Zq6roF%$Jtd{SX#%P?X>Fu`c;ndxJF%Q}{KbW_WW zU}~h7myB53^MiSzBo;%i)4@L&Mw*Kukap`p9NmL5%M^Vpq6N845H=D{qR=`UlSAJQ zDB&!Ob_}y~YZtupWp{yEg74BCl*~c77CTMbr*3bppQ8JcPfq|^Sabyghy)oP!n(T2 zk{@!z^VvAo&2-DB;r#DyNC%AZYQD{n{enicT9=2(kW$fB$2xe0KaQK%?+?FtDTMCg z8quv~+o5*NoWq81pFuHZ#yU%ZQHonR(dknpZ3y8XiaJh6-}@7oR{DU)>RMmUMHOV2 zv0}QQj(g2aJarsFhIpVnPlE78ZZ^}0`JCp;LNPE^&eyxCQ2c2Qn5CC=k5{bJ8)m%9 zyHIar9>qLuSO*0XK1-%Q0#swE_w1QVV1nD>N_fE|oY4Ig2;ZU-|BM_61g*rx{}fg` z!P=PK}8ml;FeUx|v8XE&)_gwJk+b0e7|3YnVCQ0HH z$K(ArFXgl+Z^Ao8KH#zU^|ht>@BOyr@}ox)pr8s4k>cpft|kzxwXF=u{U3*QfdhR| zVUJP2X|j!1e+|SknmMaifzq}^2K=kAK=_%?j1GiV!KLG$ctlw|Bcvb#sKgiw88=vG zt`>TyCf9qN;*~6&ae%r=BFVA*f(b^NiHW>ngc=)aZ~-#vn$&7&JA^ScL|_E^L;(fk zTDzCe=MIatm)|WbeUWvbvQAssK7ITF-3E@*pyjp#A3E2}1dW8239TmDa4a$v)%D`w z?&-%ub zdKiYgPn~i3S+f2|7~epEKahaHym!Fw=EjN1wVbg~;_`7}$jb%yL}zN`7Fu<=aJ*Ss z`JK4$&qA)S?fBp72eANFUp8|(3@4Yy^$Cq$!@y&QjhU;a4GmAJ6^;WMyzYEI>p!e@jcS+cK+VaWP>|tJ z_%Rx;`lgpfRFBn}=YEHsYi+a@IF~ZdNp9Mg!Uz=Z*HH<#dU@aGP-r_PtkSO_&`v|#QdeH8c*G^fVNC4+`EVV;irm3XT*m18wKUo6&Di< z=Hw2C$aZ-jk#Eza>4;xT8uAB~t3PXIKai6Z`Qs00E4fJZzWs; z-YVrCDo0|phc*vzx;0!fL=oRPjfQMGS`Uul#$dBc!=q&sk9D)DrBmNv{8SSHs( z$a!__RP5{@>`wpbW^7x)K;oY2Ct3`3aKIQr+Ddo2b|Eux5VE(<#-z%nhX9ZP=LBgS z$Jm3FZpb_NTig->?**!z)?`xf-*IP!NyJ>i@=O7Yad8m-Tr4-sVP(;O8d~V&N^|9$ ztueh|5!*Oh8;+F!-&c|NtgJY--Em2~Tt<5Yeq)=@@BcaeZM9G^1-!^nJ!sG-y1njZ za5yhoOG8aqxQFPJ>OKx#AXG#_5qoiopqGv76-g96U6d@90!b1=^h7DuMoD1L&(K@}J9%mQ zJv0s?0ohz4F(`GG%1z~hz@$C2opNDmN^9?oBO1AwS{5$nv01hl|W5qa)u$ zh3_V{3CMJ)AZ+<$rYTyKc5C_<-rfY+ygu27ewEx8DH5^8Ad#sg(i2t)GgECU5$w>! zI*k?`@ax&M4X+Z4mS^h8397Yq*+31Zg%13&wHEDrbu;pPfk+foOBwhhDWU zL1BulTrDAOcLOF6CZDHgiN9Vng*_Z5?!IY8_CvDHQ0fVO=vIA|4S$KM8xRl1mviHd zkR&*R-vFrV;h(ee9GE!&zC=jW30=hf4k;sVp(s$c#BM6u=R zi+}zINLchx=`A0j=ppyfHJoa>Kh*Ih@&a=@vN#{tBMJHls3;k{2{b-}Tp%t!bnpQ( zrQC0iuU5^j7Yk0@HN|28E;rlg5>!n+lm7Zmrdw=brmci za|+qOshRreV+L0Tb-ur&l#)gs*u}>BE>Pti684b%mbgnQTyPrw2Ig}l0G<(RJ~*To z!k7#Y-wJ7(%+T5A*=(&!!htD)p(wq9BrIKjyEYD52lC}qRMxH(g^|MNIiSQL@d0vv zJ+@6Pem8aS;W+u7nx#aEq|$WV2MbONO=!jOMExN&K> zQx_-lkRdz%Nm{&QKPmf4^sm&Es-UXyP6d!FHBS;b?TP%)jM?Y*bvY?1nrwjo(iDI3 z^su61=81Fu2()SA4C8v2OC-(Oy1aH?)vRPKVx(l$>~WsjeD~2Y8840r3AwJNLgP~j z+*TstZVUBk} ztyl~%M~8?HUF>{5SmSWjwA~%gnUv1z1S!u#Xn(v%-XLXZU}F8{+k9{0?yP5C;xy`+ z;NQz-zis}8*XE^idQ;R@mge|OQc(HVbdoq~li}{_o3z)IWE$ge2{|MomI=tr)NW}h z@seBR_fOO~i}Iq%dQpaz2&&+E+^XvVHfn<9YP;Lcx1UK&Of)j8l*h@@MK3b4X@oR0 zg?`8(0US=}99rV(A=g5Pd@Y?i+EP{l-%dr##@JXn@K6*dyra(1}dou+(x2Z6gHj#miJEpE1OuxiAjBQVfHre@_OmKIg)w#5q8j?x4!>Wv2t zwJFDrWP2rMWo5J#Z0`9uMh2_v1=x*v4%l(Cmg)bjif>2d#;y@KqUQg!Ny3zjIO6dg zmC&rVdN_S`L&8il=yq7hoj534QJ3*6hmk`26`+P_x#pB#t5u)hPZ5E=w719dN>onG zI5BBrm!6q;aziG)k+aKXEY>bNzE-=dW0S|lw1HEq*><60$C@iWJ{-!}7=N~Ao87Ex z;~2)${PUD^BBEuWfF?fH4B`9PR>!MzhJl!PV{~im2{H`cirbYlhlsSTHIQ#5t4aT` zr*^QKhGu2(6+Qny^o`f3B}nQ> zbhuIq+g}F0#BH~yr23DLcEt@flNJ3d5j~@QX^*&N_PbC1teklc+^D5AmcG}B#4!7p z6D!Ip-}mI@ENw?}HaMabTV&k>DOA)B4<;~iV^dFma>h=Y?SV51Ghd8UA^vbBQ_tm8 zJsqc1UMo3Dt8VXL4qSbc?op%b0@SL z>301SgGFr4BXcq*M553Ixih$CW!$N0>bU>rVlByceplY5W*A|{K9rs?&p6qiZu%ui z;^~|wCJYCpI$5r|wQnAdOVINHJ?`6_F4^SH`4$a|z;w$W%5~K5JJbD!uvb-$Q~8An z(BU30SLCO`!4OALlt4Q%Dvl;Y7jGv*-^V4IAii8Q|MO3L!m~q22Em?SQ4$q*GD zaP9HAj-QBw%A5Z$VN3J%Y8Ey7&sW1;^|HuT!m;0;pfmz8uqJY_9doz&0Qwrt@oQbxSa|;EWhxOBuQKYNQow`4htDn zg5h*JFFk3*<(GR2x;Prjf)0mQEwAe_kNceJ>4)>#s>nuO&_yc30L^`Bo5{+@{%uKO|S&5c~9R=a9mbWI>PXc3{818 zyGskQYBb&Kk_LbgpdY%o&`ZY<_6RUSishE|)li9IAq%1!hGR97IvH0|qSA0Tn+zm+ z6Er29tuGLS^z4voSJGe_c!Lev3Pj*I7y-?ksJ)D@3)u;Y`nqQ(v@eTe1WH^NX4B1( zdm!OrtjVd|LLF&WpjnI#t3r#Ro2810*8Re0`=X4;#RCRg zLT94Bw$*47DLs)8XShy-NWSiZa+;XN#d`XE+vs~P77B*f_SgL5TXjKtA`z^5jH(UK zYWniuD=ux0my`$qi}D0+0%R{1{VD_W(Ql0mN{N)^ zBrq}i2Q>t&V)d4z_e)p}LePEe(xzH#6$84}^T!ye%elA0rMuS#Jpoh`t>^A}1Styd za+lF@sUCOt0;TePYfY;7_5ngrS|6+rBxNi)SdPtU=>n9es0C-Og<+?*iN^i=VyGhp zDvDrA|4aH2yXP5?k1{GYlKag7Gm<}s`jW-pRa8u(AQt!Mm(V;cpV|t_q>FM?$efRV zgS3c$c#1dE?1}#8v5oh_KKb^g*Gos!Uzq8I$_kJ6?|w)QR@q3~Aw zgFDBhZ~9aML^D@2k{Q2@5(#`EAvCALszh8nIt9o}f3iDkbP_Z!pktj`FZy*ge(bLK zabA2(q}u?zO;5Xk5gu=WW3k>WkM}H(67C03cNYt3&Wurg8gXn|MTO%>DZ#+n+PaCG z?P!8k6hJ5+mJs>NMa?7PMDy)}7CX_1w|;@<<(s36!HIZX9e@BgtkNN5qn0*MJXZD!N&V*hm@=`XzPqrM0zXrsaai zU`O+NRJCt<6c@W~I{=3ko9;3)r3A2quXblyQfe-kRCAK9Uo@FgddNE#6P1M7JZut_ z3T2yst{6fA2TCziR;;L<;-bW-^V&Z1GyS>6wnq#IK;a zriSnVNo+cxrE#j&Yo*erxjPAe9OOAY zVR0JJyh|&CK2~@1eAvET#SSlw2lKE>WrMEAcjsub9Jg$WY7}gwdA8SfFyCr!=JFVt zN=;xQWqNzK-dPnhm#rSMbdq2MClKTl?)vPc@ErHEs|yJ2(6(T!k0Xp&%y}Hg4+N|% z$Y|42l9zg?&eCT7ZLXel*w6p+I&=ck^JqHvav`ICxZgTAxYhUQ)nGZ~*GNfp=|-k9 z1Xsc-F&R%9)U9IGbPiNpa(6D=3zh6|`TZAD{rpRh_O_?6gi!jk91KAB6Mn$ZurCNP)#3W?Adwm9GoTkkLQx7Z z|1gpgV|-yW?>49=GHytZraLLb4!dzYpF7s{d#x7BR96saLPtUQ4ihT2e260O@cs>N z*`mcpVq@E~VAGWXByHM0OaU$s3Xav!2ach5s8nxRUur;|w&isLI(^x=O>(0-6*A}+ zJ>TNI{x>_wCEb2+P0Ki+h+igx5*>Z^FN8#dfUB%1j~<7}oBt~uo_OfJ#~-qBFp1N0 zbU(E8(76*6Kumuizblz)N~o@9>-RN&25YL-Nn6v8kgyp9>PAs-5+D!|IFb<68_PY2 z_cppOw%U5Z;DCMeuOqu#E17b)Fn2rr{1t8^9=d8R#`Lb1~c9M@Nd?jJp)C1aY`ux-k3@DY~2s?R5P#+q^L*v4jGJUZ! zW`O8|H_z{Kx3$VzFyhD%e@1AZ-*T*nf9VGyql>e6-QAr8lhkbt>LtOWjA)7v34i_f`t#{g$TwtaIa~oobH5BVS%ye7HEck@OSAN9=LkFU(o9STzXdH>VkDx8#u@IwoPnRx1)tb1a9BQj)mP`w6 zb#mpYOOjM$LS>?ap;$U-al3aivI6BS)dDl)#VFpSF-`_QbJPIFwt8(;5by-xp;U}i zQw)R@XK0Z0sAgz}c_j7q=O882-6f_euN@H zbW+ur;|#&)7GB`BD{g*d+$7U~L8M9JKh$9a{=PZW@i4mpg`o>KB%Hff@Fm)IG4z2s zHuH$wOld4OtDUdr;OurE4lJ}dsLk&q4IZ^c8)g9#D*k%WyUw@(Sd=$d=3@ushm0L^ zj+d2OzXipQgTjc@pf`4|z6MXXJ`6ay+ecg}yel_sJ^&pMCD1rOwIIq33P zr6#8W|8L!*_3dGn#`;%HHO!wX`QImMq{Ax?+dICte+(32rN?CfV+@%uLdqOL1l4y~ z@7;5GQC{~qv3;V%E>f}a$?r50!4qZ-1ru#{ylUfJ`nR!t>TspJS(&XmGd=5$4AEc! z{y-muZ=Krm79M-o!o2^Egg>W^0vl$c=b%HIaLl{%K}6svpyhuRE9&!$#unhwV&cTT z@I`ZqM7k2leZ^+6R1kqa{>4=+!Sm2E4Ya|ef;}e~-VLP-Z)<%12CCbZFgOq)iTM5^ zn1Wm*BQ-!29&}MO1O}X<=13aV43_&E;aBj_r7BuQAY^UtQH2eTT`y2+{u^x{Put4H zk;f%xQYuGkUA0ODy}wG>0=?Bo2P4M;;Vlb#sUKHA9eW0S%T$CD^$|)Nsz#lp5_*G% zKfqTdFTi}&cAE1ZHps_$ozR310gvTyiBT>uC#})rW~S!Aw6D#sJ55{dXC(gCObtPQ zZuoczJEkZAf@;KjTlS7P%*YIO7+@&X@tja{A?T&uN=m&u%LN?{20`G5iFbL0D~cBj+Mx;lRPTI2c5qa$Jm3;m9z0COT(%tCRTdM;ArM&pOz(c#oKZLo!HA>(egDv;2Ioh$m^ympO&y6L!`HuoUh-fBrg=@gS5r^=1=}`-Syh{6e@||*~PpYQsznw z_)EH$bO~I)f5M;0wwU16cs)g$gJv z1ff7dU*v7pNW&lDAv4_&5=46WW%3xsDJ7hu-xqO!r#rP1q6rCt&Kj+n!`2q=UQ6xV zoJasH)@xhq!(Atm=FGOwRa1GPj?ZylZa?FXyCcS#V)M(alsJbi`6Vfn;4=4<2DeJ> zLy_RDr@f851#>ExR(BPob@fFn$_j7k_Xj_jGH%O7ZBGu}%R)sqmFCY2LrGqve`ju= z^*YFd{=72(KL7wh|Gt4bbFggr(r*IIjiRal?b)V8|3LriU%q@SE5pz7`2q*yp? z)iaVd6Q=-R$?TnQAm_z*YRyW}M-tT(5WyHH4;Vk8WZ6I7e3vlR?nB4Snmy|CPnNuW zNGEfK?jt8>#d9@*aKxfbMoN*esAyJ&#ZW{BSQa9Ys3IMS2%_d0M~bLdfGmauAp%g3 zZizYHzP+5geg2?$O*sZV2J~G1<>D1^{$L&oF|*z{910^tzd_xZ#czF(VCLG|{K+D4 z^y(g5vf=gR@*P(WF>2HQvKSGxhdP@w;+ch%1GgWtf}Q#@&#brps_P6 zm%sV^B1cldKH%1CMvTn=?CTebj0TSHHh9Y1QI`%ZUi`PWa~;V^LWoP{Bn7BSEC4{4 z)IUvp_tj;l+b7w87?Go{q_hpcvM59pF4UU0;=6;b0bow<+b@v;ih>XWh#Zc{PzoO3 z`t7~Z{k$T3xXUW_3!)6RjA(BKm4yrju+Y75fm1uhj zf=mDwgAoZ3^}MXLBbJp&I0Qle;c?5~c;&sGS#d76+%F;-(z;vxE1vs@>7nb!4?FnH zpI*&PFhXjKB;@AY5nVOFN$O2R-aBv=ss_h<^50I z*Nc-C{iLyWiVV(=OS2q*;`px2n~jo{_<; zF{FmVqYc%*)gA-v>Xvy zDw?>AZk9+(RYgrxNMV5@8r&Ck$HP%+Uaax)a^1K-;t#u6^3G1Ahy%O~yuSY-zr-cV{#2XCpW`~}U8!D@P zBF2n4t9y!x0iK5PdOxrxr6m9n*sS^v^*`vUuWSkHO|}FZZ?IZ*+IIxCT1dFAqQ-;u zi7AvDb zwX6X6n=5NQ3WO*jtGiY91!SGWX3*MRYObzo4+DlbrguvN?snN=vl&<*2HL~WVKX5h z)Rxrvfi5vKD_##H{?@8GkAhf>GchB<1j6lQ)vby-KE-0>ct)@1JNr|(y{gJ*?3QK| zd||!QWs?`BvL$s- zwRChW5b-sY)%!Vox}p zh4OC`y#<58P`k^MkeC1=#3y+QKM#p|G4F6LNbLxm8??1ZOnX~9%bl-Y0l(F=ge157vSVt`KPh}Wx{6}7I$%65S!YC zC&$I`r*4iP&51@iWAmKoLZ=218>;F&65^qI*V=uCi{@W5I1wuVG4Rxg6bj`(Bl-ku zZEIIBaX1|3z4ogpiqWX=d_G1$m(v;Va{`1=6h*hoot2sPV_uJxpAtIxPNAG9a4f?h zB*{4XFvS?BrKHT5KJ~p1K3TTny9HOxn=pQ?BuNNDOo${&oe?1bx-+lC(HtT{Z5EVZ z(y%I;`7h!J8)2u<>}L=u`Kd?z5n<7M^loMUwH1RU^vn_HXyPP#*9(NLCsL340Spd zV$DaOsZ^hw!(cJ2ARPk;iTYsBToGb`SeAi+D6*;>Yc@wz zrJ7-wKz)7%=rt^j4U2$fAtBKWG+zn|hKOO$-5dqi@JW; z3TgaM`z6{xvw{C_)_$YQjH&iZxiC=sI?Jm6sP;>tQ2rATLZYnPd-oj#MbUN z#l#~_Fw&V#2CK=SV;QrNH*$ag&S=ydd9>-ZJ3r4C%qD}y$g4^-!<$V;t4Yrzf(fI> zG8;?=9dA%mGwOBCC3|*OyQ??+_0`4eS);*XGVq$)1=gUqnvE7C59kCP<>%zTdf-c; zP<|{3L95B&4+)|aTi0~jiC;_zgOJ(C>vi0@5R*coP$(42&jr-n{->v>fB5d34?XqD? z7-k97uKMch!!E~7H_odoEw*+aHo)Gxf5(BiVV9b8NNLFX^v#3*9h$ z9fpH%zu}TzM(^gu%W{hSljkqUBFBywdjxZ@L1_c$W@X5mut{$F_KQU|;kfzN&h23Z zEr-{9^!@Rau~%GsQ9qq5$`|lHVam@6{l-k8oNq7;vY8ELqh2#L6`ScLgv5@u{|q|L zW;RgmmqMXXD3tRO2w~LrM|yh3<+CqIO-;V_S9dI3{w>EMUZ)F%Lkz>7JkQ!`c90MP z^#-PC-^#Z?*a8z%sy4j3sk&v)qLsT!VYeRX7Er(J+qHWe6i#l~y!yi8|y!@Af74&q_2w|Jp@=dT)O)Gczro3vc-R*-sAnljE(&S3UcAe$Zy( zj~3Ol&V=xRuitqu$JLbk-o~2D9%=P!zT3FB25>CAz_tfdelh3_Fokj+0wFZ&b-a$1 zBqbur3dT_@v=9Q0WqFQeS>{~JNTE zD&Q^|Ha)>!VzS$f9F~dh|FicVU~(MSy>C@@nCZ!JXLe_1bB7GqU z0zrTPf%&dr|}6_(Nm8OUHE%Nncqp&nBNZ z_)gzvU;6ozX#hkAYHYrTAN}g;GO+8I)yy&CXxx)q{LtFRK9f59y*G~S+cti-#Sc*a z;8>kz=pg~5Qz#kojzGAvkQrbC;f{quNULGY2CdboXK7^6X)Okwp3@NZOCS&k1i~E; zMZw?v_IF-S+IPP77XW}qAAVr}o^3v_??*rW`_{HLJ*P=%U|CjT$N{t67prgSqbLRi zYmSfEYz_*sS_(;$6orOpKrZ|8-~96bS+(tNKmY546UGRSGVb8LS zfAhWX{OYAwzPGLf@&YD0g>Z8qGr$DG9S@YT+|t#bmSRh>nTg9m0)apv5bk&oLb15; z+u!|u{@luc|HXeqqOrudpJt3ELvMfI6Hh(;!t-DL%dh{r!{HEkUKFI11)qKL?Z5w< zZ~yOn&0w8r&Hp<;GrZ|Tf51smR6OL58KPZ>-g|jx6ZYg$?vw|7)Gz+^Z~BXL4gH~V z42015neA`>?9A}7v*};_er4UxpTB!LY)?z|rIe(vFZk_`{;DP`>wyPXN5lSz04Rjw zp^;!r0uq1W)Peu|@1q^38nf4a=Yjhss{a1vziK&P@|HjK)I)_fiWg-vVjnJI)J`(V&S7hxZ@t7OeAEt}1ad10C%nQDa_#W3;=epLM5G$ub~@&+UR7XgJF$6ReJo?%ij`#^P27L7 zYERuLJ%7nkvv5JQm1mgYQ2VK%ZB8oR(LWaHZ0nBN^6p()Y@o2erF!@A=D0a$<%+o; z0}`b>&Y0E%XW5l{qs-$ zb$EDq!-n-wKE6&AMF`=Un%aW=Jd4@`SjLn_r#Q#Nk`NX!t7RF0qj8a883xNDLh8cN zXf&Qk$pST`q9h11!?4LR<#1HwI2KK&lo74hD27)UCyEq>xC9stLy3Zb7zQO*Imcpg z8AF<5)qEr&k?f8ftq=ixJ3y8|69@zXfj}S-2zMG7<9M8>X;fp`?FM=5ziAV%XnP98~wA>rmh z1TcX>AP@)y0^#lhLVTwO+JO+tvaHTD{^$qa2LOmNNXSoR9#Ry+%o#`s5k<{BHmO1r zAAst$YI+|vGbutdlyaGc%Uo5|w{zAOe^`AP@)y0^!q& z8o2c)WPInZ&14xS7>dZUe5)&R(@`V*2E$Q|F-1`bA+q@PR-u|p0)asI6Uee0jYLIRl!DU4`(t7cudUP> z?zhHcaaO}>wOaBPnLr>AK4H}RZa5m_c~QOz4oxWpH7v_%*&Cko?E^(oDJk~h;W2^d zDTaaMJp$n-BTG^=8a10udcE#e*X6E;2w(z%a5ZFE4uwLpEK?kXBeHlw;G1HMmqi)` zBpi>&F~%InU5^IFm!Gtln%4M}$19#Prqim9G;Zzq<(eyh14_cTbcNy#Z0U7nb%kFK zfpFIl3`fQ%!U(Ed!vU9EG*`d$Fb2VJ3_{?rnzWi*FN0OH$s2yt)9Z9>Dia6><8l7R z=1d@53QbWimtDsZ^?QpU0+>J`T#aZXD$6p6;8;so3d^*IK}G~QDt0;yImGx_9`F=J zX*8OTob?rkG1ol2xp*LStHm$)MD2NQb!%^i`km<(1Ok9%EGg4a5CB!C#!@uIYs>})$dV){qa^?=@zDSejU0=Vw26HfL-n{> z;D~={U;;SZ4kJq?N{k1)2gW!@dWs&YHIS4sky@gXO=6gZAe1E;Cu%lTn?!X~hn7<* zAwrjw2;|9qiQ^KDP$U|p=)`eYl4V)qqfx9k>t-27Pj!YYDPN5{7tSUuOvJegPl*zzIlAIWyCW=r4SIlTrV!R3|3aOh)E*B5eF~AUlU?9xs z^;&wCrpJjo!l_48Lif(t8J_S1y;Vp zswR_OfmL^2a^l7^%f$p12D^KMl)>Y6aMaX0Gv#I3q~Bn&EQCNHTqD$vfBfTHT?Ybz zaC5;JkBmu*-S{Y#6Tu=>Zd#X_mp{*w6YpRQ29JP zv{5{sioJDJzy7bS0eeoF*Q^YlCaMn~8`I}!S}2@Qdy}~)nhz&8luDt*f609b0XCU5 zk@NI%myV@o=Bda+IC)$$7mDh7{pZKs%Lb?U=k{dRxMomG-%0*b<(tTzU5R!wIV2xo0wJY1YSOG=v(O8cVDm~rG#{r=ah zg7eGM6ip3h6*%3AYDV}<1uAa@kT6vH#{2d5yeta~#(H9-B8pGM$01|ZfYH{_2c1Hy zljV@q*%W!FE^@FrCU7Xj1Uimx-`hiFXE z<2C0ShXsezp``!>@x~*EPBe`hJWfq~;P`>l^%we)-DlGz%82$gA3S=tKTM~j7?2El zYuk|^V+QMr3^Y(?Vj+a`=<#En+Ek}D z(0Qt5K&z+f&b4t`cf6@xa^*Y5&%g85 z-j@F1uBN7*h&DUJ(N*>Srky88DQi}$8DUus+MrBEQZ`>fsU|QCE!pXIS{yr8b+jj* zx?qmaNGBRNUSIY4<~?VJrL-)M9*ykVv}N1T4voi~VvySppQ-CQzIAu2AwAovqlQ~f zz4!L6lkLN%+#DMk+P7`nmcz}0IU~c$NEpnRBn?%6@WJ*Yr%nyvBA-j}*H_hap4qd^-dCRsPdyX`X@Laaniu_G)ZQi->L?^JM zdaT+=*YTI$-Ftcv6=k{@q>f9m3?Squx&~XT57iw$d@AfLN;e60ReL_%b@)tgz?_z8 z)c`rv{?6-L_MRQKXLt>KZ+*XMVY%_p)@{8^D(F1$@`uM8S_X_6IW`TraQeWz9~?N{ z(AMjh(=${04{zJF{rG@n$nsjL$&;vzh!Kj9?A=xESa45enhrwHb!x;iY`Iaa z8`*Ml?B!jN!X?%WZS;*_4j$96NRVAFCfC9`ylFkv`}(!Hxpr3Rt;_s+M&N;a^TpOt^cxpJmtPzFC`BA@{hkdh05;66|kp8yN3xt#2LIZ?Ks1Oh>Y2w(!?&gZ%XFdyfGhXXUl+8k4rOfY)6m2D9h4X+Z;7{Gwd25&s^XqUpRkmM3+{W zZbOM-pmc8M{zz7No>jwl9{sNa{c|eI($m~-tEub2mPSopfjzMI{77ahSM~ba{k~-j zVg3G~XRdx^+y0~4!i975d@j4D`OwLps5K{@Z9H{ClT+?ur5URQDFgs(Fi$kpg-xkU z=f2+^f1v^9-j2O2uk z46^d={@rH>GkrNGHr`s>7&4|5rrU(RwnJymS#$Dr!!-vc-1D=nGNMf!Xm4z!vVA>& z+}rQXpI?-l;j(C9@AmhaQcH5^uH)xM*}vqfnjKvxR4}>xO}!_e`{}9`9kyXp>0j0 zk1u(!=HTCcZ~tD2D=oJT{_dSkThH%njfi}VbJ>K=o4@~WBN3}(emOgFIPPAZYCeA8 z-~Vp+YfTa7ob)ti;>_Q^^5fUK8iatQsH7~UHyi-4j~;(^Xf7|0Sv z6arJ0GD>8gWKE}zg0dJ_j)JN!OtR(|m8ja+Otx{l2a?T$svpg%Rwz5gi523aC|0HcL5+iqVo{ zQG{n$o6o4&)Co%dE^xB;(|v-mjAvJ$aN9s^fC&V`6@dsM8bTTZDj^uKh@;0tLVGOU z7E64CfHDNYkb-E|Vp>XP9Gxmd{gikdNf{j$ zhh%%^MG8!YjBoCum1U(=S*a-Wz4?>&W^Q;Gg#uhDOC>8Ni-`yD*ht%{BOQj^P&62E zduag&YLD0Sj0gQlUn&?=y>NeHyOf=+)3dnq-2U#4bbdVUA4|z+XRQ~6vS7?yTDfFi z4j6Cw&w-GX(NlMzrY}4!rOub6k#n`yiXSX5SJMVLQ1{*+1|Qz|t!EeM0N;A5<@laf zK^Ki`1RBO8f=KCfCcCdJ-`QXDVe9#E{~$Nw*JRSvjFXu7!Hh&@J(uBvSP~I5FpgBJ zBApJ1(z0S*x=V|M*l0}VWh`T4vEk?ct}|?a-(KhXQi%p&=yV#y_P|68Sas+s#(%O5 z^%hk3^3UEomGO=LmG#rF?tbC*&sY7Ae+}IG{I{Pe7W`3SHAwh$AxIL#CI@d2LID6{ z`ijuO-7VuWv44nhmW|f@_AFTZ?RkOMkG<}u7qs`DNq_L4p2{BhzrWtBEBWrDOP}mH zIq>w7MMCYb_XR!AYhL_gFZ;P=>#7cKd);pFocm=c{eS%9{K!AOw0TUi!JoReD2fuq z*!9*LE4P@=*MIUxo!0l%(<{t_Rb3OoKmPpxoawhb@aLaf-P<)lJ1}Kip-m zSmx7x6hmMvO8`-!mjBw?`QU>OW?1FMs%_1hlFuy3oJ=qsRsbesV(`ep<8jB5dy4ex z`!fu{l=bm+NaksC7C33djMdfX(@7^k^8?LWYx>;ylJcI85t+&ZmsJc_by*#KfUW+f62!COy_^U`6QcCoXHH^=BzDo!s#&n zQ>NJffUbRS1(*C;IoEJ-TbE&L_e*jYegj$*d(K+JCo@3`d>%Q}q)H6T**KQ0j79<#zk~vAReBE6EnX@xT1y9QAG&>5?!7F_vQz4Frj?+_&*t z_XX;I`P*Ol?%jyAp2xoM^oq2p0;!~hFM#5}u@9TFfAHOvwQs(BAud5$buSecD5MdE z!BM}D0a8<4w@6)lSEUh@wG;wFeHR8(^X%!%e)QdC&3k_JgI6m4{;@Q@C+|zoKa)P) zLO4U^W2B`8#hRFA7>c$&@y#z)Oh0}#HUk$lS||jisOX({-s>YEE% zepknQ`7gdno!tC~4w>SNtbaHP0H+)ilQh|LEA&EdTL6@42M?WWTl>HNvf%9N|IitV z$Yv8?fBfL_%)+&6+~8bDDtUP0#(A#GokYNhd?Y*?0l)xodsC!lSnd^s?s07Bo8Nz?{;i+ZcHEayvGnn;E`1#A z`_*siT#r*@e#eUEpDAY!y!rF$f&12FTXd|(Y&RRZ#LYfu)w4fc1x~%PX;-af{i2lS zs=ZC7CC@C+|7bDQAVd-d#)A6|)qA@}KMzJ~N4aI|GTVlU-20a1>JT1iIeo0fZ^@doy2#vl?!>9iNbce_754Pi%hSPVR~zNbap-WUwo&n*3zL4NQUEgoXDxRO8 z$^fDD_>snODWzoLd{?yQ(8=a-r_Fay(UP?>dH91@cE{XBOG|PyOxe&1kZly zT(U4bbpGtQzEEn>+=ZEV@A31sezDZCBCB$x+hB%JzHs(vO)u~8l`k!^2l~ch@t(Sl zF}*WqQJIelwC_3IB3XR%DvN9k0FneW^mtqIf!Z$MDqCLRMo?@!as2Es&aa$XoTigU zTK1l57c5yzOPn3GwH>1L#pH3-U=#5nEtaq=xx6~q! z2Zy@bMn=a$HV=TFz1 z>|@}A4=*qewI8T%mTmc~mSnU1$jOuE#-p)`IBf$rK2kT~<3N@`69{)c*S!RqqNreP zfbWhY1I6ZP84sKI^Ri4TOQ&g&fx;mf%h*t9GUS=mm%UJyA*JJ+s{VMSvHpBp!0er$ zZ9TKE>QsH*@gc+V<#Tea@!hX)JvSJP3`)goDwvVBgWHZZc8&vqEnHk^(sR94J3pvC zKN#0nRN4=}we8ILvxiy(Y2I{;79|%50|;^K{Qk|a?yYO-=;)8zOFUxL2XAjZ(cIMD z%QMaemA=}YA09ec(=aNgW#@UBhF9M>U4QoExd4~#(zKm!vMikI9&g-n!LTxu*|+)i z59&gk&Q-dgxKQZZvTNt5(+zDyyf@#&B^P8V-NoS6qx%lF4qmu0;3&!0hq{~No+Y{Z zh6BgAh08tR&JX{1q_#iK0I&1)YV=pE7e zit{V8Jp5SAyKkPUZ8_f_wU+tJ$swlls+sRQe{{sSpg4_5w3suYrq?%}sXteJHlQo; zSnGGcvguG`Ye!2jb}cD&w%1j?f8=~!eN)_ClB*j%c<5k#ePdr->n+O)9o_!+j_QET zRghbhmF@{2+x%8-^Vt&(LP|!uMU!0l2Ot7`Pwmkiht7A_oJWQCF3#6=o;h{+WW(9E zpv7q~E-SUQ?){JbXV2FU+cSI`e@kPm@X5v6&9Cf|+(kBj?Yn#HJBPzDUH%fc*mz+; zV>U&HFO0yH@*?iwdpk~^JA0^k)RCHD*CEw0xY|e#2hMl*+j0x7EJ{zKQCxavE^Be= zzki>Z?+pI%-O=CG^Sk=x%q$S7@_%#d_y@iC(be`+CxsyBYP&EIw-#qRsVjtkR+m6S z2t*#6v&$h zjZJE*`tZFS2lm&EcnjxMlw`qy`hEM4Z)=qwylIxrPn5jp>hQnu>lDX+R2!_tS{O->EhfWQ0X{#0&QSBdm|JMg-9amp_I$|%% zuw1(lurf`Ep*7u9zhiIRg+XJ^iky+1n@+@yT=>lK7A8GiKYZkHq@dUi8+W|dZm*b^ z<*~B-k=OpPdysae=!Sax$Ac1#hXzK&&J4E}0C}|Y^-XW~P~OxO-QcO35lAuq?heLj z9ID&Aw;pgDXSFl2?wZB`V(8)CejOEU?HG#!RcAZ#TdqMBb5n49CSIrxA zq3Q$8mfVzyw)VlOCZ{MXbpA-6BUNmw>!GY^R{d~W159@`ytbtlvl>e8^I7?kvGM3c z`=H;XH%I!L8Un`B!mRM=Bco2M*mCmiBRx7!(|GhC&aGt6ZvDfNZo7qUINu`Mj6FwA zcL_+VGkMZdI4bc|ym0#Pkv8ME_qQH{I^95Bbq{0F$9v8V+w)S{jze!(qdBEcl=w05!+SSx zJ{ROTMrYTI?$~@RqT`}<$4=^U=D`d9_2!2WU2352V0BMSC-zjGljoP3PH)+?wS)Fh zox6^<@EmA6ah^`iV1@2uXND<;8tCXw@fl9M_s)S~jhz~)J2#S+ZfHK;uJNX4IZ$(L zO%P}zV*}$Fqi}rxwhK|47PohgrWaMD8-WZiXRbrI6_6QV0)cP^6kTCnXbbKSAR}dY z+D@5hEGiZ+GJqV4H%7)@9HMlTWr1yKW)D&j0CwK`CruZEI`bnoGfho2iMq5!%Zt)H z*%>wtq^|nn)9w+YH*+mTQ~LC!51HM4ajPdsr$`Xm_2{!tbo2)~dx||R{|nF9djb(r zW43XMK7nv*Dj_wmV!d}B3j|r~KrEYIzBsjFHRJ`(W(G#xv(G%y+&6|y4kLoxqV><) zyZkYcwzzc${r2!4=&5g)CN+{1T=wS^vDV(;pXU zvx{Yrr)beT08v1S1cMkL3I@h_ibmn_ z06>VMlJf(QOav1?J?J^@L?~=BaLL8KFd_ML*$SlVfButH*8_j|=<{D%v+B>cz0lB9 z!pc@7lBZ^XF~*@t%j%9Ef6B% zIHsI7>LZ3IS607pnfGMw|3y#!-^`QV`Bi-N#-}T-pl|<&wf(*6X1j@&C5hq;1}!Bk zmcW3~rL0*0_)@O(7eCuFq06-K{e#+I@!|?A3$P5$>1C^)Smhi(`s3ZF%!TQUzjq{T z(;IqRtDk$khyozG=haOIFPQTkpl>W1!vLfh3Ed*9m{JFti_%*Avy>Fq%GbR z_dir_9Y22JTw~4Yp0tHue{3-mK0CZWAWfbY#2O10-}887O7r3B;Mn=2N5KPMd%Tna zefwTJ6|+^YSY#M*m3u8Mjo9pRrDat*<}RL>5<7LmA8)EXqbdB#lS^2o7yO3kzS_R_ zK9p6w^xowqoxSrayt?a_0PnOCDY9YdL>>a2(_K zMA$L+xusdk5@-N`B(tW9l@G5epz}`dJaDq^c=+703n0T5Z;hr>gLUz|`@XayOYM3; z9;qJaY>vju<`$W(1|&%`VvPo!hLwlLB1<3Kupkwj-~PtVGq}`e80>75OYSMO0$|8p zTX3p=C?fX7bG;R@&Mk1>h7Ai$AXxL;ox@VG#-N3ggtZ2vPI*Cu5b*ajG=z%2{^ey9 z0L{C9A1QnMD=X|k$ol;oeWS}!O5TF?kF5$F>v=W0_>p@ons*Kf@hENdu3G-^eV(?? ze{EcI|0A4Z_rX}O<80ObI#8IZ>FFKzmgnnj8LOABU1k@mx9p}e%IBAd^48ARH1GLv z$60H!H!>FPAB%T8bZeh_wA2_i?fft*Bz~GiblpCXb3q^wu7EO(FweL08{!l7exQL+ z3!w;A0i4)m0h7YI)~B*g%?!gUMF8qj3JX)zZ5-43atoJ~l_Z^ZKq@7-IAy97&XQYV znOUsf;VpHjM`DXF)8f0RM(QWZ?#;E&ILez-Fuj3g#-3JUPcCJ~K;z5JpUTGUNXT`- zn%v66-J$G3ee{KBJ<>y!R1U0c^qEVUM{7) zJb6kvw~IS{w)*rK(C8Q3SIJoUxSHV zYMRlR>C8jvYFhz-LQ7M0+H6JMRdvYzt4RthBZcpMF>t!{|=1>SeoLrn(M5zB3-SXOl$Jy zm$=<(?dcWvM?B^jwx#uPGIbU+#z0oL5do?KsMMal5W0Ad+h z4IIEyG#KL27k%jq_gN?aq`nqC~ zDXHeJ^AZFSFjx(uEb(DRXTc+VqQ=aqW~H;jHnS-vC`q!+Xmnap#)wXu%VJsLCjuc6 zq^gaSF^&t-U~obSt)Dm)f=p=cvQeT zy8%m*EK)2D?29*kY0laA|L#AIKK9v-l~w?-gjti#lu#D2D9^I;MA*FQ;RhZlOPrzp z{V#11lQ-+JV{dGWE&0Y*R=xM(am@3va8yfENDzV(em3LYZ-1xo(Az)z7wv=h0&UT% z2fng84Nk^C1OV9P6pw8?O#9;c>=f>F1e)n&n;{TlF`m^?6bz2VuxrLyMpI7-m<*kb zWekBRBfD7>lcfl2a_Tga6ww%T6qYHIUJHOEh&HF2m8B5W>RBA)sqzP&{Nf^8qF18b zJ9`ag2`5gFMUQbP5S9=G@erRF_tS~|VMr(evqf4V0>7Yana4aw(XpKeK=>0lpK=@f&7xM4C0UXrbrO#fDK1rS`JRojC@SS588L062B59<&(?uScbahK z&Pg|$V0v@*UiGsQllEerqWZUlm(K>x%mmJ|n45MuIl0_8na|{xV8-SZN=(*lwwF*m zs})y0aAvxTw`U(W{pF>tn9*K1yZBix+kXw#nZJ`eUwaZVs$j82Bu<)mw%>M*+pG- zJsAvno}^h$W12%pb!j)VvusCWoJ{{UwIE?nXso~bx}^%8y~*-MpH&gPFX>^ zXVam#|Jdy@*)!+*WFZ!d17LBd4!yj4eBld~tZ+6IlYtxwg<>+IC>#llnsbWGn>YXV z{XSo;zgNm-P*Mtt(eOk}q9`OpL$aJde`({JKYPCkN9-gbWiQwSD9W|Ms(MW;- zA&SNY#rJ;9KjxUbDDS{4FTOjNV)D-SP}cFzEmgzK_1#6TMVwXF{lUH(*ZrIj#d>Q= zPR47m{eCpZ)6>zj2u8&P;QDD3+gSN6306BZ{0SL3Y)wA z_doNXx%RD>4^;6NIISydY2|Y2rLDgYq}x(*3!p~oIk$a}aJns+K1Xkt8ee=XJO}kQ z4SR&awtWqq5!sdMU{VeF@m*WqishP+t@6G(E+uGz)|O)p96aZ&{BjD=l`b86{iQ$l zW{>oAyO%s*(+uq0{!*|ry|=!{nXkAm$H3w(%mHuy+w1;ptFt7(Tzc=dSI2VEg)Vy8 zI-At%4@Cf?iWi_mZ(P)fXN=sed=_Z_J zDz?E4w~AA{E=qav-ivl!v4kscUX*r5^Z#_pE0zeRqZ(XV{xuwU#m>0oxIdlE<%*xR z^V$oZlpbpOq3P18Gb~q_|28XBDdmUG;CWyve^yc1<5cAl!XuScaj| z$oNE@7b%34kVwg0mwkD6m6t)Y6VKYh7ze|#;jut8&U@W$=<9xIkVe^M@A&i>J_D#X*NAg0f6*Y zi_>A^C_`3}mkNvrW6)r8ra6rW0LZXryTfWSv9ztQFf}qTA^>1?XXfRmyL9o9pv2jH zmGjCxOlV+2WI2l`+haGG4SJmh89X@-PpZd2W1Y!lHe0Pmi_31%Fsx2%u%vnCXBx)+ zBFm4BY0@eRJ&Nahs4t8qno;Tjm~Lf!xN*!0hn1lZ+?anE(=grm(#-Fcw8!6v9{95 zn$ruMRA4k1qYXAsR$irt86F7%&Q>;mfju_l2Zr*>1to4;IHd2=c z;kgr;=|F47ob%<=$^c$@G3%^H=Im^*Vx@e^gI4`Q=z8n*Lqnm6U~u2FW_4+r0bVZj z`9-CGtNAv#axG?8Vdj<^`uG|vuBL}G?TD`2VON?F#q!K{D#r&Je)HOHzjN6)pPZ|K zc-HHlD-Le1kp0!#bGclu#ktz7HeUS~Lb$~c0Zbs=`P={jOdt>lgxd}*2$CpCHzURh zM3AAWyF&UZMjWbfhb+lzlvjkNHkFkuD5;jP;&)Fq*OBF!i6_@%CzoccI~4;|2xM7O zL@A;WNbFEPBb0PDsV z1TeX3X3}nDGA#v@ro|8Z5FR!d>J`D&{%0MlP47X+z&lx%t8 zGgNj!^|M-;$rVe9R8w@lbyS=&(>J^=1(p`q#oda#LyJ4bin~h}cPquc*y2#!-M!cX z#fm!=cPQ@gExn)Te$V;N`(A&*?w(|>WHQP8CYj7cC9Ah#RN5r25|i_8R{{&3_9V zzy0TK`IZ&h*z)#&i*++0#2K;q|2^#ji2+;hLwc%t;q6+lWkCSt1iCjEEl2y3F9f># z#i5!*?D(0m9EJ~ch;c@&YoA}ON!=A=f~o%hZS0uF`R_Z0`KDZS)}$HH!#`oaHf0a} zi$q~E%wD%_{801`7s&JW|1{VQV}D;YwZJ(Y;p3ao*EHVW43X*HzRK~nBQ{0i{6Bq0 zKYlxa{NMWx;K1S67+@sRckh4WaKj0(n}UNy>RY1z&I=u@k&&?9Aa)6oP+TO6Y@p|9iES5 zjap{Px}HBnF?U?o?cvm*pV7nq0XAXl9s()D4IV}|t_JETe?1nlwan=1w8JW_5jr)l+DIZ&Js zE+GHw5LgU5ASag1FCC9#A{~1iCVOiHFCy1OFCE9p&mU}Q%9d&sj8MZU7D<+WoM_-M7%)hU{o*?mNEkyG-qS;wu4u!S7H@QgL4buIaK9k7MrKMMF-U?Ru4O6Z zWU?{lcUtSTGa8n&d+OeCH(d#yt1|Llva3$6^x<=6Wd0E9%#Xqn`hCFQ-|L8r(At{F zv__!*YvTu)KQ$qzE^`7$17vzf4*ryVD1tCo$CA6qzDJIy0Wrlll%%FCI=#Kb@wj&c<*4g%VRWZ-s1HKEs zM+#Izg~@mzArjQxTkxlYcKqPQF9w$9$>-btt`3aw>16M_B@cZQ$V|#n9>DAeic+P4 z>L%T!X!Oo4lTO3KMWM*i$;tKoBdPb_u1O`4FPsGZ{rwq={q=&FY)}oyCuH(G`h5h! z^h&&Z@C_uw{vT(Ge;%M!qLGKXayCRXw6$S#X9pXdl~-eyeN6e&r>W?jYin2*YKu&c zj8=awSFxmaH2>)3rI2s4Q(z@$x*Eu{zp#H(V1*t};=|w^nRBjbxg?fKHB1 zLIMh%(9aTsvkUzJyJ4mg@WNe5%rJ4lcP3mN7ne(shaM4bF0SHLG&C`W2Emry!9)g# zL)qv+vT7u~{RH}r!0N4{tLv51m=NCEAaUhh5FxT>W=u$rQ9zgda-u)FWKOjq@B7eo z6zf&kP}I-_C=Ri+zsM?VfmHaZ8H~Ob8?cCaD6F=jbDhzK{Tcf8+n~DKq+OPgV}{e& zdEQQWCYHdJQ_OaLzJQQ^-ZXVbL7Y=}nJ~48P99b^*dlo=t-H81yY*$^NtC? zW^zX+5g1tA#L6mIuv4d)mSXvDMPI`G0C@HDr)Hg@y5&uG=-GGqqQ!x^W4*L{83|*wSR@Q%)4R=vK)j0#!r*&4A zeH+pS4IZ1@G`)C5p1Z@6lynVgyHR?oCD243Khb;r$rvg0gw9|5ib7-AE4|a3uEM`+ z9B`WPbI7jya-V{*cIel7XrLD_w+u)#h8;q1z32`wC{{YqOl#UBarGptnGxRv86yxg z!7S7rfgL*#M2QcGWW{{*%H(0rB&KiU6i?rM?eAI-01(rkJ8j*wRyF9%RY?MZa~>Qr z1{$$quX&IU9dy(ya$Tf<9%2`Qqm&F#?3oaM{i5;KxXDic^nTi~w`SDlr8AlK1(6lE zX6xxc4QP-sxS!J6b;8bvs+%5!XI4J>7(REIyBSsG#@wD62ttabcKQ|jQEW(c*5|G! zV!u0pcP|htvjPkrBkauWhs7@oYKcd=D#Gq+#m0QEZ`DUg9~NhhJZ=f`81=vewu`No z!(kKN;3mIsI(N%w}%buDZN8&yXYFfi@ii?TqWB#PE##4XcA zOiV}sAqN|>0?8AokN}^wwT-z`F}@;;4Spy<55n0|M+c~L6z1m(o%UjJr&p&UGyO<=E?g_`;Az)R%(iUUQ-g|k&N8vm&$4B=mZCJLHqVN&CdPidZf zc=I(Z)5-VH|FM4BdpsB=1~0WQ6zI=*)&~4aC(Zs95K+y_qA>jprpeS^FowNJX#WP| zkfO}*goK1jzsCd5c3~c#q>U!{ceth&7Fk8YPwOZ87cuvpS33r+c9#TSu`nB}t55x& z#-8V=rs{kj@63iEL89c9vjSUzV!1{er=THrJe)%QQlcy%8gi7!5^6aFm)d)LbN`5I zRyK3*-xBv|SeFjT^fr_oumqqWuG|hnT)$tZ)H9qZDyI8w6?WDTSV|GRv-(_Ugwy|- ztg!CSvfHXpkG)^&ASj9YdYx9IzT+(3uc#io((`>Hhl4aiT?)R}J>D}P(Rz~5U7v^6 zBUk6jUHmE$miVM7?kC26HXtBxx;ojyr@60azZ}mk-}m4NS^7n5ry*0V$p8am!dkZH zPtbmI=JS7nnBkL8&ChG;>9rg6AaH%u(3qX=xT-%|Y=i^Aq#;%zjXS8vDDab?-*Yeu zVQOmXh36yegYQibskxciso+=*BY-TG%)C}>T0V~Y{TTE#?Dx;A)r|%lO-YD_-T->{ zyY>K&6syKCmO*L86&_y5nhVl5_cXPz7ftJi@Tr=1pO9!|Nd6wQpv=cP^*kZRB0zd~ z42Pd=Y-yH3g$s|tKAb;FRm~`yoKsxSASRNg3Dc~nPveAt=c=j1F;r5ubS zgWHw`(^pgd`d%=wApd%;K#ZB=^%|5+W@58@I}bO}OzRTdcP;%iz!I_G$+JT2=#tLl@$SqbREHs0U z9WKTMx{-0<`RMMY+3@M&h$Y>HcS48~{0dJ*XI1VJ^JZ!N(z-zmium92{?ao1xB@|w znz!^HH7~yxuXJ#B)nk{_r0?%UoHfg$TIUHti~s=ZB0k`&H=o)XJ}a5!G!Tn!)nZbH z=FnYQ%EVRbDf{Ia?3sN8DkqKmhY4fYf#tpO7s{#~$7?pPTpGprRMI}zv41h2f$0I) zf9MSgAWtQrDC)tZj>c#->5oPvasLpPcX*htVc_FpYs<(qV#2z+ae9*@5djLukWfZ{ zlQo72D5|L7CQx83P2qD_hdUW#ey6SA`7AEoZ$&1`vs{Y}k-(=EUq)cgf99-VgmV{g z@1#MmAO&W7IwgB(H1DRBveJ`dCVgDj{z`_sAri;f1*l>aBQL68$^NuXnE8yA&meoq zj-|_vpy9U7Q@T4ix2Kvmo1H}-$T)RWTQ=5nXdWR1)+^> z1lfkCwc%?veYoVQdyYTjkbd4WD`3B(^v6xir`|$jDlG_=Os-KO*jQuFqrQ?XuwOB~ zLfDC)6(a{@t4eF=S2)8jSx$n_=oK<-HH-n+%Vn}$%H26s(UH;PNGQnl+9*A`s^|jv zCaIz@@L|%N^qM?UGIve-Vx1Vofed35#y6hZu#m)%fhhMCBdzYQqNXZIADWK-83Js- zIjLpN@($kib#lCsgD_Ssbas}Ml)R{`Sw8Hk3+r9VtqPlbP(&3J*Qs5rzmGxZ*HfJx_xK1+p0wT>E3aBCTNd&ex0Lt6 z0FcYO6jm{M?Rh9Yuo{oAK0QUP#m2%r!H&nrVCPiP6~~Vu(T7W|ejCBG?2|rzH3#UT zE;|Q=X$yra>IsS1+h!R;vsGq`(f(a)c0P|miE?;>6sJQ9!-|wc$=MhzvZS_)wT`#O zwS(@(kE7Ecff5w41`pevJ=p_lUJmOHUlaA#Tw;XljQ6^wIitZjC4oRakHj;n;XN#m z7mXi-{DN_w$5!;d4ytFM!HGD2ab9L>7&PAyl@5*l{^76T$8Xq7LGQnGPCPA&>J=;h z(2QMw^Uj|aiTwCD(^k) zs9H1O-Q;mMO(0pqdP3x3-QiM9LEH2G5DRL%v2)>ZK4*8_vf7O9H-39g+~`0;!uLWc z@N%E+GS0dU+KaVZI#L;+Q6${9fyA-KlbohneAaN%`kyHfDn`Z>MQVn0)2tOko&Tz$ zzbC#6uClX2r}6(%IkMz(dV@qwAErF2u-vRzZdSnbhN5J{P%JK+5ZBro-EKd@ob>*; z*gJpfzB86bV=e}ey8~XOQB8poLL=FaM|9CoGH>r5PrUyQ_FS(XxwM+##+zZj4O+=K z8+Rk=5TT@8=D+$GA`WPFy3XWT&4`0Q_J7wUS13K&ZZEqnu^+B?Rcq={B1S6n5@CF+ z)Ndsxh`2nNWWbEjg5>1VjGQ>*PJ*99Uh(E6UlbGm?(til{UTdoFN zn@aF_m-JbEcEz!$UNrQJfGd+u^aW|N7iTaS6W z_UmyeRT00w{L!&X0<@fJP&4-_I%y1C`Sxsh8W(^WIFZZF! z+T%!2w&k1kp`hk@t>bTPTsAzmD=m8JY2SE8JsfMUqh)xAcdFqn4v(%yevOR`jtt&e zkH=YZdTzLAz*^)vd)%H{zz*e9Xti4B!bc6UN)1u}s&aRnpd_08dm~0DHEy%K)DAhY z8w(nh$qK$WIPt!@aAJAhZAHV|-jQ@U*EAr8@?wT{oImyJ3Aj17>gobV-8nI-L2gGX z;=n|+Tg~#-5WgsPv&iY3Syyt ze@}OG8c&E^2EWHM;Q|1taIaVa7QqG9{yz-J;xTcuZ$?yk%S7%cR;|u$y2rTuZY!&+DQP(?xmzl`h%foFPGf%(9<$1La_NT^fgyT%u4S~jJ zGM87aLC;dk;`st0^TTiKYnxUU4Kv+O5S++(@dPdE(#a_ToDt$PG3?{WSq*%PFY@no|ZtEI{(o~yKNa$## z70fU^wvn!MYq^l_VQ_gc$$&AO{x=03s>xFpfpF1m`60`%^RIU0L>wC>vm~(ZFuF-< znb^dZ9TJ=AJGQBFM3RS?B{*MQ%_xT%bK=#u!OvyZm9s_a$L}){HT!N9e`l|lehUYO zrQ>cp;93!4w#OUmH(8CYqE1Z|#;yOY{ zMLXit`NYAjK3_*cMdmx-?pM_b=<(G_20m#{R{guH>IiWP7Aa2oVK>~D+LGya%?yOfOJ9N*H^q8tX-IiJx1XDyXf-z`|IhWrRI%d zzsLOSY#QI^P3b*7cH7@oL$b1-Ui%Cv24utV6Ph)&^-lWW4BFMseSG95awY zt*1IR%1p6nnHDKbt?tm5x)>o`7Y2uP7@k)2egd%g>c8Vvp*b zQ*Je)m7K5+PX(o~+w*F7TJgLl^+9Ic5miqVx*yUg)8BCB4{vq7a$mYCLn)tK$LJ?U zXP~3*GPHc^mJkYu1u^TWwV53qcp^v>v281&?Du`=PuKMhkL6%KS4YzNEI~>5`j&vS z?V7o=pX&=WeRkFJc`!?e+xq5rOo8t)8bW-08^mRJWgsjoVr(`!VUvqVE_Q1_HC1EP z-EDYx4VJ5fH6>I$m#v3?G>Nn_Qhe3pB%bSF=K5svV47#eEYc_tiMp76FiDS}f{$;$ zuB<^nJeVd$8POG#07UD5o~~>(}9` z+rXwyXS4HVS$f;%SC&IZr^4XaMWLpl4-@;xq1n<3=mK?95eQLFW2(>kHP%)i!M8}qr?J;@xO8Hme6}=EV;9NjZPyj2;B~npa`bfX#jL?;&*J|v+10-`^U}3ho-IO4QfG|6KqAT*;bKB}zMd`D-m9$6re7#=+2;)0L(C6Uy zxLQ027V%W_!&_jt+b5VHPO4N!SaOx~^XTg*m0#X=5|_C?U_QZKsd@kVpsTd?%l$ErUA@m6(e4VG&R0Wj=E#B%@GS`uH37@E3A9gi>*;c<6F4No&=eYKuHjqkf zf$O0lrpaf+NTyM6io0IYXi#;sgJwY9a&obn+UNG$;{?KrcF%zyzH7;`p=vJ6_N~ik zB7dV+A5QI@I&RKdN?Bq^Y`9s-bx~ce+Jdsi?u^&#HLOc8!=MdcRxhCfs>}qOhQqr? z<2Md5nB7R^L?tyY{l|N?+be!!#I09{8EiHyU0oHtB;GFwMX%MFzXs03xFfi1_=42u zSy>_{*lIMD!*2spUQ+V*KBO;5TJ~(k=bowGBbr{uaaA~fnyVhRoy^==D%Dug0`_MA z0v*-!N^SihK(p-rMN(4xz@v@zBkl$)kD*uyvU#N4Lfd0pc7OoRCMyjyvBzMrg3kLA z8&#D!ig8WGf(=uOUL=y330{gf>So0?CFXPAKWgX+7Zi-bB8r|lIw{sIeMJ{_K3cNs zE2$@GEUmMMNhW!&NH+Vj+Pni3|9fagBaO#0?eqo|d>_^Ru#i?s`Nyb^rAXc>;B zKMNk&Dss}Rrwlq|FllRHZe+0-AK zC9fayWSh?X0&efEk(`le3asAu?|zLsBIBT*U+h#mNwk?k-Cbm$AGAp}&oN`6VS!wse#n~*(qj5W$kb!K9d$ppAs@CUL z*iL=9+FN2fJ>aDKqyzNI>h&YDH0}#=PIt9PXwYfY(M?~B=eR~8~)M=iG*}08($;f-t zJ>Eg}`D;`^R`g+zTMiExRdzmh4L6^kq;s-ihY@#*slF4H<|Xpkt8ZkVP(4X@&NWLV zQr46M0_+Pu0FZyCBqS!%*mV4;&Z%*Y2Y>DrCsvIrVm4ssf6hglc|3>_A?9+H|JbmY z1}WyB6sIFHV_dIXXm=YcXt%LTTXNBvJ{Xo)a-ealppIR;)ylUxiBnp~sB$xPz^Gi- zs`Y6FdHT$fxTuzjdCgX4#yjmPh#s=PtvJZ|qAAag-Zv0_s_n;$UNWPA%U@--9n3Wv*z}p>W6sCGZ5iZd7yfK@lwcRDk(6V=h>2e@R-)X~bQPxmKgS&8l z*O?@zQg!!1|JTon?i?YU>H26F|F((@)#ZcaAYd3oLw%a(>A)_HasW8v;YpuCY=wf8 zHhX{8dJQ@F#cf;R+=S@9bb5nFGx&OkI?^F2r#rpOIf63m2UR6vqlc{4C@lJ8({{-a zhe{k~hGpZ)f}Wo0(9yiJlDjT!i{=|1i_Uz$lQON>+kEa!>I4-DWmtq=+16|NBj34J zc``i_PeCZ(tlH7&qMhenBG2>rnGM>CSJEuZX;SfGuns>0QgO5W=!WM;A5K($t1;)` zXkub`H_XSQ)K=g%n^Oc{cHFp3fa-Ky|CG(GYY@FiMGB=k5yGjmM$$B|6 z9E~6S-ABR}_&gHyNj>phwfPY==i7r^h=I3h=3E#g=B2!qiy54+p$`m>kC@xcxWkwcAj1#`aRB`GbcIiWVVyU+?QXAY^J;ItC?Q= z33shFiz8Zz0!`#0W|MUw6Xp7C5xU`~62H%i;9&4BzeW)ZdM_WF9@BXti&C-FM6Pe7;P zbjy6NIH~$W^nn}-1Zt(CNx9o1u!>iPskFO7dllq9DL@=l zR;H5-mKoBt(^W_C1q{s(pRM=V?PQ*9lP1CMx}+WH_?9J?oP0>FwWQ;gWi?kd+Fh=; z*B7BQi3~#>nujE8RP&{da*c!)0N&0}_p%}>mt|v$f`gJ0n0*qn_a)_Ud6b-hkZ{%K zId?OU3PTC;{jX9QU2aK=xhgz${+SNYMsmfh#tk}V>E}vfn3! zX74W`_>s-=>u;o6nCA%)FT_S5agAh~X(ddA9CzN|COu!D7IJhr%$6rixE$~>>s8%+2=Fx_P8(S$@3I4@)}Iv5bqQvlYo?z*l>gA zJqN!>h-TXdjLp7RidQNZ0@LFkqZ^l>8kQbS(x!0+(QYxRdc zQiXNgAJZ}ya$rZ>&eeI`{O*F7CC*Omx2&+I^D=NeR+)WYUripYXfZxCcse~yJMneD z{=&2U_;*nbQjQ$decU3&-`k7v zJzs(Cggl+VoV&CnK~ml0rzTSKS*N`sK9LTb=8;6gj3O*b)0}~C$df;H2Zc%+e?j|- zHL@^kz|pnkNM-J?sEbP#mU%>$%mxN|auRST1kB4BV!`%NKdUQDPH}S^zyU`6&;fAv z=0-6Z3{{d^_2dDzj(n5dU7DQ3yqIx$IIfPHc$nmGm4{x7DmdjEt4}+N#q?327RryT zm*ru|3|7?YsY7GaCl}LCAN^*Qo}_8X?;XJb>|k^?7Zm%*${kJ{e4@}-$H{lI zQY!3m=>8PwlnIGjXf7&(CF#~UkrT(B)%TIeS`jjVo@&3w63X(4dYWDJMMK)W^n{da z);gRw=zyEJMOdx}xZI=j-iNC?NxwOntM`H)dN92bqv&WqXh@4_b)AUHO$uN$zj`xp zz3if+pyy-!)5+*#*ENX;D-SIPkRpBddyb%jX7|A} z7s5u%)YKx89YH?&z3ltr1hd;B5nhZC1eD$DUk7%rOVOmh*J<-wT3w%RB3SUitJQK& zmXQt$>c<@>Dz2Y{9W3D)p%ar6BrVq!cu)6te%-N1Niiw*w`QQ+g@wEPAq~jIE+jrN zn{Wn+c9ka3`@r9hQNO`>?@Zl*NxQ}Vv<9Omcynuu;AQ8i1(s#a4*P?^@m^Wc$OFuAl}%->W4Vb5)x{My9#HfQ=S_qoN7S~~4>sui zP-%p~R;J+~It^>zWrW2S>g5pBBXNugG;c1KLT;le36ft|BYL>Z@Au}Ja1gJ&8=4&q zpI`B58$K=i=^wOR-p^hm9cG>jgf-b zcwF(Do!?D15hY$(EBv#q&gyP+6IIB&eJT`#Q7vuUDW+71)6kE4lhgaeHjN=F2*|se z(YHKDbET$<*cN;gW;Vh)HE2fUTNf?nnmkKYcJoj6m2nf;gPp!TVCqH-8Hlwe5&wsP zb9C}#bjP{j_PAxa1}0S_qd=D)ORdVqY(BLVahF7hd6OFSuH|brJRH} zue%KC(zDV=nnE>xT($ra^OLH?LcX7|n@dWz>l;^C7+6>ahQvS)(D?XvjYv`* zwePc#N@fRO4{PSrn4C`Ik>}r)LCRoM^D6`A(T!I}NSz%UwSJ*<;7>wbF_g;F5^@l` zm6oF_i+J781geucIVtnJLXz8TR?*1w@cp}W#pd-*MAZ3s!+RH@g5tM{RN|kUeWYOr z%F+W8C0?P3ur!=|EzCoXj*h>oGy4F5g?BHOkxn;xZVgy3pn6I4QVlbbFcLqklv{G7 zQ7Uenx{4vqG#12{w(@fL+WRF7^vLRWQCScXhk;q7NqVf zFv|oIv*ET_RZhP9dT>A}KWWdOA>GTuDlPh?L?FuX7)sgSS25MffrTe4Dno_Y2eL3X zPv67<0CwG)i^L1>&rWHwOI^BHCD{}^)$A%0+IkGI6pkZuEOA)K7(kchaW=nvk%`p@RbWIg9iHM=9Q~MMhpEY$|8}{qdoR(fTMx z3k4U=$rO`HrZ->KO0oHO?pCuNvz8DKmaXA?VnO@Kz|Uc(=jQUMPKNL4>#PV92j@%w zVyw~Al;_xb&wb^T2MQTWMGlfTuQzhu>;}QvckyNLu0_^m_&!dSHgalYE@ZO_x9weG zUkN?tW{L6zqK|q|ng98GpDD`a+=K2)dK15VI?O-Q6H$9gXa&IEqETYXFrt zqIZ2m>X%@qLU)M!yH1Art*Lln+21s;M3xFOO48(uRvtRQ-uD{-^tDzoPR6l@man2IIc$TITrSA#^wt9UwRi>-qmj^m3 zNh`JpU||sHV_tNs#x#8wu#t@oHw%Y{n9&oV3J@(6Gj^i^c+p-=%h|3Dc?ucHIPc9q zmAQb7KNN3a!i;FCOIsJNSPOb$q^e`5YBQk6Z8on^KOb#xP!}lC!j$ zV6`j)v5!E}i;ghg$h=Yoq5a1z%NQ~M!k^dvX&G5Y+`@IiFd{$k9jt|l-(bE*iv0dN zC=^Ltr~b}35DB+8^PTow`ww_gPba*JUXiMBI=~U`o1Xw(U?6%yA7iQ2E6l){8tndN zGY7EtOc%jx7%dA?W8y#YD-6C|-C+{p8|2JpPe@E(nR*QkwM=!J~s62ePW{TFO@z^DS-q0IY5NT4IZz%I0~#f zQKG6-Uer)on7THHi8S7~2ue6Zar7DZ^>2|XlNEy(O+q_W-GHx?|LW9yqM88#(;zMt z3@@XbjvHAmrmhmdRO3x!XArNe?h;=mYy6Kquy z?pY&8`NEDJCT4VU@tint>Q!*7m(zdvt6+M_LXaog1Q%HQHC*g1mn27-L5Ad!NniaFxsm}aEDjLy=EP`>VDiIPS; z5p+xoH%IJ$P5ABG#rPZG{6-YWIApu{F#pswtF)UkD*q12KWyC*y1E_NC(k@sB6_qm z9F8-! zHR_1V22xj(IzQ)`+!Uwge2T{52n4lnReJi4%-(7S^ zGx|%$l~qQu^Cj^RM2$f&7}@YdM8L}; z;kwPa`{oILij%iHj!K;|?XGM8J;y!)x5LA4W_&^Ow~?V#=YRc+?S@xK8sfa7J9cU+ z%t}S>O+V(_|H?oxaM<`+c7|fW1O{dwP3u@e6=tujbgS&a`Aw!v(XrH`E>Uhb# z;X7}=M3JlQ#oEf&!wHgNI_vCrO|3jI*_d?mAB%i7YEU&d)BNT|tU@i1zru1>jKiG^ z8^pVf2*ua9Dtg$gHC#l*QtNTvb_gGq?g*!<`{=CxtS}Ss(pB4iYs;`&>B^${c>3C9 zlQ_nu^7e2!XO%xbeEdnaGLzc!2q62wn z@ZzPu-!aVt2LAcHl@6POU!$e$sgye`dP?4N*O^ahXOUE_R_CAoO7m)&E!S#QlVZjQ zGsnJ?bDEJ9MM+FFO6Q;&yoQc`+L>ZH;LiD4$*74z5|lecbBtdeG8i-d@cB?~z)Py`q61i&` zC^)$j`RNmEk1cr?5pkpQ2R>{TCsc)pN=m1^&SH4>%CHr~-Z^Zhkt&8`a6@p`=1%}e^X2Fd1NJHpNm75NaRnhJrNd|G3h{*e4^4>F%jo31|{=F_Lpf`O|WeHlq0 zmKFpZ6BkQ7hwfLCP$47;y_Q!pRA+#lDUiNP8rYRg9XNCp`UOSiWs98L^T37KbzJ(q^ZmY z*_m>zpW1DbxC=yXf4aAMb+t54L&!kyjF9qKSI_5j_73iKry!4QdJ+<8*T}F~8wZU`B_YiW_%WjIP^JS>!kUO7E#4$_Pgn z3!SkIO_2|E&l?(cpK(_l`i=4eeqJ7XwU=Q~2Kp}-k4n@EuQYs`f!oiIuT15wSexF- z%BVm(rth$u_!HZ1(RQ|DAtbX>mhOzVrn|pTd4DD`o)c$kR24_aQt7dkv4g8(MAzK7 zBjzt+`22mD6;@D8@N z0(nr{x8R}4_$@Af6Q`|RR&SW#B_T$dBk@6@VjMjAZ+M~#+J|Qr+17_`M@d(02_z3{ zg3JiQup5yfbG;}5^NH-3l_LdjYGNEr$thx2k8f=oMgcZ3I0AdV=DyfA(VKsN|NTBI z1&s;;^Lgre99o_?1vSC~+sM_o39}Cw1*NmX{VNVAk9E@fH%DH+{yBKT6#sd?qP}YR z@UPHU)R9d6SlWre5BKN*Ja!m3dnxguKQUQ>pfTJ_r?Lb9X!;48VgD-f7eO@LW{;OI zFH!dPtn~QZprFPRkS1`-mjUgk7Q+9~-wh3HxAvwYc)aF#zV(L6SN6khxzOsnjr5?2 z6up-{fK^~dr=g8}55Mze(A9PB;DLv!$X@Y1;6v;GHgPu;ll)lY9bWrWC+sZguoD4| zpviQwMylg}?(3^ZsVJfqegHJNE}9;GC&!8b{5D2n-7JUF<-tcD^>`v(q@$SLX)?lH z_e=lUX_BaYU}!sM2eDLcf#Xr5xawCqbnE$r5(*&gHv{ry9F#ZTX-DW!dz-e!xsJLW zRPoWt15lAAZ~w!dXy9T4cv;wbDiouKWt{WNaPoLhh+dn^VneSE5DAJdYCFv^Cir-0 z%#mpt_J&!CdIHvY0_jkXH!wxX@)wAtq?p$HbCKkeKEQCQg9{=-5hC zAg;=`{cJL`QH3_SUksHBr*oTFAe(eNw`)8%8G&$rWOl$kR6`~679pVZ`f%JuOnGx#mqJrd8ROWxKkD?)RHwyA%@>s0 z_TU6uSQ@ysn#%}{q{2khON61J0Oem4_il%-*q5XBy7+gafkLRLVE=bi9v|GI>NB1+fd;Mz^B(1I9FLoNPNf!UfiS=P8 z96Auo4u9L3d-CJkzWO_EE>l#(*)c38omyuxp%Hw(8YRoe^dymFkzs?2zn6R)m8~P{ zfk0F{gBn{m#=V^EfC-`jgL)=V-@RL+88U%>dQRq~9r0JEFyY(H_?;G17?#N)G?(Xz z6RPO#IqZerL4V91S@&bPzpzE>N1(VdzvRG%W1a40AiA(09n-v%ip0E7`uOwXx(0(r z1;rZ{{TkaYm{@t&(_uy&FEm>``@@;^N8&mpqx%}(uKToEZthlKVyH(5``pgQ%pNcC z`E3j4o)jsnlRh1fRhG|x?&G+}9k0Kye}#W9;<-M}1Sb_GtsX?S{&QF(^LAFMbg0Bq z@fi$_+sX7WIfpD8_zKge3ItYoA6nR{Nvq2}U3Yan^>{LST_RRWKy~#nJ=dNL)NrrD znKHR8hBAfH8mqv1B?b?RtE+nE;|b88>u!ZitJP77(Z?HSU+#>ra*hrlV=>z}oXkEx zP=e8L=3|`Xr{PJNBt4z`ZUckNMze!`4-THddsJqp0Dyh)}WTfe3|?|ZWRu5Mzu6l~`G zoy^&3(r`|EI4K?bDxZACpf!F^4muYWz<96ej-_UrFWxp_oD^*D^a zdG?iO=FKgM*bNU#LHZ>94o>uNJ8qw89&Z-i`Z0L z(wOh=#H?gUFh$hx>@ZQJsFN5b1LQgWI1kNj8r&zL{Jecl)AeGd0szDq&}1iYY5~lo z9zXM&tm73iB{np=oAJH8^~&<)_WIZ-k@41M)z505HmmJ)I<;<*W|j9X)6-^iqwt;W z(J1soRTqct8PkTf-`!k+Reyf5IIF3hYp%e}$d7}AiLeA1Cad}Z5uP}v>-A2MN`qFXv~2$5&JJ=z8O-we zYI76LQXPFUx<3{uTld$8C992}pFV+9qT7m5TS9iGD1w z&1XLcymm(eu{VP?z!^>`NIn3bpBV&){Gk=m@8>WHghU&p%2AQGa3?}C?x4y zYAUU+%mXfol~0F9V;Y49p3ln~sK1mHwD?W3C!98a3JcvQI-eBZ&X)hhK|6>~JCr%` z7%v)!zu)$2sAJygkRsjB%1w^kbUx0?5(kbu-n+>;VQR91oaMt3`vHI>O)~6Lcu|Sw zlyVKmrH)2H5dpY=P!tdO|ABR=7@d`-Hs1@D%;b4}nf<#KM8sRm5+kl8G2t0K}lkS1?rdB9My4 z`KvowKAxv>`N81c4HbbvY+c^;Xd|(Z22@*k3rJs3JFt=p1GWJq6{r%18Th7_5sHzI z*(KPKLT1iJPO;aEIW*-QC^Y-Q8^l&SdZXopb-( z{sYrbPxVxFSJnHjT5FZ~@L7_w4*4Yt2vhWJ7Y5ZG1LNZIwiND48E!tO6QUeinCYa? zh|AL{oa5R5i+X0_;%v*Bt^yag-V}&_Y>P9?n@v@ZNnOtgdmFF23fP{*N6VV(j0qJ_ z<(^7_li8s~=pDt^JtrCej5Zyk#dtUAk_!B$G`8Zh_J7fFctAR(;0l9b6aG z^@dp*8u|Y{^&Rznwmu9$f%ZG3f3AQ=WB;H*|9*f*ZvQ-=e?AezzU}z$8W{e!|HW?5 z6RwE=l?DC(0PTObg6^tD_P;9qg`0kjx&6hAp$Bgw<8T+An(Vln1ZpQ9Cihp0Kx5Fj zTON$n{r|p9oQNhGlPkU@7{(fehL}YGcXeG5{4W&ww}kJJp)MI#n!aa`xXo^-{C+D7 z0Ldg#M*&&|&OQ`bFFnstE~6l-kx?s5Nm$OEl*z(XZsEjx^oNO%}vg_@ALiZ$-YvY zmOARmx(E$TK~<60(}>Qv@O_tqA7r?#)msb&rQ`6sOvOKif9@v_{DcRUAg@7wBA~2l zU-XuA!Xdn@v-n|$iBrnN(AtHup1K?5^2C+vHJNS3#5WhAh)&!sx^SNr;if^|nUeFZ zohJ3G78@KUrI3AyoQ7FZrcGhVIvJ-~6_|e+gBCqK)yQ8GtdkT7`TFs+)YVtq`&SDK z3!yaSx%HQ)e$v+qZ{QQeLD=Ut{R#40K+gFY&(^AWuu$F3)Ws3MNIUu?aVNCjMy zl=X1jj_uj4wAYJ%5hi*@pQlVEKH^9ym8Ku~6fu@Au)n(pBH?1kdf$3=bc|WvOwDG6 zUv>qP25a@dJ|8M{gIlg!eODY5QP$=RONRBAZGLx!Jig}iT$-hPVWcGT+}|!}zK=yq z0w6H)82kbBg6vuvrNz}9ld_DVx%XcUHw}Ps+j%X+~G$;imAR+tlL2 ziHKO9*1N$bxXvXvj`buBp{=LobmYvGN)09Pj!6hZL0e^B(MkGz`--sX6puYYTH8yI zR>J9cy3e^mo_&?~+SV=MF`6l%7PG$3Cr!5J!XU|VhH~1p$1!hY4=FTJD4p)oOAwl< zxj%C(HMx2Fiv1{}y_7}Ew$c4!^0MT1jCpy{_(J~1D)IkT2DxwH&~=UPajxF*^*n}Z zI0Jat9;Q5h{!#E^RO;&L%J2D@W@`~m(p{`%z6gAi{OWxm0Q`FJ+M!f-7E;)K`nxN2 z+WRK2^&M(6*wpuWEm(X|+{ruET2=ES9oAx9t*naEm-`)Mg_eKwXq#$U}$zb?Bc@}JqWI}hdeRR zfM^2W26RFlHCBD5KZJP}j<50{d=_|TiTdvk|8-*S=ACd8Dw$K>_RUX&j`&;^x6?(xu6S6;R z9RUMGRu;peQ*t^wwnV~r7oCb>l!`1+n{i@-HZNbo(n=AD zgPxoOkYlyihlAKchqgP}^|lHu=yZe%osO1-{+Ul*-&zX7*pFrqJQ=4RLGwr%36+e8 z-f_lZ*%Ch2qj>v99OP$-Vg?t}=sdA%WN*5Sp-c!kOz8RU!@)cY4NY@fmfz^oEtFhZ z-|m%NV>xJ|0c9a!L5u!xYMnq&n}unhdJy#5KFX@Jb;;;{6{<<jqd3U+>Jc|L=@!vyQkBf?BX{x8=W zQviE_U5#ZOPwSrs}f_#gg;vIO4$8$~Cv^p@h8K39V- z1_&@6){`GN@(Bk?w2p5tZ3$sN{CoqdTt4Jg*3jF(#*|-CETvNj9nOl^>YI*J4arZ? zB9)}WM? z@l?|lPSP|NmG;yy_#twjj3w{r>1H67liqh(Gfq0A4o{}8Vz9pP(I$mlT<{b*kSK+` z;m;rFQb=H0N|$bdj>}ROiM%a6pd~xMlN3dOv)8nRJz7&ELMN<7O>OjBlQ0^Hmuu8a zQ$oS_lUV_iw>RyUqgDQ7%W4+B%&B0_Su)x!z$$#48#tOle%@fAas(iFc&^-VWzI{(?U zDrspFwkQybwvrfCnd)>DY`0Gu`(fSfIpBV3yi^D;IyscW-(91R%7g||pPL~~zC-A~ ztm%ceB^#RTR}TSVVPHj3U1wF&a9(ZhDzlUrU}K=BfA`Nde9?%`qW7u6=z@Ren}o zmI~sg6Cb?|flbQvF4wKwho6WPQPVnxt8woA({64bUV4x;G&Qu2BMJ;IUBPB#lzz_f z8nbhK(=)ru!$menKK?yO@dMLwWhI68@LM#A`9#ub`Z2jhL;gcc!F}J!<%$>+HRk4c zmT2PShZ&BK2;qvdr7@VG94jl7KSi=gmD67|G-x}+YVx@XPGdtCXw<>t(^!GJ&_p#} zYyKHb7Lw1MuJ4|5tx2OuzKZAAV6ajcAEJ;sNG!ulJsdx3EtkO1WsyUrZ&&CzslsQy4|Gt zLw98bPF=12HLcszxhWTSr@+!>D7~%%tD!qZ%JPZWiE?)0&gKulYRHP+b!}vx-ak3`%^XY5T?0~_ovLR0uTC}?*?}P@(l(lzRtZ$IQ7FSYUfdz z`htGsGc(U8n6eE9k$bTR7p~JtRDr{u&={XPQ=c}Ypelb&k-`HkUadqMD8yX)xYK1{ zFz4*tn5O&K87s$7TvS|WJ2E_c>!t7gQJqaZCN}nuFFZ6^HmsjMozX4x5=G1uiAy-) zo5wYS`7H1qUQiV7cl!Tb#;DZv``SggE;HpR!y`hhsQ5Z4m;Q_(G{gm??^)A-3;^Y)~}@j?Rxt+a`Y zDrUk44u;qF-_-Coc3&Vp1Mpjbk0AW6*{419)*FH-%IyG5`(xQ$<$95 zgJO3vqOUH(G*S*xO7t*RmjA|zpBV!B;lBGeqmh%hcRb8yN|d*Sx@ddn`=Y@XzW050 zdrTCOtOCiy`PtLJ0~o)C^mGL1<@aKqn~=*)$p~X%q_OqE$M0aCgr2&etCd21XPEvi zw*#H?LlE!zVu*nk{@my{TKFaSzCiiQ?-9T3$wRgU9h3w&1k)hJOmkY6v ztbK@N2vLz?xwHj_WgUUCff>Bpo{(wS4bi{+DB@`{K%wrFKJm-Qv)Qm9FLng4QvV0) zchTwky{u%~h<=*=8MP@}yC~S-y2{%h3;gJf2JxrW!(t&12tbwbaieNvxcc_R9xsky z)E_L%ANqdf_5#fs3fW#;g4puomMnoT)ilCpe6%Lx_P4iSUsx_i2w7)GSwExX6GjT@7d8&WIW zrNMCq5{(oKJA)tA$!}x#(6npbb_5{PPl9eZHB{Py@pvyod@nY>oVP-jARmRZ3x_Dy zpQvpNGx2Tlf0VVcb8nv$)(lfewo-v4epjYKQ8wU8W-lqKa(2;V{@mrCRK`(6cS-1+qAKWa`h{IGpjT8SpI`sI z#7L;P!iggZkPoa})G>BlVW z;h+07%;K>+!l2IH?c5d&QKErRxJ6pZnx)hw}0Qw?F zI+`T5OsdmyDWH7oK+X{HfK=*vqM_dBZ&e2jUSv>3MZZJ+KM|R}6WVV?HZv_( zF%|2y+O7NAS-fQWGAssj^lXq1zxc*}oLf#$=W$rGx%Csc_KRgqA^0Rc8-{KQVh?8R zOrl6z+PzpPWgPCWYrU*v+jL1x6z5W_2x$oYjHqa6qZ79{yV$HmjDthPP+`6($8vt? zkvQ_OWp`aIgt0%vxo}}hIl|dEJ?PG4w4ATWtfL*Y#ZNPsZyX0Yo^XVuQHkyE0NKz_ zG#8gw?7x2kG}+A>b;sB1tCcQpj=HpyRlz;Fi%arut|T zgc&j(Td?~Lg6LF)fB@hfJ?9|E0Nc)YE$`tBBoPCb7kr(w6Hi|ke>@BZ$3%zSyn#6v z#di^iGw{9>dYQ>I*Quk87oV(R6nNA4OLtBh>#f4P$mL~fnJy;_!MtizCbIwM4a<+O z^<~F{R&ng*{ju@!k2xWJ)Us2!XAu1>xVI*q={%1qf#gc8NmioK!u3q4?Ggs4I-x|38UQmQ|D z9!JBJw%&GnXw>TXN${|U#rGCQNHB2^yvf+*WXSov-U!k53+dg-REf z*L|;nf^Nn49kK0xW(xH;4zHI=$8)WQj<-DL^w!^=5JZZf<}jzX1YT}>TpUPD64#x^ zSG8se1Ib`X9iVhTXd2Ow%St&&IkQ6Pm0Pwa)~c4j_naoWoM|XjbxZqp25uk%_FEmB~KpEn4rf zOoG<0WY)s(Vbgik^>m`$xDrkF%8KeCUSRsc2^2Z?mF`Rz9KbHLDnGPWC=K@==_I$` z^~P+eghc4f$iExa)^wbo6l&Hj23}^qR$R`vdlgu2>5sn0xA{^gfG_7X2H$JjF1wd+ zuN;lmd-(aS%Jf9V7JA4rPh&QH*F{iR25VAD!@$J}SKrpV6yWsgKoz5kYq(Xz{)Y&_ zU>1MK$Nm~`0N#GUj^?G~ddiifOdnshJcTEszB1PAnV$_F|Mphc(n#qzW4t|BUQu_< zEwe3*O%mOSFT_iBTA^pV>O+ngJpv>;(6(asEAvCjSe>p4MGN1R=&7Hw|TX4P8Ew$B*x?Xj1!V!+AdpmR$ z{(LsJr76!LUU2j)<~%pho{W8kW(LGDN%yh$6r{>LAX@doqAS4q2Mmbw*>+Hyk>qEu zaHUygzV)zXS%$KJ{mKFxA&&zfZ8Vw7_c?MEfdDn6Ytm)$eIy$<3e-fBwGU14-5Q8Z zG&JA(Qhe(h{upDV^rw{27&L(9@5XMv+n11b-Z#mcw!*iAm4t?n%i`nmSI`P3B@cKj z0QU|8x8I_BR>-NH!(t1CzETJK|fB#&T1GVKwmyzMoV>Voh zYxc|f(`3$19l16~mvc-O5d-a)4L1!8bE39QxD8h*lHNf@i62G(?RP0IVbJ_qK;r3H zy564?-RjecO^Z{i(xQQBN5}I{$0X)PT^s%CN{xH3p)&9S2v*~4snxG{4-y7qn`a?8 zcBajGGH>@S6|n@DNN_MvjY5?qPq)kWq`a&bT2*F-It?tUoZMnm2@-E5MDCUdkE3qF zwhNdVyky5V>$OTs9XjE+%bQHy{r@bIu{(Kf5gPgA)Y1qZ9#KhTt(H2U-Vn5NetVdG zny8_RttOu72xoA9Xq@N1jM)J(Oop3Y}$YWkef*I7~Qv&7|cT-CF% zR$E?X9lA3Y$pRYI&{7;ZS$$2!)S#={?`Q_+>c{b)^>U60cTyjh<1*h`0~BU1N>l z?N&*9p|({!L)OH-Hd~4lW^!}J42licrv|S3f67^U>k$eVeUoT$uEIcRevcevrDiKa z@^t}yAl+qoi=e!l|KaY6%lpaY{S|w^S^OS|3#l4yO-u+$JlK7>FEU5_)IbG2(1ECv*h|X z234cn0^%oYms6ig_UC!aM#D+=u+`F-n2<#^2GK{>{acT73o_!q7 z>*|z5+F!iChq2|+kw|GH&MIn{S&80U^iUW9OSq~Su zX^V-(h2qOPfsSv+hbj6+_;js2(R*9>aG@|y(R&Vs8WCN^SVi4)_UHV&%x6eFX_EW? ze0lr+-CBDKc*Eo6c}xJe2vsKrErwFYZ76JD($GQDM9|D))$jU-j&G3q{YB%ujzj&k zXoKR9HWtTqTI<$y$$}1NJwqt*6BGWWtA{Q$SR{+Jm2Ioa8fL6~<+LIK91bUe1V-7_ zFB8#-vFOoLw~_N}D+IUd<0Y5Gi>)U68R-lJPs0Vw+MJD3a(K1l5)U&QKH8&$NuQZ@ygv*zT_K^cJRuPKRE1~W{;=+wlBe+Y01~v zA%u(oVr%s6(rRg;Flg`Y!?`PJUHi@ahpUIh#Kfu(w(}?Wzhl1hiHd*H&28lxq2y?= z1=7@wSTT0Eu#21Fi#r|ImA6z-D=R}yAz3H=zD*p46Rovfoz7JyZ(qNw7ra^-1JQBd zj4|_8e7((hkzP*N9lrlKHJBKMoNs7W=!Sf- zeXX!DKC97PYH@*VeiEqLJjCwrV@}eL(@QL0Tlw+!O`e4!K%?e}=c{eF1#^q@nfdOa zLaLU7{an9NavY9e)7>bAQ@xr>UYnS}yuB?$nqZ;$8Swa4s8wh=bA5{Etg4a2c4&w` z!r2!;o@;x!s#K^s3WeHgzAj$Q!&P%Eqw}6=eMRiueaqueoj=rqn#HM(#n;;M7c%U2 zHaYR~)lRLO!`bK!AboH~(!9iih@I0+IT_oz9KuL+~Gq=># zo00G$B)3}3D%10mKO%F}EhcVKk6?H$MOxY6A(qkcfkHg3_+$HWU;*D3Q3XQ3`V!x( z9i*`{-{Lz|#8$mb@N)DNd^NS4Z?RUXhy}XJ=QyOrygX0g*M_E|ujN=rYpp!GZ55KM z71qy{Wn~I->r-+z1+&oY(%jst(UF5pE1U}5nnvxwIdD)c zjl#n{LYo4euaXROV*qQiz|n7wR8uiyU^k7Fl@l2lM^Fz-eraEHJsk6(6n$9Ys@f>uKAt)=DuPF&RBb;WA4 zZk?T7B>C#(^vc9)tOnn6crtcE5apUFectt+LOB!L@^ZkB)i?TS3UrsayXKZ3G&Ogh zpCjqQ#dc64Ovy1$?f7O!$l;tDMn^KJ3m=`c3zZ0s4xI*)@CQGBl2h7|PvZ8rF%OFq zTDZUaU0{_qIYn@2jT{~Bgjq#NQ2n+tr;-79)X$u$yYXcza8FFI3^}7J1wW!dQ+iTa zZMp2H!lgE_Lj;e!^~ZKu13M*=p>L&|t1w7TQnWs?;() zksfQn)oimF=p^gUb2qe(O49s=E}7F|GIt18>(cnxR)L8)e0={CRz#x7frGV8ZBfB!hMtz>)x)HtP&IE?wkY{ep&{rN;1)mcb1oMRfNK*AQ`-Z> znYzstQ1}v4x5^r1F(aSJRcfzK&F=l+Vj_m)|$k#fTQ!4ik%HEb(8-UW2T!%;8tq3Rr!BRYH$zs?)Fv%MdwPyM51 zg%Q>cTzAQVyhK&`sTCzmFt`Dn<@JS)wU<`a%cm)PzVzs!VjB9WR16#(I6u=v%zv@= z#Zczu^Yf6{HQgqpw!f|-sA6U*>As_T{J~K`KEC}0aeoh2US*i9Zn{HW zE~RR(ZE@#*HGJ!Z^Ei1OyT^TL?-+>!?)pC`G_cji>SY|S!ETuT7wCvDjHOsw`oMUgoGM_Lz5tZPd)z8Ss(RgaW>5rMl2%THZ{1wZE5a1uG zMu`aUrgns+0)1jv9$L#2?17i#qrqW#T=+6)#RbLVJK`G&_Rds~pMTd2?3GfijA8cj zMVozfF2ff`lkb~J%0ia@k`-yJEe`u7&9uw2q+W}`aTqVBXt+ppT(C*t+^Eb6ohgz} zO!~9`+UF`GH00ZRsv(I0bab?ReXQP>oYTp}#=}sLd-i_3#Ul<^j>dg)BaZ=%tuI-Q z(wO>)S=vzv1Ip=J%9@N{6byr%ewe6`hvEm@f7A$m^4_YXmr20xa*GXHm?+u8*LuAM z9TY2xyoNvkmJKskeDl6%DMvGf_TIKUiRPxiPmr$9o4wtS5>}bUU!0U^qrnr2tfIQ| z1tdYA0@Z}rFVc|gNUBIle0up>-Lk(*G+c2SC*G5Bg_c<=ObJMLQTj{BFmb`>uj)0 zSkdn+LRdaI62B@qt|1A3M+^MIIODL+3@geI6onv8E&-aNaAhJ)m1s1}{4Z~#m9x#_ z*8EQQIkjzzW%n8&|F@Ah0^vivmKkSbeYUR z;#Xr3c6*bkP^!o2w5&GlcXi>VWYX&vVOx>RN=uHH96S~r%Wg8_x>}D<4{S^e#L*_K~a)kN`2KA|2?|9jJ<-(x~buVlf1FH(bn%f&)t z-(yjYdK-8fnnfw48B2zwp@NDx2AEq$T`x92!h}wWD+Ss-2Y#ip&r#G~AVE zDM%WLW&r1T9lpUuk$Ama`jLc%#;cW+#6FJQIbOXzY_ebnv2l#@&eB`5EZ!8;0KI4h zR%s*~V-cF~xm_RomBzAhRFtP9xg6}jVzURffMTu&t(!@W9xtMArCk*ox0-B{-#uFo zg8A3m+M!zMR$bZ0Wf|4yh4U}Xn@nuQTPe0U>N{3ZkVjyzZ9l^RySznmiai?$ zi3b2d8t=Ez`0Du-k8sR!wIe+e{gbvou-DCP3RJZ^&iK4*qQT>-I64xRSEi7f?H(I4 z$FeCMGg`;<0#2N@kiOSg<#JMmY(CACdbf~Bq>RdT@;=q~^SB{OT1&t?@v?Kow+lV* zq#l(Hs&(OUxsLwE11MTE5-_D#EI^KFNWP8@jHn}Ued)RL+|*a+VBZC_zjhBjGv6bP zu+mW{^#hRTN?nI``YhY-mrGz(22z~nzfR7${h(Qo^Ac6cu(v-_pK2!1w6kvp-&M&^ z*5K*0!?K#1>Ey==-Gzv#NMcLaf3X=DGY;e9Y`%fnB=tKUc#wyy3hAQljkzy zONXawVUW|FYj+YK0XfYpC+}Mr@58Ts=wzXJQ)kPM=X7HIxEdAhl#0S5cmjO=FB8b8 z`uc@FkispoJU+{>R=f4;bI-BG{F$w9JFE~qMBlI;1?60R=GBeK91WR6l;>ZWQb|g^ z1=2)G{DAbt7h*(^iSkDE!S=+L_6g`c-;Tswaptt=aU6`XxQQ<>!6uBK<5F4Ht>=Ao zuXjULo>f!+)t#*}dFmu1h!O6zc<2-gqIiS<4}97VCqa4 zP8^~bv^BkR<48v$mf>Yzn4iV2!ICoZ zY&6=+S{sXO`{f@$vf|TD^zlH}J$M=MzOMHESo`XsD*S3{^kr->14g4I2>y|T-?4!r zCL@0Lv%0dny|@A$lL3`3C))NIV><=Zvc4vPsM}z9 zuF{e}9ZW}^pV9arhRJGu71_V)PJxSahK78DEPB?By^V*?f(wgN=y3-2z1#PEpcg>v zmsNR&652uKQt>~njd}xg(%l3eUP0P3Sj5)MIuQ~W2^*sqLzfx(hQp=qtyj+DyB>xr z@zlC;0C^A;xE9v^wZHvNLx@C!748QT)#x$KZ5>5_7m5rj(7KHSXVy$B1@1UYS@brK zfm0amiy@DURYLb}0xKBeO`0%hpm;l$I&cllF=~+l?jRBUB$FXIwD6x6qw^^0T0V|D z#w9P;Tdsg+M&zRn6PoX+@obx%4x|B$I5YvjhLA@?GON0U%ZiQ`*sv96O%Rf4xpc%a zg4#YKx@07#JAund04G*@9vap!(xf;r##rCcjbWIXtdl)M3F0CO&+9qBo@oS(Ie)m3 zlY>oUbO8P4YSU(GLv%p{hB6@p!C4Q^wj3^}dG?HP$(@D0yq6Za%eKAFAT%*&i-aM@ zp|^?a{)N3njeZs>NM$%0k#x29d8sumHjFZc87c<#tet5tlbZuJPj@K^I11cD@g?yTas{#$ zP|E<&uP^8ksg+4(ASQecoYed*m%u`txhYwjAqXrx%5;UJu7x7|(S@b4_pY9lZWA&E z$I|iwPE6WW7I6p>cI*@-)?l%;6r*HCM+HyyCys(owWi8lpT|xDmR4ZB@o9#)+Vp97 zdp!%`_oOz+?@=3_yy58Z z^)^)SI8M*)lG6-%`7rURdr6)Jod+}XD32{|78@$>yi;x8jSe_g?Raa94mh(9n`Scz zV5)?xbGc=}z)%D`l@$%e$+#5~TB{mKZDNX0zJ4}-o}MM4CO+JQg<&R#@**6qv+_HY z2ynR-C>qTPoTl60!jq9~jD9G06VL~o;x`V$is4e_C#Rg-B;)X_VDl&-FC+J+SU7*o zk7krao96OrA-6lQ^Z~mG;`6Hxi-VkW&|ymv2y3SV?2F@FrzvUjNH-Jm)2)=NcJH7j zz70^;l#TXha>)kU=X?l(g-vg^lEQFxN#|M4vj;b767%Z~JdgZHHu}%^J;I93(Svik z37>43p6`f|`cWD$@{cVo`5MYxyt(zR9Np{=sG;6F9H0kBxD$rj`G6!9LYyyKaTblW9<+Id#c)6o%iFXU_`AR%|}?jzONk#(=wv%m9?31yT&<+5>)Qq3Fd z6t}J3Lev@>q4wj8LWxT0k`4cKfu}7bj_SL};)15IJRM%HNfwO)NYe~M@R}c9W$YSY zfXJ(yox{y>kY|7J`3($+vJX$e*CxZ6yYEto21+(<1|qd-^0l! zB13p6lUlX%k){r%4C))}!WM1P3;r+eC_uSFXfRoN)RLw;R!LbbCKM8EKO$6$OHL_` zI!I!&XPE>@rXUx{-Q>o5x0`dcDp=Hsb)aGwC-47a_4l`JjC3MG4Oj|3l8QtMf}*1* zxFSO@R4}}ZK}lIsbo+N!r3MHQRPq)q9Oq~RfIV55Eo^_&Gw{%67sF-Bz zDAc0xAI|fbItSRZ-&IE;Aa{8R=HaFs%J%aJDyVor900gB`jC zKent74_tiP=Q}K&;arWisiWD+=*v)~q!2o{yrl3LJS17Rt~KdFeU0f`pIyBp&;ZZG zs&~Q<2>bRcY0;NnO1L~hRR!$btQ=FTcW`J(a4^E0fAbJt^W0`ay=LC6HcpVF z7}jvd$PkNV0Eh}yK}(L#j3M;gfM4j}E0dqyJS}M zC-@hrsZR%zSuP>;Ro0Sxt%tyTkM1~0rB=n1QXP!NTaje*LP>Ai3==8D|BNe#!3e#~ z<^Rcj8Yust#AhSse{yOlJzMVoqZMLC`v3jH@Y7!+uyK#0cGmt$)$?`S@W!Q?Wz^GJ zA09w^?<0)kyZ?Avp)$c78;lsIastlbbbh?pg3t!a`|vMeHq9Yef^WMLx>cYOtE^NL z9|aS3LPq?gj%+2*C??{Qbd~T|EgLFt?SqKB^HbpoTw>$2^q)fM4sT<>ddvm3q{t_d zVp5}-R*Gw3Zrh!mn zP3C}R)$w1S5VL7jhs<>P9zd3KnDp-hHk|YOVo$#qV}U}}?AJg-*=kOpBh-HSNaV`; zR37Z7tEqJR43rxwYtD}_cx?YR>IQgATFwgJj}(yO%zU=kyMD^3?xAYK)|dQU830sE zqim^4tWptPPNN7pLb2W4^G_HY)9q`7@!*2?49fphU;EfnY3%f}Qz74w#6U~0mR6h} zO(H=J(X5pcit+fiGi0!A(fB+V2VYmYKEO2ebU?=w=)r6SBGc(4@5Cbu{$n@WUm3Wiyh1YC zELY+&V|KD#cmdcgVlgw~ghv2W8tLJSQBO|NWlgL2vvKXclmL18cpT*24phRQ+n$^F zR`&ViMkY;Vh*vZa>fVyY1cLw4;clQEH!?;%?hrQK>ZFLn{vibvaM~5B(#P9Bs7$Cf z#EOn63GPu6b6bpl2)*45>E#nkLX!`LR1;qV1c?v|Vq8Cb3|^*ImK(+A zm(R#~vr6#Q!<0s4(jWY;c=P^*!XeCoU!q0qzY>55wnn^3A2`qWebB5C0e#p76!Bie z6Rr^eajbg&nr`hbH1%0)tvp-)-a%R%lb#$%GwR)p0SAqqhM-uGHD{;3B3JElVCSmh z2or;eQ*YsWL@Lg7WHGMPCVNMAepBNybt(tdy9aU|i?mSMhJyW5Ulo*azXj;t`7RLwRC-pjaijvoDZ`8-k|mvEL&Xy+43N5r*n;0; zUk4sEGdj5YSMJT0{UI+(yy=26++9%q?eqG^yfIiyWA$il-vMyQF~V=A zl{4AQE1xeCdgipq=lupfOif4?qyG>vmA?+-zV_c5H}KicwlQCSO4PEq9Z#(|$WKll)+Ay~6Lu*vvRP|r(xJ`d z$&p7S^4lyQ<|nGH_c;kST?AEES6sXUFmmyRvk4>6rQ>6}SnL=jj3S`k5Qmd>(uJGI zMsF}XCgvi+0>av~J$_|x-LU&}g#96p`e>yRLb3eg@N;%`rYu0;FV-oMR!{Piv{Tbj ztab~{yJ_GbdTuWaNVu+kHf@nM7h7vN!xUlPuWb|< z$Fl#uVaQU_XpVoPRDUEYs=LO1aMk8Bk14#)i+U$`m|G*sl)1I=su`!-9|Gjd=_$04 z13tSto@u>2+#Xk$<1^N)N+J-@?go%=LRf?zTK5HL#tR9*ZEkWk3qSX?D|tWBe00d; z1Eg;TKiySk_=L{%kTh+Vtj3d_;WgGbRhKnk)a{laf(V`V!e7PH=R#uYGTsm!^!-k zrzdjaD>fFT&l9PwOk9f`SDqV5{#C^G2`H{IDMtXO`MXYkx<{8l@n;y1-67ExM5%_f z?Tb6quZtMj(^rmsLcludCSE=29lA(%Y+w zSE0R{yJPo{8LkwtSkQ=>a$|^Okf0&*;8D`A^~)#4Ke{$E(bkAT2%g4PQTo zq^~#OcJ;oZcrf}blUf8J&Tc5+%hqKbE~$~0-#v6UhowYPaJ^nl{J0(OjQ2qYS&q*o zPuue-%c^1PY2|vY*PhR*oYBKoZR7FUgDnIm!MqE-E1akNlicK!`?=5oQS**b`{PfR zRqfR}JH1pxpJlC=+x4^doCSbab=3;SR@(4kGJLXgx1OAl4MXd_?Y-}AhUbs+S0{7K zSaWd^n}#7gOo__!@_Xcapzq}DJWJElllS?vjfV$xn{rTk?T9`~mX8GYs3Wk;aX?W+ z9gF;d_{B!a0{EH`-#=%6ARxc88!tXn`e58(t#+Im!et;T38}X^Ff&EFaLQ}59h<7mY8B6Kt9Eo(YNNlr;{;n>>b z1Vk@Xx4jO0LO1yv60i9GYkr4I6xon#`bG2-&7~=juin$><#1y%eaUY9(%a`P1=dHk zS*A43{BWq%tLK&AiIrNxr{Qqvw~J&EuytxG_&@9*3Ba)(eL1;_04J`i4Hfn4i}Cg| zo%>c#9^moM;JKGCbM4m-MlUx8Mm}Jx%_KU%LDtj7Sv)6#kA1Cf>(7%SvJCCj2l?ef z%?Jk1r=%+yo)^~<4iEP<_p11W)VPRycoA=>191+{j}8|hvCn5skks+_iAoHVX&GPq z0HUELc%FQGnXS)dj=UHs??hbg4T2sUgH6(U!zS>uzQ|H_9%48J*u3M&Nnpn8^uK-4 z9x>JI3a7?%B4afEsv=t`!#WMpo~bwy)J&tv6s4}kt7oms_L47%qZn!s>wMoowJcoc#NF?kH~2w0H8z5Bp0W?vTU&%Kd`;u zh$n&nXe!x;6{Q>{WhL@^Uqd<|l!=0?CLF0!KA~-6EIA5lD%VbMpVMrqKIJH-M?{$Y zJ$ZKk-za+RzH8lm{iat2a;$l-$&f(%gLrNDb-&Se4SZ%G@^mWjsv4Vlo($<3ckm#? zdEX1K^Bc6J!jM2@(*jf;HoPdtEi-r`&HQ%ISwI6mQ-dzl05aDh3%mC(uG?u2`zcIJ zzM*)fdQqH#<q(Lh?O%7t z{iRGZtQzXb&n$9i62+FydLaF3DAcKpsdz zzLn@F%(`H2@XD3hu1pTQg+jbUWOS+RxVdUQUFLBdcE2OHMHHq8fA3LKa~s^SGseJt zr`!30c(wbqQiXMBExf}2dq)$*aLHyscwl3Dj9RRdH=F18#)M&Ibzz01e{HL33ng)Y zPAstE+izR6T^uip^iif&bW25RH=Tsp`L%_mQklbe0R5DNWU2P>Hbem zXC4pb8pZL^avO@7K@6cZwj^duVieg%Xt5>N^06dMlp$naho&J+gvJ&kt}I!~)>sl# zDx=*e@H=+?y&AAs$6^=a z4!+2U<|yei9%?^6vmstnwmo|1EgW$&wb^aM)spX#B;5|U)wLwug;eYCy7A<4=P7-X zyr8E1b-y{v*0;$p!E`rigL8F41(Sn9<)n+-*G|v2qxHnvgx=Mf{((*Wl0-?Eud0%a%hy{Ww=6Is zyYaz$ttg`%~N`o9?ztJeEgZ z2nn@ZM&KKnDZC2?dy#UKjJx~|HDw2-E|6sQb~7^01=hYJ=TBVcfylbawFhACag||~ zodW0YeN-)q=?Yo@bv1I5p$`#E1kbWQ1L{EpdjFpUj$V9qLS|>DieO5^sPa3Yu%%BY z%01Vn{+hBSgnCtu`5(xVuO1PKYg9j@b+1HoW%kX}EzV17#Ds$$czS(h*<^c^z+zkM zu=z5tq&?=#G!(+~U|%O#tq#frIWwgOuh`LF-wgDZt- zC?79j%u9p*E3{NpQ@5F*1C~xQf+o>@$0*QP*mHdpUJ<0+p+NWe^aFgaFu2PA$n_%; z7ernYa-E9o%_dHs3j(AxE4ErOyy^C%+wB50}rd(n(4T|{shmr%z z^o&)yfdddiClkLY>wHA{J3#+_V>#tME1*e#Q*IcaC-Hq10^N+p}#Rl z2d4oOd(DGf(xhT{LafX&)5yKzpv7H`C6IIjnuOZIz_^*Dz`gwM-YARY$DS*)001#l z;60@!Ht|l+z~0B%fbJ#sANmC`uaw_pk}Di@T-(Z{FvTTMSYwrn1Cx0EP*n`I%!P?6 zPseu2PlnH{{LV5teLgU9x}2|N(pb6(P|vTtKotVn3robt!G0b&q&AK%2(uGVO! ziUxZte$c}gYRYvzR2`3UeO2^AM??>PSad3P{&ON8z+&6$0E>HU!Wp+s)kq2fWYYv! zX>(eA!a2CdNHdE%cgeb7|4d326eZlU<0~BR)n%gHtTK4w3l1F)2aSE()!jrP9B~i; za{>D8g4-cU8F>8+^_=YozY^XdhL0_d$AB?V+j3~|x%NkJ#zPGN2NVI>Z4d=KnFi1# zZUeK5-P+k`Fzzqh8x3{ ztG#3hs5MT=#WE_jpgsv@=%gvJI~Y*y%I?RoB>C`)jqL33Ku%dhSK%eaQzuTJVj8(D zKMg&Ar~Z6VEYcC~@0_{`Z>D6v&fSA2>tyFeKHyr`ZDWX*F%Bc1*+r^wd9r9OBs4#K zCW3f7+_ZvmR_hH>fG5j*;ph+Htclu@*X{84d)^iX@N3Rk3d}BYtdHr>d7^5#ZMW9r z18Gdn1)sXVYM{Uo?1;2tTlLuB{GbH|owgs1vJ|EI?87k9%T=+fZ zM{IW^FoTGT5DGaoSCXLI(1AUIQODit%s#*P@V(=J7De3jY?X-2N!Rz))K_`Tl9wi*Z7P?Xwlh4X1oFlc z&7!Y=Pi<;k(Yf$0J^sP7P3~~f_VMMh1j+C015nl8hNYPrTN`&0%XiI<^{#(;)9%3p zjdL|Y(|>-bzA65Ab@1v^Uc1F-lO3GXYVpgLTH+OUVSYi!S5u}&raG0i#D9*~xiBML z))GT%KUzNM1}YJBa*yR+{qYZ8&b^f$14Q~{YRb?V@oQQetD{QHguzb! z(Bh9lwtk-HX;Hy`y=;LT2BI8y2g1ek0KQXJ<(>zDxLo_Zo)WRrr@)~Q2xN@C KVo;{%MEDo&GbX?Q diff --git a/readme/custom-tracking/custom-tracking.md b/readme/custom-tracking/custom-tracking.md index 41d466984..d43b61cbe 100644 --- a/readme/custom-tracking/custom-tracking.md +++ b/readme/custom-tracking/custom-tracking.md @@ -1,4 +1,4 @@ -# OzHera Custom Monitoring Documentation +# Apache OzHera(Incubating) Custom Monitoring Documentation Bold **Important** content is key, please read carefully. @@ -162,7 +162,7 @@ For more on using Grafana monitoring charts, see: https://grafana.com/docs/grafa **Important!!! Ignoring this may result in your created charts being deleted in the future.** -1. In Grafana, OzHera has generated several built-in charts for the business, including http, dubbo, jvm, db, redis, etc. Custom metrics for businesses must be edited within the custom metrics. This is because built-in charts might be updated in the future, and if your charts are elsewhere, they might get overridden. +1. In Grafana, Apache OzHera(Incubating) has generated several built-in charts for the business, including http, dubbo, jvm, db, redis, etc. Custom metrics for businesses must be edited within the custom metrics. This is because built-in charts might be updated in the future, and if your charts are elsewhere, they might get overridden. For the syntax of custom monitoring's PromQL, you can refer to the following documentation: diff --git a/readme/custom-tracking/custom-tracking_cn.md b/readme/custom-tracking/custom-tracking_cn.md index d9749b0f0..005f941b7 100644 --- a/readme/custom-tracking/custom-tracking_cn.md +++ b/readme/custom-tracking/custom-tracking_cn.md @@ -1,4 +1,4 @@ -# OzHera自定义打点监控文档 +# Apache OzHera(Incubating) 自定义打点监控文档 加粗的**重要**内容较为关键,请仔细阅读。 @@ -163,7 +163,7 @@ Metrics.getInstance().newHistogram("testHistogram", buckets, "methodName","url") **(重要!!!!!!忽略可能会在日后将你创建的图表删除)** -1. 在grafana中,OzHera为业务生成了若干内置图表,包括http、dubbo、jvm、db、redis等,业务自定义指标一定要编辑在自定义指标中,因为以后内置图表可能会更新,如果你的图表在其他地方可能会被覆盖掉。 +1. 在grafana中,Apache OzHera(Incubating)为业务生成了若干内置图表,包括http、dubbo、jvm、db、redis等,业务自定义指标一定要编辑在自定义指标中,因为以后内置图表可能会更新,如果你的图表在其他地方可能会被覆盖掉。 自定义打点的PromQl语法,可以参考以下文档。 diff --git a/readme/deploy/ozhera-deploy-document.md b/readme/deploy/ozhera-deploy-document.md index 83bbe0c84..ce40fdfb0 100644 --- a/readme/deploy/ozhera-deploy-document.md +++ b/readme/deploy/ozhera-deploy-document.md @@ -1,10 +1,10 @@ -# OzHera Deployment Documentation +# Apache OzHera(Incubating) Deployment Documentation ## 1. Deployment Instructions -The purpose of the OzHera operator is to launch an OzHera platform in a specified namespace in the k8s cluster. This documentation is suitable for R&D/operations staff with basic k8s knowledge (PV, PVC, Service, Pod, Deployment, DaemonSet, etc.). +The purpose of the Apache OzHera(Incubating) operator is to launch an OzHera platform in a specified namespace in the k8s cluster. This documentation is suitable for R&D/operations staff with basic k8s knowledge (PV, PVC, Service, Pod, Deployment, DaemonSet, etc.). -OzHera is an enterprise-level observability platform with a very high complexity during deployment. Please read the following deployment documentation and related [operator introduction video](https://mp.weixin.qq.com/s?__biz=MzkwMjQzMzMxMg==&mid=2247483720&idx=1&sn=c38fca2d3e82de43ce22acad73a1be21&chksm=c0a4de07f7d35711c5cba634c3833708db19fcc9303a50b77f8c1601831cac8e9520e3f32ff5&token=1000658198&lang=zh_CN#rd) carefully before deployment. +Apache OzHera(Incubating) is an enterprise-level observability platform with a very high complexity during deployment. Please read the following deployment documentation and related [operator introduction video](https://mp.weixin.qq.com/s?__biz=MzkwMjQzMzMxMg==&mid=2247483720&idx=1&sn=c38fca2d3e82de43ce22acad73a1be21&chksm=c0a4de07f7d35711c5cba634c3833708db19fcc9303a50b77f8c1601831cac8e9520e3f32ff5&token=1000658198&lang=zh_CN#rd) carefully before deployment. ## 2. Deployment Steps diff --git a/readme/deploy/ozhera-deploy-document_cn.md b/readme/deploy/ozhera-deploy-document_cn.md index c8941b346..a5f86ffed 100644 --- a/readme/deploy/ozhera-deploy-document_cn.md +++ b/readme/deploy/ozhera-deploy-document_cn.md @@ -1,11 +1,11 @@ -# OzHera部署文档 +# Apache OzHera(Incubating)部署文档 ## 1.部署说明 -OzHera operator的作⽤是在k8s集群中的指定namespace下⼀键拉起⼀个ozhera平台。该⽂档适⽤于有⼀定k8s基础(PV、PVC、Service、Pod、Deployment、DaemonSet等)的研发/运维同学。 +Apache OzHera(Incubating) operator的作⽤是在k8s集群中的指定namespace下⼀键拉起⼀个OzHera平台。该⽂档适⽤于有⼀定k8s基础(PV、PVC、Service、Pod、Deployment、DaemonSet等)的研发/运维同学。 -OzHera是⼀套企业级的可观测性平台,部署时复杂度⾮常⾼,部署前请认真阅读以下部署⽂档及相关的 -[operator介绍视频](https://mp.weixin.qq.com/s?__biz=MzkwMjQzMzMxMg==&mid=2247483720&idx=1&sn=c38fca2d3e82de43ce22acad73a1be21&chksm=c0a4de07f7d35711c5cba634c3833708db19fcc9303a50b77f8c1601831cac8e9520e3f32ff5&token=1000658198&lang=zh_CN#rd)。 +Apache OzHera(Incubating)是⼀套企业级的可观测性平台,部署时复杂度⾮常⾼,部署前请认真阅读以下部署⽂档及相关的 +[Apache OzHera(Incubating)介绍视频](https://mp.weixin.qq.com/s?__biz=MzkwMjQzMzMxMg==&mid=2247483720&idx=1&sn=c38fca2d3e82de43ce22acad73a1be21&chksm=c0a4de07f7d35711c5cba634c3833708db19fcc9303a50b77f8c1601831cac8e9520e3f32ff5&token=1000658198&lang=zh_CN#rd)。 ## 2.部署步骤 diff --git a/readme/optimization/metrics-optimization.md b/readme/optimization/metrics-optimization.md index e9024b9cc..a7a4d0f37 100644 --- a/readme/optimization/metrics-optimization.md +++ b/readme/optimization/metrics-optimization.md @@ -1,4 +1,4 @@ -# OzHera Metric Service Optimization +# Apache OzHera(incubating) Metric Service Optimization ## I. Optimization Results diff --git a/readme/optimization/metrics-optimization_cn.md b/readme/optimization/metrics-optimization_cn.md index 0f3e411f5..23bf0e3c8 100644 --- a/readme/optimization/metrics-optimization_cn.md +++ b/readme/optimization/metrics-optimization_cn.md @@ -1,4 +1,4 @@ -# OzHera指标服务优化 +# Apache OzHera(incubating)指标服务优化 ## 一、优化成果 diff --git a/readme/user-manual/user-manual-document.md b/readme/user-manual/user-manual-document.md index 3ee773f48..229d91f89 100644 --- a/readme/user-manual/user-manual-document.md +++ b/readme/user-manual/user-manual-document.md @@ -1,4 +1,4 @@ -# OzHera User Manual +# Apache OzHera(incubating) User Manual ## I. Application Center diff --git a/readme/user-manual/user-manual-document_cn.md b/readme/user-manual/user-manual-document_cn.md index d57915e13..9d0dd090d 100644 --- a/readme/user-manual/user-manual-document_cn.md +++ b/readme/user-manual/user-manual-document_cn.md @@ -1,4 +1,4 @@ -# OzHera用户手册 +# Apache OzHera(incubating)用户手册 ## 一、应用中心 diff --git a/style/copyright b/style/copyright new file mode 100644 index 000000000..0ed96c451 --- /dev/null +++ b/style/copyright @@ -0,0 +1,14 @@ +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/style/ozhera_checkStyle.xml b/style/ozhera_checkStyle.xml new file mode 100644 index 000000000..4e8aca1d2 --- /dev/null +++ b/style/ozhera_checkStyle.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/style/ozhera_codeStyle.xml b/style/ozhera_codeStyle.xml new file mode 100644 index 000000000..ada8217bf --- /dev/null +++ b/style/ozhera_codeStyle.xml @@ -0,0 +1,144 @@ + + + + + + \ No newline at end of file From 13f1e28412cd2b655d67bb3353065860fe3612b0 Mon Sep 17 00:00:00 2001 From: gaoxh <32359336+gaoxh@users.noreply.github.com> Date: Fri, 15 Nov 2024 16:30:00 +0800 Subject: [PATCH 07/19] fix: update spring-context version (#503) Co-authored-by: gaoxihui --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f3205e6c5..4d2faa9f8 100644 --- a/pom.xml +++ b/pom.xml @@ -509,7 +509,7 @@ org.springframework spring-context - 6.1.14 + 5.3.29 org.springframework From 0ea52972268f10647000bcad88d641d7a8fc322e Mon Sep 17 00:00:00 2001 From: gaoxh <32359336+gaoxh@users.noreply.github.com> Date: Fri, 15 Nov 2024 18:42:52 +0800 Subject: [PATCH 08/19] fix: update nacos-spring-context version (#504) Co-authored-by: gaoxihui --- ozhera-webhook/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ozhera-webhook/pom.xml b/ozhera-webhook/pom.xml index 4f19f7a48..d29f6f144 100644 --- a/ozhera-webhook/pom.xml +++ b/ozhera-webhook/pom.xml @@ -42,7 +42,7 @@ com.alibaba.nacos nacos-spring-context - 2.1.0-RC + 0.3.3 diff --git a/pom.xml b/pom.xml index 4d2faa9f8..b9ab30714 100644 --- a/pom.xml +++ b/pom.xml @@ -158,7 +158,7 @@ com.alibaba.nacos nacos-spring-context - 2.1.0-RC + 0.3.3 run.mone From babd7c94e65c178a62aa5de2819c613ead1e1fb0 Mon Sep 17 00:00:00 2001 From: EricDing <128116675+sadadw1@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:28:28 +0800 Subject: [PATCH 09/19] fix: update trace-etl file header, include java and md file (#505) * fix: delete unused annotation * fix: upgrade app-api and app-common version to 3 * fix: delete rocksDB unit test * fix: update trace-etl file header, include java and md file * fix: add trace-etl file header type, properties and xml --- HEADER | 31 +++++++++++-------- trace-etl/README.md | 23 +++++++++++++- trace-etl/README_cn.md | 21 +++++++++++++ trace-etl/docs/extension/extension.md | 21 +++++++++++++ trace-etl/docs/extension/extension_cn.md | 23 +++++++++++++- trace-etl/pom.xml | 23 +++++++++++++- trace-etl/trace-etl-api/pom.xml | 21 +++++++++++++ .../etl/api/service/DataSourceService.java | 28 ++++++++++------- .../etl/api/service/HeraMetaDataService.java | 28 ++++++++++------- .../trace/etl/api/service/IEnterManager.java | 28 ++++++++++------- .../etl/api/service/IMetricsParseService.java | 28 ++++++++++------- .../trace/etl/api/service/MQExtension.java | 28 ++++++++++------- .../etl/api/service/TraceEtlService.java | 28 ++++++++++------- .../etl/api/service/TraceManagerService.java | 28 ++++++++++------- .../apache/ozhera/trace/etl/bo/MqConfig.java | 28 ++++++++++------- trace-etl/trace-etl-common/pom.xml | 21 +++++++++++++ .../ozhera/trace/etl/common/HashUtil.java | 28 ++++++++++------- .../trace/etl/common/TimeConverter.java | 28 ++++++++++------- trace-etl/trace-etl-dao/pom.xml | 21 +++++++++++++ .../trace/etl/mapper/HeraMetaDataMapper.java | 26 +++++++++------- .../etl/mapper/HeraTraceEtlConfigMapper.java | 26 +++++++++------- trace-etl/trace-etl-domain/pom.xml | 21 +++++++++++++ .../ozhera/trace/etl/domain/DriverDomain.java | 28 ++++++++++------- .../trace/etl/domain/ErrorTraceMessage.java | 28 ++++++++++------- .../trace/etl/domain/HeraTraceConfigVo.java | 28 ++++++++++------- .../trace/etl/domain/HeraTraceEtlConfig.java | 26 +++++++++------- .../trace/etl/domain/JaegerTracerDomain.java | 28 ++++++++++------- .../trace/etl/domain/MetricsParseResult.java | 28 ++++++++++------- .../trace/etl/domain/NginxJaegerDomain.java | 28 ++++++++++------- .../ozhera/trace/etl/domain/PageData.java | 28 ++++++++++------- .../ozhera/trace/etl/domain/PagerVo.java | 28 ++++++++++------- .../etl/domain/jaegeres/JaegerAttrType.java | 28 ++++++++++------- .../etl/domain/jaegeres/JaegerAttribute.java | 28 ++++++++++------- .../etl/domain/jaegeres/JaegerESDomain.java | 28 ++++++++++------- .../trace/etl/domain/jaegeres/JaegerLogs.java | 28 ++++++++++------- .../etl/domain/jaegeres/JaegerProcess.java | 28 ++++++++++------- .../etl/domain/jaegeres/JaegerRefType.java | 28 ++++++++++------- .../etl/domain/jaegeres/JaegerReferences.java | 28 ++++++++++------- .../etl/domain/metadata/HeraMetaData.java | 28 ++++++++++------- .../domain/metadata/HeraMetaDataMessage.java | 28 ++++++++++------- .../domain/metadata/HeraMetaDataModel.java | 28 ++++++++++------- .../etl/domain/metadata/HeraMetaDataPort.java | 28 ++++++++++------- .../metadata/HeraMetaDataPortModel.java | 28 ++++++++++------- .../domain/metadata/HeraMetaDataQuery.java | 28 ++++++++++------- .../etl/domain/metadata/HeraMetaDataType.java | 28 ++++++++++------- .../trace/etl/domain/tracequery/Span.java | 28 ++++++++++------- .../trace/etl/domain/tracequery/Trace.java | 28 ++++++++++------- .../etl/domain/tracequery/TraceIdQueryVo.java | 28 ++++++++++------- .../domain/tracequery/TraceListQueryVo.java | 28 ++++++++++------- .../domain/tracequery/TraceOperationsVo.java | 28 ++++++++++------- .../domain/tracequery/TraceQueryResult.java | 28 ++++++++++------- trace-etl/trace-etl-es/README.md | 23 +++++++++++++- trace-etl/trace-etl-es/README_CN.md | 21 +++++++++++++ trace-etl/trace-etl-es/pom.xml | 21 +++++++++++++ .../etl/es/bootstrap/TraceEtlEsBootstrap.java | 26 +++++++++------- .../trace/etl/es/config/DataSourceConfig.java | 28 ++++++++++------- .../etl/es/config/DubboConfiguration.java | 28 ++++++++++------- .../etl/es/config/NacosConfiguration.java | 26 +++++++++------- .../etl/es/config/ServiceConfiguration.java | 27 +++++++++------- .../trace/etl/es/config/TraceConfig.java | 28 ++++++++++------- .../etl/es/consumer/ConsumerService.java | 28 ++++++++++------- .../trace/etl/es/consumer/FilterService.java | 28 ++++++++++------- .../es/consumer/KafkaTraceSpanConsumer.java | 28 ++++++++++------- .../consumer/RocketMQTraceSpanConsumer.java | 28 ++++++++++------- .../trace/etl/es/domain/FilterResult.java | 28 ++++++++++------- .../trace/etl/es/domain/FutureRequest.java | 28 ++++++++++------- .../trace/etl/es/domain/LocalStorages.java | 28 ++++++++++------- .../etl/es/dubbo/TraceEtlServiceImpl.java | 28 ++++++++++------- .../trace/etl/es/queue/DiskStoreService.java | 28 ++++++++++------- .../queue/impl/RocksdbStoreServiceImpl.java | 28 ++++++++++------- .../trace/etl/es/queue/impl/TeSnowFlake.java | 28 ++++++++++------- .../util/bloomfilter/BloomFilterHelper.java | 26 +++++++++------- .../bloomfilter/TraceIdRedisBloomUtil.java | 28 ++++++++++------- .../trace/etl/es/util/pool/ConsumerPool.java | 28 ++++++++++------- .../etl/es/util/redis/RedisClientUtil.java | 28 ++++++++++------- .../src/main/resources/application.properties | 15 +++++++++ .../config/opensource-outer.properties | 15 +++++++++ .../src/main/resources/logback.xml | 21 +++++++++++++ .../xiaomi/hera/trace/etl/es/AtomicTest.java | 28 ++++++++++------- trace-etl/trace-etl-extensions/pom.xml | 21 +++++++++++++ .../trace-etl-doris-extension/pom.xml | 21 +++++++++++++ .../doris/DorisDataSourceService.java | 28 ++++++++++------- .../extension/doris/QueryDorisService.java | 28 ++++++++++------- .../extension/doris/WriteDorisService.java | 28 ++++++++++------- .../extension/doris/config/DorisConfig.java | 28 ++++++++++------- .../domain/HeraErrorSlowTraceColumn.java | 28 ++++++++++------- .../doris/domain/HeraTraceDriverColumn.java | 28 ++++++++++------- .../doris/domain/HeraTraceServiceColumn.java | 28 ++++++++++------- .../doris/domain/HeraTraceSpanColumn.java | 28 ++++++++++------- .../doris/domain/HeraTraceTable.java | 28 ++++++++++------- .../trace-etl-es-extension/pom.xml | 21 +++++++++++++ .../etl/extension/es/EsDataSourceService.java | 28 ++++++++++------- .../trace/etl/extension/es/EsTraceUtil.java | 28 ++++++++++------- .../etl/extension/es/QueryEsService.java | 28 ++++++++++------- .../etl/extension/es/WriteEsService.java | 28 ++++++++++------- .../etl/extension/es/config/EsConfig.java | 28 ++++++++++------- .../extension/es/config/EsProcessConfig.java | 28 ++++++++++------- .../trace-etl-kafka-extension/pom.xml | 21 +++++++++++++ .../extension/kafka/BeanInitConfigure.java | 28 ++++++++++------- .../etl/extension/kafka/KafkaConfigure.java | 28 ++++++++++------- .../extension/kafka/KafkaConfigure9092.java | 28 ++++++++++------- .../extension/kafka/KafkaConfigure9093.java | 28 ++++++++++------- .../extension/kafka/KafkaConfigure9094.java | 28 ++++++++++------- .../etl/extension/kafka/KafkaExtension.java | 28 ++++++++++------- .../trace/etl/extension/kafka/VpcType.java | 28 ++++++++++------- .../trace-etl-rocketmq-extension/pom.xml | 21 +++++++++++++ .../rocketmq/ClientMessageQueue.java | 28 ++++++++++------- .../rocketmq/ClientMessageQueueWrapper.java | 28 ++++++++++------- .../extension/rocketmq/RocketMQExtension.java | 28 ++++++++++------- trace-etl/trace-etl-manager/README.md | 21 +++++++++++++ trace-etl/trace-etl-manager/README_CN.md | 21 +++++++++++++ trace-etl/trace-etl-manager/pom.xml | 21 +++++++++++++ .../bootstrap/TraceEtlManagerBootstrap.java | 26 +++++++++------- .../etl/manager/config/DataSourceConfig.java | 28 ++++++++++------- .../manager/config/DubboConfiguration.java | 28 ++++++++++------- .../manager/config/FilterConfiguration.java | 28 ++++++++++------- .../manager/config/NacosConfiguration.java | 26 +++++++++------- .../manager/config/ServiceConfiguration.java | 28 ++++++++++------- .../manager/controller/ManagerController.java | 28 ++++++++++------- .../manager/controller/TraceController.java | 28 ++++++++++------- .../dubbo/TraceManagerServiceImpl.java | 28 ++++++++++------- .../manager/filter/RequestHeaderFilter.java | 28 ++++++++++------- .../src/main/resources/application.properties | 15 +++++++++ .../config/opensource-outer.properties | 15 +++++++++ .../src/main/resources/dubbo.properties | 17 +++++++++- .../src/main/resources/logback.xml | 21 +++++++++++++ trace-etl/trace-etl-metadata/README.md | 21 +++++++++++++ trace-etl/trace-etl-metadata/README_CN.md | 21 +++++++++++++ trace-etl/trace-etl-metadata/pom.xml | 21 +++++++++++++ .../bootstrap/TraceEtlMetadataBootstrap.java | 26 +++++++++------- .../etl/metadata/config/DataSourceConfig.java | 27 +++++++++------- .../metadata/config/DubboConfiguration.java | 28 ++++++++++------- .../metadata/config/NacosConfiguration.java | 28 ++++++++++------- .../dubbo/HeraMetaDataServiceImpl.java | 28 ++++++++++------- .../mq/KafkaHeraMetaDataConsumer.java | 28 ++++++++++------- .../mq/RocketMQHeraMetaDataConsumer.java | 28 ++++++++++------- .../ozhera/trace/etl/metadata/util/Const.java | 28 ++++++++++------- .../src/main/resources/application.properties | 15 +++++++++ .../config/opensource-outer.properties | 15 +++++++++ trace-etl/trace-etl-nginx/README.md | 21 +++++++++++++ trace-etl/trace-etl-nginx/README_CN.md | 21 +++++++++++++ trace-etl/trace-etl-nginx/pom.xml | 21 +++++++++++++ .../bootstrap/TraceEtlNginxBootstrap.java | 26 +++++++++------- .../etl/nginx/parser/NginxLogToTraceBase.java | 28 ++++++++++------- .../src/main/resources/application.properties | 15 +++++++++ .../config/opensource-outer.properties | 15 +++++++++ .../src/main/resources/logback.xml | 21 +++++++++++++ trace-etl/trace-etl-server/README.md | 21 +++++++++++++ trace-etl/trace-etl-server/README_CN.md | 21 +++++++++++++ trace-etl/trace-etl-server/pom.xml | 21 +++++++++++++ .../etl/bootstrap/TraceEtlBootstrap.java | 26 +++++++++------- .../trace/etl/config/DataSourceConfig.java | 28 ++++++++++------- .../trace/etl/config/DubboConfiguration.java | 28 ++++++++++------- .../trace/etl/config/NacosConfiguration.java | 26 +++++++++------- .../etl/config/ServiceConfiguration.java | 28 ++++++++++------- .../ozhera/trace/etl/config/TraceConfig.java | 28 ++++++++++------- .../trace/etl/constant/LocalStorages.java | 28 ++++++++++------- .../ozhera/trace/etl/constant/LockUtil.java | 28 ++++++++++------- .../trace/etl/constant/MetricsName.java | 28 ++++++++++------- .../ozhera/trace/etl/constant/SpanKind.java | 28 ++++++++++------- .../ozhera/trace/etl/constant/SpanType.java | 28 ++++++++++------- .../trace/etl/consumer/DataCacheService.java | 28 ++++++++++------- .../trace/etl/consumer/EnterManager.java | 28 ++++++++++------- .../etl/consumer/KafkaConsumerService.java | 28 ++++++++++------- .../etl/consumer/MetricsParseService.java | 28 ++++++++++------- .../trace/etl/consumer/MutiMetricsCall.java | 28 ++++++++++------- .../etl/consumer/RocketMQConsumerService.java | 28 ++++++++++------- .../trace/etl/dubbo/TraceEtlServiceImpl.java | 28 ++++++++++------- .../trace/etl/util/nacos/NacosClientUtil.java | 28 ++++++++++------- .../trace/etl/util/prometheus/HTTPServer.java | 29 +++++++++-------- .../src/main/resources/application.properties | 15 +++++++++ .../config/opensource-outer.properties | 15 +++++++++ .../src/main/resources/dubbo.properties | 17 +++++++++- .../src/main/resources/logback.xml | 21 +++++++++++++ .../youpin/trace/etl/test/FastWriter.java | 28 ++++++++++------- .../youpin/trace/etl/test/TestConsumer.java | 28 ++++++++++------- .../youpin/trace/etl/test/WriterTest.java | 28 ++++++++++------- trace-etl/trace-etl-service/pom.xml | 21 +++++++++++++ .../trace/etl/service/HeraContextService.java | 28 ++++++++++------- .../trace/etl/service/ManagerService.java | 27 +++++++++------- .../trace/etl/service/RedisService.java | 27 +++++++++------- .../service/impl/HeraContextServiceImpl.java | 27 +++++++++------- .../etl/service/impl/ManagerServiceImpl.java | 28 ++++++++++------- .../etl/service/impl/RedisServiceImpl.java | 28 ++++++++++------- .../ozhera/trace/etl/util/ExecutorUtil.java | 28 ++++++++++------- .../ozhera/trace/etl/util/MessageUtil.java | 28 ++++++++++------- .../ozhera/trace/etl/util/ThriftUtil.java | 28 ++++++++++------- .../ozhera/trace/etl/util/TraceUtil.java | 28 ++++++++++------- .../etl/util/convert/HeraMetaDataConvert.java | 28 ++++++++++------- .../convert/HeraMetaDataPortModelConvert.java | 28 ++++++++++------- .../trace/etl/util/pool/AsyncNotify.java | 28 ++++++++++------- .../xiaomi/youpin/trace/etl/test/Test.java | 28 ++++++++++------- 192 files changed, 3221 insertions(+), 1748 deletions(-) diff --git a/HEADER b/HEADER index 441fcae2e..722097550 100644 --- a/HEADER +++ b/HEADER @@ -1,13 +1,18 @@ -Copyright (C) 2020 Xiaomi Corporation - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ \ No newline at end of file diff --git a/trace-etl/README.md b/trace-etl/README.md index ee54c1d2a..949b3cd77 100644 --- a/trace-etl/README.md +++ b/trace-etl/README.md @@ -1,3 +1,24 @@ + + # Overview + A system for data extraction, loading, and transformation. + Currently, trace-etl mainly consists of four modules: trace-etl-server, trace-etl-es, trace-etl-manager, and trace-etl-nginx. @@ -29,4 +50,4 @@ ## trace-etl-extensions + This is the extension module in trace-etl, allowing multiple implementations for corresponding interfaces. For example, extensions for MQ such as RocketMQ and Kafka, and extensions for storage like Doris and ES. -+ To learn how to write an extension, refer to: [trace-etl-extensions documentation](docs/extension/extension.md) ++ To learn how to write an extension, refer to: [trace-etl-extensions documentation](docs/extension/extension.md) \ No newline at end of file diff --git a/trace-etl/README_cn.md b/trace-etl/README_cn.md index bca530f98..5786d7964 100644 --- a/trace-etl/README_cn.md +++ b/trace-etl/README_cn.md @@ -1,3 +1,24 @@ + + # 概述 + 数据抽取、加载和转换的系统。 + trace-etl目前主要包含trace-etl-server,trace-etl-es,trace-etl-manager,trace-etl-nginx这四个模块。 diff --git a/trace-etl/docs/extension/extension.md b/trace-etl/docs/extension/extension.md index 75bc59530..b7d8c8d9e 100644 --- a/trace-etl/docs/extension/extension.md +++ b/trace-etl/docs/extension/extension.md @@ -1,3 +1,24 @@ + + # Extension Mechanism Within `trace-etl`, Extensions are used to extend functionalities. diff --git a/trace-etl/docs/extension/extension_cn.md b/trace-etl/docs/extension/extension_cn.md index b1a8679eb..4552dd4f9 100644 --- a/trace-etl/docs/extension/extension_cn.md +++ b/trace-etl/docs/extension/extension_cn.md @@ -1,3 +1,24 @@ + + # Extension机制 在trace-etl中,使用Extension来对功能进行扩展。 @@ -49,4 +70,4 @@ 解释如下: -这代表着目前使用的MQ是kafka,使用的存储是Doris。只会实例化kafka和Doris相关的实现类。 +这代表着目前使用的MQ是kafka,使用的存储是Doris。只会实例化kafka和Doris相关的实现类。 \ No newline at end of file diff --git a/trace-etl/pom.xml b/trace-etl/pom.xml index 763ef9d7a..8684b27d3 100644 --- a/trace-etl/pom.xml +++ b/trace-etl/pom.xml @@ -1,4 +1,25 @@ + + @@ -217,4 +238,4 @@ - + \ No newline at end of file diff --git a/trace-etl/trace-etl-api/pom.xml b/trace-etl/trace-etl-api/pom.xml index a3d64d2bc..d1384cf0f 100644 --- a/trace-etl/trace-etl-api/pom.xml +++ b/trace-etl/trace-etl-api/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/DataSourceService.java b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/DataSourceService.java index 23c5f224e..b816fef2a 100644 --- a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/DataSourceService.java +++ b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/DataSourceService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.api.service; import org.apache.ozhera.trace.etl.domain.DriverDomain; @@ -41,4 +45,4 @@ public interface DataSourceService { void insertDriver(DriverDomain driverDomain); void insertHeraSpan(TSpanData tSpanData, String serviceName, String spanName); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/HeraMetaDataService.java b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/HeraMetaDataService.java index 8b35dc559..a4b1969eb 100644 --- a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/HeraMetaDataService.java +++ b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/HeraMetaDataService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.api.service; @@ -32,4 +36,4 @@ public interface HeraMetaDataService { int insert(List models); int delete(int metaId); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/IEnterManager.java b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/IEnterManager.java index f04c72ab4..f431977ae 100644 --- a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/IEnterManager.java +++ b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/IEnterManager.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.api.service; import java.util.concurrent.atomic.AtomicInteger; @@ -29,4 +33,4 @@ public interface IEnterManager { AtomicInteger getProcessNum(); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/IMetricsParseService.java b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/IMetricsParseService.java index c4b81d930..84efd57cb 100644 --- a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/IMetricsParseService.java +++ b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/IMetricsParseService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.api.service; import org.apache.ozhera.tspandata.TSpanData; @@ -27,4 +31,4 @@ public interface IMetricsParseService { void parse(TSpanData tSpanData); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/MQExtension.java b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/MQExtension.java index d404317b4..adaea854d 100644 --- a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/MQExtension.java +++ b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/MQExtension.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.api.service; import org.apache.ozhera.trace.etl.bo.MqConfig; @@ -39,4 +43,4 @@ public interface MQExtension { * if it's Kafka, messages with the same traceID will be sent to the same partition. */ void sendByTraceId(String traceId, PRODUCER message); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceEtlService.java b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceEtlService.java index 1bd19fc34..f5d1e692a 100644 --- a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceEtlService.java +++ b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceEtlService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.api.service; import org.apache.ozhera.trace.etl.domain.HeraTraceEtlConfig; @@ -25,4 +29,4 @@ public interface TraceEtlService { void deleteConfig(HeraTraceEtlConfig config); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceManagerService.java b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceManagerService.java index 17dfcb331..b41a876d9 100644 --- a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceManagerService.java +++ b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/api/service/TraceManagerService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.api.service; import org.apache.ozhera.trace.etl.domain.HeraTraceEtlConfig; @@ -27,4 +31,4 @@ */ public interface TraceManagerService { Result> getAll(); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/bo/MqConfig.java b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/bo/MqConfig.java index cf490bc8b..de8903bb1 100644 --- a/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/bo/MqConfig.java +++ b/trace-etl/trace-etl-api/src/main/java/org/apache/ozhera/trace/etl/bo/MqConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.bo; import lombok.Data; @@ -42,4 +46,4 @@ public class MqConfig implements Serializable { private int maxPollRecords; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-common/pom.xml b/trace-etl/trace-etl-common/pom.xml index a0dc381dd..0c11bdfc0 100644 --- a/trace-etl/trace-etl-common/pom.xml +++ b/trace-etl/trace-etl-common/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/HashUtil.java b/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/HashUtil.java index 758adb50e..f5000d5d0 100644 --- a/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/HashUtil.java +++ b/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/HashUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.common; import com.google.common.hash.HashCode; @@ -31,4 +35,4 @@ public static int consistentHash(String traceId, int buckets) { HashCode hasCode = Hashing.murmur3_32().hashString(traceId, StandardCharsets.UTF_8); return Hashing.consistentHash(hasCode, buckets); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/TimeConverter.java b/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/TimeConverter.java index 963377d09..b60140e38 100644 --- a/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/TimeConverter.java +++ b/trace-etl/trace-etl-common/src/main/java/org/apache/ozhera/trace/etl/common/TimeConverter.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.common; import org.apache.commons.lang3.StringUtils; @@ -129,4 +133,4 @@ private static String formatDateTime(long dateTime) { String day = dateTimeStr.substring(6, 8); return String.format("%s.%s.%s", year, month, day); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-dao/pom.xml b/trace-etl/trace-etl-dao/pom.xml index 243251b50..1fbf0141a 100644 --- a/trace-etl/trace-etl-dao/pom.xml +++ b/trace-etl/trace-etl-dao/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-dao/src/main/java/org/apache/ozhera/trace/etl/mapper/HeraMetaDataMapper.java b/trace-etl/trace-etl-dao/src/main/java/org/apache/ozhera/trace/etl/mapper/HeraMetaDataMapper.java index 9a9d87cec..268de7efe 100644 --- a/trace-etl/trace-etl-dao/src/main/java/org/apache/ozhera/trace/etl/mapper/HeraMetaDataMapper.java +++ b/trace-etl/trace-etl-dao/src/main/java/org/apache/ozhera/trace/etl/mapper/HeraMetaDataMapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; diff --git a/trace-etl/trace-etl-dao/src/main/java/org/apache/ozhera/trace/etl/mapper/HeraTraceEtlConfigMapper.java b/trace-etl/trace-etl-dao/src/main/java/org/apache/ozhera/trace/etl/mapper/HeraTraceEtlConfigMapper.java index ce9ff3ee4..7faa33df1 100644 --- a/trace-etl/trace-etl-dao/src/main/java/org/apache/ozhera/trace/etl/mapper/HeraTraceEtlConfigMapper.java +++ b/trace-etl/trace-etl-dao/src/main/java/org/apache/ozhera/trace/etl/mapper/HeraTraceEtlConfigMapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; diff --git a/trace-etl/trace-etl-domain/pom.xml b/trace-etl/trace-etl-domain/pom.xml index c7f79abda..a39d2a529 100644 --- a/trace-etl/trace-etl-domain/pom.xml +++ b/trace-etl/trace-etl-domain/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/DriverDomain.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/DriverDomain.java index bb4c3a99c..57b23bca5 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/DriverDomain.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/DriverDomain.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain; /** @@ -84,4 +88,4 @@ public String getDataBaseName() { public void setDataBaseName(String dataBaseName) { this.dataBaseName = dataBaseName; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/ErrorTraceMessage.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/ErrorTraceMessage.java index 1a47d63e5..c1be16d3b 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/ErrorTraceMessage.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/ErrorTraceMessage.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain; public class ErrorTraceMessage { @@ -187,4 +191,4 @@ public String getErrorType() { public void setErrorType(String errorType) { this.errorType = errorType; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceConfigVo.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceConfigVo.java index 1caedcb3c..3c8874bdb 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceConfigVo.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceConfigVo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain; /** @@ -69,4 +73,4 @@ public String toString() { ", pageSize=" + getPageSize() + '}'; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceEtlConfig.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceEtlConfig.java index a758a37d8..7225234ac 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceEtlConfig.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/HeraTraceEtlConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain; import java.io.Serializable; diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/JaegerTracerDomain.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/JaegerTracerDomain.java index 8779a53d8..f729de63b 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/JaegerTracerDomain.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/JaegerTracerDomain.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain; import org.apache.commons.lang3.StringUtils; @@ -330,4 +334,4 @@ public String toString() { ", duration=" + duration + '}'; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/MetricsParseResult.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/MetricsParseResult.java index dc606372e..0bf3e055d 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/MetricsParseResult.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/MetricsParseResult.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain; /** @@ -83,4 +87,4 @@ public boolean isValidate() { public void setValidate(boolean validate) { isValidate = validate; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/NginxJaegerDomain.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/NginxJaegerDomain.java index 5a44bc21a..5f077460c 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/NginxJaegerDomain.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/NginxJaegerDomain.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain; /** @@ -174,4 +178,4 @@ public String getStartTime() { public void setStartTime(String startTime) { this.startTime = startTime; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PageData.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PageData.java index 5feabaeb9..28b1cf7a9 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PageData.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PageData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain; @@ -62,4 +66,4 @@ public T getList() { public void setList(T list) { this.list = list; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PagerVo.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PagerVo.java index d62f4ad04..1f242481c 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PagerVo.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/PagerVo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain; /** @@ -39,4 +43,4 @@ public Integer getPageSize() { public void setPageSize(int pageSize) { this.pageSize = pageSize; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerAttrType.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerAttrType.java index d312cda40..74f7799b8 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerAttrType.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerAttrType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.jaegeres; public class JaegerAttrType { @@ -21,4 +25,4 @@ public class JaegerAttrType { public static final String LONG = "int64"; public static final String BOOLEAN = "bool"; public static final String DOUBLE = "float64"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerAttribute.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerAttribute.java index efe4c1e5b..abac292b0 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerAttribute.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerAttribute.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.jaegeres; public class JaegerAttribute { @@ -43,4 +47,4 @@ public String getValue() { public void setValue(String value) { this.value = value == null ? "" : value; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerESDomain.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerESDomain.java index 08bd3732f..e72945712 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerESDomain.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerESDomain.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.jaegeres; import java.util.List; @@ -109,4 +113,4 @@ public JaegerProcess getProcess() { public void setProcess(JaegerProcess process) { this.process = process; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerLogs.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerLogs.java index 90bd1a954..56610588a 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerLogs.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerLogs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.jaegeres; import java.util.List; @@ -36,4 +40,4 @@ public List getFields() { public void setFields(List fields) { this.fields = fields; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerProcess.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerProcess.java index 24d1f2040..39301d679 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerProcess.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerProcess.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.jaegeres; import java.util.List; @@ -36,4 +40,4 @@ public List getTags() { public void setTags(List tags) { this.tags = tags; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerRefType.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerRefType.java index 5bb76c871..c7b1d8a75 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerRefType.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerRefType.java @@ -1,22 +1,26 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.jaegeres; public class JaegerRefType { public static final String CHILD_OF = "CHILD_OF"; public static final String FOLLOWS_FROM = "FOLLOWS_FROM"; public static final String UNRECOGNIZED = "UNRECOGNIZED"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerReferences.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerReferences.java index e06f46bd1..53916ac99 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerReferences.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/jaegeres/JaegerReferences.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.jaegeres; public class JaegerReferences { @@ -43,4 +47,4 @@ public String getRefType() { public void setRefType(String refType) { this.refType = refType; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaData.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaData.java index 8f7606c13..3e4494931 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaData.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.metadata; import com.baomidou.mybatisplus.annotation.IdType; @@ -83,4 +87,4 @@ public class HeraMetaData { private String updateBy; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataMessage.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataMessage.java index 0f686c6e3..2e98afb05 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataMessage.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataMessage.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.metadata; import lombok.Data; @@ -52,4 +56,4 @@ public class HeraMetaDataMessage { private String createBy; private String updateBy; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataModel.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataModel.java index e4fc9900c..09711dfbb 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataModel.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataModel.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.metadata; @@ -73,4 +77,4 @@ public class HeraMetaDataModel implements Serializable { private String createBy; private String updateBy; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPort.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPort.java index 9a1782fe9..b8c6f8275 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPort.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPort.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.metadata; import lombok.AllArgsConstructor; @@ -37,4 +41,4 @@ public class HeraMetaDataPort { private int thriftPort; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPortModel.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPortModel.java index 78f797c56..fb9f66022 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPortModel.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataPortModel.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.metadata; import lombok.AllArgsConstructor; @@ -40,4 +44,4 @@ public class HeraMetaDataPortModel implements Serializable { private int grpcPort; private int thriftPort; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataQuery.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataQuery.java index 58c0d1309..57705009a 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataQuery.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.metadata; @@ -47,4 +51,4 @@ public void initPageParam(){ } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataType.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataType.java index ca64864ee..f9166ce30 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataType.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/metadata/HeraMetaDataType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.metadata; /** @@ -24,4 +28,4 @@ public class HeraMetaDataType { public static final String REDIS = "redis"; public static final String ES = "es"; public static final String MQ = "mq"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Span.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Span.java index cf27de072..de69e28ad 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Span.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Span.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.tracequery; import org.apache.ozhera.trace.etl.domain.jaegeres.JaegerAttribute; @@ -145,4 +149,4 @@ public List getWarnings() { public void setWarnings(List warnings) { this.warnings = warnings; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Trace.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Trace.java index f1284ac41..fe3c7cd99 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Trace.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/Trace.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.tracequery; import org.apache.ozhera.trace.etl.domain.jaegeres.JaegerProcess; @@ -71,4 +75,4 @@ public Map getProcesses() { public void setProcesses(Map processes) { this.processes = processes; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceIdQueryVo.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceIdQueryVo.java index bc1c4aa38..11f1cdab2 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceIdQueryVo.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceIdQueryVo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.tracequery; /** @@ -66,4 +70,4 @@ public String toString() { ", index='" + index + '\'' + '}'; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceListQueryVo.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceListQueryVo.java index 598757f04..0d4ea36e3 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceListQueryVo.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceListQueryVo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.tracequery; /** @@ -138,4 +142,4 @@ public String toString() { ", serverEnv='" + serverEnv + '\'' + '}'; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceOperationsVo.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceOperationsVo.java index 970672ce5..82d25eabe 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceOperationsVo.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceOperationsVo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.tracequery; /** @@ -56,4 +60,4 @@ public String toString() { ", source='" + source + '\'' + '}'; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceQueryResult.java b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceQueryResult.java index f9b176798..454a28dc5 100644 --- a/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceQueryResult.java +++ b/trace-etl/trace-etl-domain/src/main/java/org/apache/ozhera/trace/etl/domain/tracequery/TraceQueryResult.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.domain.tracequery; /** @@ -69,4 +73,4 @@ public int getTotal() { public void setTotal(int total) { this.total = total; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/README.md b/trace-etl/trace-etl-es/README.md index 9ccf9014a..61b3e827e 100644 --- a/trace-etl/trace-etl-es/README.md +++ b/trace-etl/trace-etl-es/README.md @@ -1,3 +1,24 @@ + + # Overview # How to Deploy ## Deployment Dependencies @@ -38,4 +59,4 @@ Execute: `java -jar trace-etl-es-1.0.0-SNAPSHOT.jar` -to run trace-etl-es. +to run trace-etl-es. \ No newline at end of file diff --git a/trace-etl/trace-etl-es/README_CN.md b/trace-etl/trace-etl-es/README_CN.md index a7d9ad083..f355f2491 100644 --- a/trace-etl/trace-etl-es/README_CN.md +++ b/trace-etl/trace-etl-es/README_CN.md @@ -1,3 +1,24 @@ + + # 概述 # 如何部署 ## 部署依赖 diff --git a/trace-etl/trace-etl-es/pom.xml b/trace-etl/trace-etl-es/pom.xml index 5c75252cc..9e4b30d8c 100644 --- a/trace-etl/trace-etl-es/pom.xml +++ b/trace-etl/trace-etl-es/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/bootstrap/TraceEtlEsBootstrap.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/bootstrap/TraceEtlEsBootstrap.java index b133799fd..60c15f97f 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/bootstrap/TraceEtlEsBootstrap.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/bootstrap/TraceEtlEsBootstrap.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.bootstrap; import lombok.extern.slf4j.Slf4j; diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DataSourceConfig.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DataSourceConfig.java index 68e4ce8f2..c0503425c 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DataSourceConfig.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DataSourceConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -88,4 +92,4 @@ public DataSourceTransactionManager masterTransactionManager() throws PropertyVe return new DataSourceTransactionManager(masterDataSource()); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DubboConfiguration.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DubboConfiguration.java index 342fde2d3..f3b603d8f 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DubboConfiguration.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/DubboConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -64,4 +68,4 @@ public ProtocolConfig protocolConfig() { return protocolConfig; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/NacosConfiguration.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/NacosConfiguration.java index f42c6add9..f2074d186 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/NacosConfiguration.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/NacosConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.config; import com.alibaba.nacos.api.annotation.NacosProperties; diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/ServiceConfiguration.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/ServiceConfiguration.java index 02eec64aa..fe44857e6 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/ServiceConfiguration.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/ServiceConfiguration.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.trace.etl.es.config; @@ -40,4 +43,4 @@ public ManagerService managerService() { return new ManagerServiceImpl(heraTraceEtlConfigMapper); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java index b63f9b876..7c1de0543 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/config/TraceConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -99,4 +103,4 @@ private HeraTraceEtlConfig defaultConfig(HeraTraceEtlConfig config){ } return config; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/ConsumerService.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/ConsumerService.java index a23b0c48b..03c313fce 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/ConsumerService.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/ConsumerService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.consumer; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -356,4 +360,4 @@ private TSpanData deserializeFromString(String decode) { } return null; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/FilterService.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/FilterService.java index 1e235108d..d50fdb644 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/FilterService.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/FilterService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.consumer; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -142,4 +146,4 @@ private boolean checkHeraContext(String heraContext, HeraTraceEtlConfig config) return false; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/KafkaTraceSpanConsumer.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/KafkaTraceSpanConsumer.java index 1a169481d..46b94977a 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/KafkaTraceSpanConsumer.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/KafkaTraceSpanConsumer.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.consumer; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -115,4 +119,4 @@ public void run() { } } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/RocketMQTraceSpanConsumer.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/RocketMQTraceSpanConsumer.java index f8d54d546..147b2791e 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/RocketMQTraceSpanConsumer.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/consumer/RocketMQTraceSpanConsumer.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.consumer; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -112,4 +116,4 @@ public void run() { } } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FilterResult.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FilterResult.java index e143cfe40..29156981e 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FilterResult.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FilterResult.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.domain; /** @@ -58,4 +62,4 @@ public boolean isDiscard() { public void setDiscard(boolean discard) { this.discard = discard; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FutureRequest.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FutureRequest.java index aa6ff147b..46fdcdb63 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FutureRequest.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/FutureRequest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.domain; @@ -96,4 +100,4 @@ public FutureRequest(String traceId, TSpanData tSpanData, String serviceName, St this.serviceName = serviceName; this.spanName = spanName; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/LocalStorages.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/LocalStorages.java index b6bbcf7d9..cb783d3a5 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/LocalStorages.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/domain/LocalStorages.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.domain; import java.util.concurrent.atomic.AtomicLong; @@ -29,4 +33,4 @@ public class LocalStorages { public static AtomicLong secondRocksKeySuffix = new AtomicLong(0L); public static volatile boolean talosIsShutDown = false; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/dubbo/TraceEtlServiceImpl.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/dubbo/TraceEtlServiceImpl.java index 42e0c0ff8..4db857da3 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/dubbo/TraceEtlServiceImpl.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/dubbo/TraceEtlServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.dubbo; import org.apache.ozhera.trace.etl.api.service.TraceEtlService; @@ -46,4 +50,4 @@ public void updateConfig(HeraTraceEtlConfig config) { public void deleteConfig(HeraTraceEtlConfig config) { traceConfig.delete(config); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/DiskStoreService.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/DiskStoreService.java index 41651d3ad..cb5e2b6e6 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/DiskStoreService.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/DiskStoreService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.queue; /** @@ -27,4 +31,4 @@ public interface DiskStoreService { void delete(String key); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/RocksdbStoreServiceImpl.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/RocksdbStoreServiceImpl.java index 805815f94..4edc394f6 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/RocksdbStoreServiceImpl.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/RocksdbStoreServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.queue.impl; import org.apache.ozhera.trace.etl.es.queue.DiskStoreService; @@ -180,4 +184,4 @@ public String getKey(long currSecond, long suffix) { String key = currSecond + "_" + suffix; return key; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java index 03ba1f83c..5f89dba49 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/queue/impl/TeSnowFlake.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.queue.impl; import com.alibaba.fastjson.JSONObject; @@ -142,4 +146,4 @@ public static void main(String[] args) { json.put("refer", new ArrayList<>()); System.out.println(json.toJSONString()); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/bloomfilter/BloomFilterHelper.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/bloomfilter/BloomFilterHelper.java index 49d172f92..c6ce0f167 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/bloomfilter/BloomFilterHelper.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/bloomfilter/BloomFilterHelper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.util.bloomfilter; import com.google.common.base.Preconditions; diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/bloomfilter/TraceIdRedisBloomUtil.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/bloomfilter/TraceIdRedisBloomUtil.java index f07cab427..06209a43d 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/bloomfilter/TraceIdRedisBloomUtil.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/bloomfilter/TraceIdRedisBloomUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.util.bloomfilter; import com.google.common.hash.BloomFilter; @@ -128,4 +132,4 @@ private void updateLocalBloom(){ localBloomFilter = BloomFilter.create(charSequenceFunnel, LOCAL_EXPECTEDINSERTIONS, LOCAL_REDIS_ACCIRACY); log.info("update local bloom filter success"); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/pool/ConsumerPool.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/pool/ConsumerPool.java index 88cc4d66f..443017090 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/pool/ConsumerPool.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/pool/ConsumerPool.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.util.pool; import java.util.concurrent.ArrayBlockingQueue; @@ -35,4 +39,4 @@ public class ConsumerPool { }); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/redis/RedisClientUtil.java b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/redis/RedisClientUtil.java index be7a4c850..9d7e1f137 100644 --- a/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/redis/RedisClientUtil.java +++ b/trace-etl/trace-etl-es/src/main/java/org/apache/ozhera/trace/etl/es/util/redis/RedisClientUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.es.util.redis; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -140,4 +144,4 @@ public Long del(String key) { return null; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-es/src/main/resources/application.properties b/trace-etl/trace-etl-es/src/main/resources/application.properties index 85ee224a0..270481af0 100644 --- a/trace-etl/trace-etl-es/src/main/resources/application.properties +++ b/trace-etl/trace-etl-es/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=trace-etl server.type=${server.type} diff --git a/trace-etl/trace-etl-es/src/main/resources/config/opensource-outer.properties b/trace-etl/trace-etl-es/src/main/resources/config/opensource-outer.properties index 3e590f66d..20bbf4ca3 100644 --- a/trace-etl/trace-etl-es/src/main/resources/config/opensource-outer.properties +++ b/trace-etl/trace-etl-es/src/main/resources/config/opensource-outer.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=trace_etl_es server.type=staging diff --git a/trace-etl/trace-etl-es/src/main/resources/logback.xml b/trace-etl/trace-etl-es/src/main/resources/logback.xml index 7c4bdc0ce..f7fbee73a 100644 --- a/trace-etl/trace-etl-es/src/main/resources/logback.xml +++ b/trace-etl/trace-etl-es/src/main/resources/logback.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-es/src/test/java/com/xiaomi/hera/trace/etl/es/AtomicTest.java b/trace-etl/trace-etl-es/src/test/java/com/xiaomi/hera/trace/etl/es/AtomicTest.java index 8aff4e48a..84441041c 100644 --- a/trace-etl/trace-etl-es/src/test/java/com/xiaomi/hera/trace/etl/es/AtomicTest.java +++ b/trace-etl/trace-etl-es/src/test/java/com/xiaomi/hera/trace/etl/es/AtomicTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package com.xiaomi.hera.trace.etl.es; import org.junit.Assert; @@ -33,4 +37,4 @@ public void testGetAndUpdate() { Assert.assertEquals(1,ai.getAndUpdate(v->12)); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/pom.xml b/trace-etl/trace-etl-extensions/pom.xml index 33a8bc544..bb8299204 100644 --- a/trace-etl/trace-etl-extensions/pom.xml +++ b/trace-etl/trace-etl-extensions/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/pom.xml b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/pom.xml index 73b91e6ad..cb2ba689e 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/pom.xml +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/DorisDataSourceService.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/DorisDataSourceService.java index 225421789..e98d69855 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/DorisDataSourceService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/DorisDataSourceService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.doris; import org.apache.ozhera.trace.etl.api.service.DataSourceService; @@ -69,4 +73,4 @@ public void insertDriver(DriverDomain driverDomain) { public void insertHeraSpan(TSpanData tSpanData, String serviceName, String spanName) { writeDorisService.insertHeraSpan(tSpanData, serviceName, spanName); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/QueryDorisService.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/QueryDorisService.java index a2173417d..109b52e5f 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/QueryDorisService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/QueryDorisService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.doris; import com.google.common.base.Strings; @@ -299,4 +303,4 @@ private Span convertSpan(Map map) { span.setParentSpanID(String.valueOf(map.get(HeraTraceSpanColumn.parentSpanID))); return span; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java index 32d954e85..c02e866f8 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/WriteDorisService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.doris; import com.google.common.cache.Cache; @@ -273,4 +277,4 @@ public void insertHeraSpan(TSpanData tSpanData, String serviceName, String spanN } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/config/DorisConfig.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/config/DorisConfig.java index a684b7c8a..e487b53b5 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/config/DorisConfig.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/config/DorisConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.doris.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -59,4 +63,4 @@ public QueryDorisService getQueryDorisService(){ public WriteDorisService getWriteDorisService(){ return new WriteDorisService(); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraErrorSlowTraceColumn.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraErrorSlowTraceColumn.java index 5e251216f..62d6fcbb5 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraErrorSlowTraceColumn.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraErrorSlowTraceColumn.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.doris.domain; public class HeraErrorSlowTraceColumn { @@ -30,4 +34,4 @@ public class HeraErrorSlowTraceColumn { public static final String HOST = "host"; public static final String DATA_SOURCE = "dataSource"; public static final String TIME_STAMP = "timestamp"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceDriverColumn.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceDriverColumn.java index f5154cd43..0a78a7a79 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceDriverColumn.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceDriverColumn.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.doris.domain; public class HeraTraceDriverColumn { @@ -25,4 +29,4 @@ public class HeraTraceDriverColumn { public static final String DOMAIN_PORT = "domainPort"; public static final String TYPE = "type"; public static final String USER_NAME = "userName"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceServiceColumn.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceServiceColumn.java index a64feb0a5..3bcf3804d 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceServiceColumn.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceServiceColumn.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.doris.domain; public class HeraTraceServiceColumn { @@ -20,4 +24,4 @@ public class HeraTraceServiceColumn { public static final String SERVICE_NAME = "serviceName"; public static final String OPERATION_NAME = "operationName"; public static final String TIMESTAMP = "timestamp"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceSpanColumn.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceSpanColumn.java index 82e96090b..8f3eca336 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceSpanColumn.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceSpanColumn.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.doris.domain; public class HeraTraceSpanColumn { @@ -30,4 +34,4 @@ public class HeraTraceSpanColumn { public static final String timestamp = "timestamp"; public static final String traceID = "traceID"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceTable.java b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceTable.java index 68a295cbe..3a9b440e6 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceTable.java +++ b/trace-etl/trace-etl-extensions/trace-etl-doris-extension/src/main/java/org/apache/ozhera/trace/etl/extension/doris/domain/HeraTraceTable.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.doris.domain; public class HeraTraceTable { @@ -21,4 +25,4 @@ public class HeraTraceTable { public static final String HERA_TRACE_SERVICE_TABLE = "hera_trace_service"; public static final String HERA_TRACE_DRIVER_TABLE = "hera_trace_driver"; public static final String HERA_ERROR_SLOW_TRACE_TABLE = "hera_error_slow_trace"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/pom.xml b/trace-etl/trace-etl-extensions/trace-etl-es-extension/pom.xml index 1157af906..76cb17463 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/pom.xml +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsDataSourceService.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsDataSourceService.java index 06d964c5c..6ea2ed7b9 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsDataSourceService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsDataSourceService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.es; import org.apache.ozhera.trace.etl.api.service.DataSourceService; @@ -69,4 +73,4 @@ public void insertDriver(DriverDomain driverDomain) { public void insertHeraSpan(TSpanData tSpanData, String serviceName, String spanName) { writeEsService.insertJaegerSpan(tSpanData, serviceName, spanName); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsTraceUtil.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsTraceUtil.java index 8dd525489..b5835a356 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsTraceUtil.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/EsTraceUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.es; import com.alibaba.fastjson.JSONObject; @@ -56,4 +60,4 @@ public void insertErrorBulk(String index,Map jsonMap){ log.error("insert error es exception:",e); } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/QueryEsService.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/QueryEsService.java index c85d0cb99..be6037c1a 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/QueryEsService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/QueryEsService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.es; import com.google.common.base.Strings; @@ -312,4 +316,4 @@ private SearchRequest buildSearchRequest(SearchSourceBuilder sourceBuilder, Stri return searchRequest; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java index 5deeaa68b..de4487fbc 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/WriteEsService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.es; import com.alibaba.fastjson.JSONObject; @@ -227,4 +231,4 @@ public void insertJaegerSpan(TSpanData tSpanData, String serviceName, String spa esTraceUtil.insertBulk(indexPrefix + format, jsonObject); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/config/EsConfig.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/config/EsConfig.java index d5b0b3b63..985242f2d 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/config/EsConfig.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/config/EsConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.es.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -58,4 +62,4 @@ public EsClient jaegerEsClient() { return null; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/config/EsProcessConfig.java b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/config/EsProcessConfig.java index 0669bec13..90657b986 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/config/EsProcessConfig.java +++ b/trace-etl/trace-etl-extensions/trace-etl-es-extension/src/main/java/org/apache/ozhera/trace/etl/extension/es/config/EsProcessConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.es.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -113,4 +117,4 @@ public QueryEsService getQueryEsService(){ public WriteEsService getWriteEsService(){ return new WriteEsService(); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/pom.xml b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/pom.xml index 2516a4c81..82dabfc9f 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/pom.xml +++ b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/BeanInitConfigure.java b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/BeanInitConfigure.java index bcf6ace86..d15684931 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/BeanInitConfigure.java +++ b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/BeanInitConfigure.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.kafka; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -37,4 +41,4 @@ public KafkaConfigure getKafkaConfigure(){ throw new RuntimeException("vpcType is unknow!"); } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/KafkaConfigure.java b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/KafkaConfigure.java index 04dce22da..39e4d5deb 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/KafkaConfigure.java +++ b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/KafkaConfigure.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.kafka; import org.apache.ozhera.trace.etl.bo.MqConfig; @@ -26,4 +30,4 @@ public interface KafkaConfigure { Properties createConsumerProperties(MqConfig> config); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/KafkaConfigure9092.java b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/KafkaConfigure9092.java index 396c5bd21..65ae56ac5 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/KafkaConfigure9092.java +++ b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/KafkaConfigure9092.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.kafka; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -68,4 +72,4 @@ public Properties createConsumerProperties(MqConfig message } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/VpcType.java b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/VpcType.java index bdd8831ed..660c38d69 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/VpcType.java +++ b/trace-etl/trace-etl-extensions/trace-etl-kafka-extension/src/main/java/org/apache/ozhera/trace/etl/extension/kafka/VpcType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.kafka; public class VpcType { @@ -20,4 +24,4 @@ public class VpcType { public static final String VPC_9002 = "vpc-9002"; public static final String VPC_SSL_9003 = "vpc-ssl-9003"; public static final String VPC_9004 = "vpc-9004"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/pom.xml b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/pom.xml index 887581ec6..4f4d29542 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/pom.xml +++ b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueue.java b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueue.java index bd5dd0308..0b89335a3 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueue.java +++ b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueue.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.rocketmq; import org.apache.ozhera.trace.etl.common.HashUtil; @@ -100,4 +104,4 @@ public void initFetchQueueTask() { FETCH_ROCKETMQ_QUEUE_GAP, TimeUnit.SECONDS); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueueWrapper.java b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueueWrapper.java index 718a4f84e..38c29ecd3 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueueWrapper.java +++ b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/ClientMessageQueueWrapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.rocketmq; import lombok.extern.slf4j.Slf4j; @@ -149,4 +153,4 @@ public void run() { } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/RocketMQExtension.java b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/RocketMQExtension.java index 9350ef3b1..e64861446 100644 --- a/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/RocketMQExtension.java +++ b/trace-etl/trace-etl-extensions/trace-etl-rocketmq-extension/src/main/java/org/apache/ozhera/trace/etl/extension/rocketmq/RocketMQExtension.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.extension.rocketmq; import org.apache.ozhera.trace.etl.api.service.MQExtension; @@ -161,4 +165,4 @@ public void send(List messages, MessageQueue messageQueue) { log.error("rocketmq producer send error", t); } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/README.md b/trace-etl/trace-etl-manager/README.md index d3ad340b0..77c0a34f6 100644 --- a/trace-etl/trace-etl-manager/README.md +++ b/trace-etl/trace-etl-manager/README.md @@ -1,3 +1,24 @@ + + # Overview # Dependencies diff --git a/trace-etl/trace-etl-manager/README_CN.md b/trace-etl/trace-etl-manager/README_CN.md index 8957c3af9..7a452408a 100644 --- a/trace-etl/trace-etl-manager/README_CN.md +++ b/trace-etl/trace-etl-manager/README_CN.md @@ -1,3 +1,24 @@ + + # 概述 # 依赖 diff --git a/trace-etl/trace-etl-manager/pom.xml b/trace-etl/trace-etl-manager/pom.xml index 80bd389ca..fca87e1ba 100644 --- a/trace-etl/trace-etl-manager/pom.xml +++ b/trace-etl/trace-etl-manager/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/bootstrap/TraceEtlManagerBootstrap.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/bootstrap/TraceEtlManagerBootstrap.java index 1e4a16333..ec875758d 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/bootstrap/TraceEtlManagerBootstrap.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/bootstrap/TraceEtlManagerBootstrap.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.bootstrap; import org.apache.dubbo.config.spring.context.annotation.DubboComponentScan; diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DataSourceConfig.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DataSourceConfig.java index 752e4d774..83884bfd9 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DataSourceConfig.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DataSourceConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -89,4 +93,4 @@ private void setDatasource(ComboPooledDataSource dataSource) { public DataSourceTransactionManager masterTransactionManager() throws PropertyVetoException, NamingException { return new DataSourceTransactionManager(masterDataSource()); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DubboConfiguration.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DubboConfiguration.java index d0d9f818a..21d242c5d 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DubboConfiguration.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/DubboConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -64,4 +68,4 @@ public ProtocolConfig protocolConfig() { return protocolConfig; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/FilterConfiguration.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/FilterConfiguration.java index e365586bf..06c1bfaca 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/FilterConfiguration.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/FilterConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -56,4 +60,4 @@ public FilterRegistrationBean filterCasBean() { registrationBean.setOrder(0); return registrationBean; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/NacosConfiguration.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/NacosConfiguration.java index a0f6fa52e..3788a3025 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/NacosConfiguration.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/NacosConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.config; import com.alibaba.nacos.api.annotation.NacosProperties; diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/ServiceConfiguration.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/ServiceConfiguration.java index a691c771c..882e86d09 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/ServiceConfiguration.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/config/ServiceConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.config; import org.apache.ozhera.trace.etl.api.service.TraceEtlService; @@ -43,4 +47,4 @@ public ManagerService managerService(){ return new ManagerServiceImpl(heraTraceEtlConfigMapper,traceEtlService); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/ManagerController.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/ManagerController.java index c1986f4eb..7b9a63d74 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/ManagerController.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/ManagerController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.controller; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -143,4 +147,4 @@ private void initPage(PagerVo vo) { } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/TraceController.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/TraceController.java index d1cd9c485..67bd65271 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/TraceController.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/controller/TraceController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.controller; import org.apache.ozhera.trace.etl.api.service.DataSourceService; @@ -65,4 +69,4 @@ public TraceQueryResult getByTraceId(@PathVariable String traceId, TraceIdQueryV vo.setTraceId(traceId); return dataSourceService.getByTraceId(vo); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/dubbo/TraceManagerServiceImpl.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/dubbo/TraceManagerServiceImpl.java index 31b6f00d1..80f02c846 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/dubbo/TraceManagerServiceImpl.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/dubbo/TraceManagerServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.dubbo; import org.apache.ozhera.trace.etl.api.service.TraceManagerService; @@ -42,4 +46,4 @@ public Result> getAll() { List all = managerService.getAll(vo); return Result.success(all); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java index 26430487c..e6ed1fce2 100644 --- a/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java +++ b/trace-etl/trace-etl-manager/src/main/java/org/apache/ozhera/trace/etl/manager/filter/RequestHeaderFilter.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.manager.filter; import org.slf4j.Logger; @@ -68,4 +72,4 @@ private void printHeaders(HttpServletRequest request) { log.info(uri + " : request header end ==================="); } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/src/main/resources/application.properties b/trace-etl/trace-etl-manager/src/main/resources/application.properties index a7f290e09..711d79a00 100644 --- a/trace-etl/trace-etl-manager/src/main/resources/application.properties +++ b/trace-etl/trace-etl-manager/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=${app.name} server.type=${server.type} diff --git a/trace-etl/trace-etl-manager/src/main/resources/config/opensource-outer.properties b/trace-etl/trace-etl-manager/src/main/resources/config/opensource-outer.properties index aa6b43829..cdf44bae4 100644 --- a/trace-etl/trace-etl-manager/src/main/resources/config/opensource-outer.properties +++ b/trace-etl/trace-etl-manager/src/main/resources/config/opensource-outer.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=trace_etl_manager server.type=staging diff --git a/trace-etl/trace-etl-manager/src/main/resources/dubbo.properties b/trace-etl/trace-etl-manager/src/main/resources/dubbo.properties index 5c048b993..e26a3290c 100644 --- a/trace-etl/trace-etl-manager/src/main/resources/dubbo.properties +++ b/trace-etl/trace-etl-manager/src/main/resources/dubbo.properties @@ -1 +1,16 @@ -dubbo.trace.log.path=/home/work/log/dubbo/trace-etl_ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +dubbo.trace.log.path=/home/work/log/dubbo/trace-etl_ \ No newline at end of file diff --git a/trace-etl/trace-etl-manager/src/main/resources/logback.xml b/trace-etl/trace-etl-manager/src/main/resources/logback.xml index 21d94df2d..a14797362 100644 --- a/trace-etl/trace-etl-manager/src/main/resources/logback.xml +++ b/trace-etl/trace-etl-manager/src/main/resources/logback.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-metadata/README.md b/trace-etl/trace-etl-metadata/README.md index 83048bf2c..ede34d85b 100644 --- a/trace-etl/trace-etl-metadata/README.md +++ b/trace-etl/trace-etl-metadata/README.md @@ -1,3 +1,24 @@ + + # Overview # How to deploy diff --git a/trace-etl/trace-etl-metadata/README_CN.md b/trace-etl/trace-etl-metadata/README_CN.md index 125f5c861..6bb604a6a 100644 --- a/trace-etl/trace-etl-metadata/README_CN.md +++ b/trace-etl/trace-etl-metadata/README_CN.md @@ -1,3 +1,24 @@ + + # 概述 # 如何部署 ### 依赖 diff --git a/trace-etl/trace-etl-metadata/pom.xml b/trace-etl/trace-etl-metadata/pom.xml index 063dfedb8..f1e034446 100644 --- a/trace-etl/trace-etl-metadata/pom.xml +++ b/trace-etl/trace-etl-metadata/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/bootstrap/TraceEtlMetadataBootstrap.java b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/bootstrap/TraceEtlMetadataBootstrap.java index 9f78d90b9..89975a99a 100644 --- a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/bootstrap/TraceEtlMetadataBootstrap.java +++ b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/bootstrap/TraceEtlMetadataBootstrap.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.metadata.bootstrap; import lombok.extern.slf4j.Slf4j; diff --git a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DataSourceConfig.java b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DataSourceConfig.java index 907dba9e8..1fdeaffe8 100644 --- a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DataSourceConfig.java +++ b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DataSourceConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.trace.etl.metadata.config; @@ -98,4 +101,4 @@ public JdbcTemplate jdbcTemplate(@Qualifier("masterDataSource") DataSource maste return jt; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DubboConfiguration.java b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DubboConfiguration.java index 704c754e2..06d5cba1d 100644 --- a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DubboConfiguration.java +++ b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/DubboConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.metadata.config; import org.apache.dubbo.config.ApplicationConfig; @@ -58,4 +62,4 @@ public ProtocolConfig protocolConfig() { protocolConfig.setThreads(200); return protocolConfig; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/NacosConfiguration.java b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/NacosConfiguration.java index be600d629..73ed32934 100644 --- a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/NacosConfiguration.java +++ b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/config/NacosConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.metadata.config; import com.alibaba.nacos.api.annotation.NacosProperties; @@ -24,4 +28,4 @@ @EnableNacosConfig(globalProperties = @NacosProperties(serverAddr = "${nacos.address}")) @NacosPropertySource(dataId = "hera_trace_config", autoRefreshed = true) public class NacosConfiguration { -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/dubbo/HeraMetaDataServiceImpl.java b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/dubbo/HeraMetaDataServiceImpl.java index f6bd0edb6..ac5c1397e 100644 --- a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/dubbo/HeraMetaDataServiceImpl.java +++ b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/dubbo/HeraMetaDataServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.metadata.dubbo; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -92,4 +96,4 @@ public int delete(int metaId) { return heraMetaDataMapper.delete(wrapper); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/KafkaHeraMetaDataConsumer.java b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/KafkaHeraMetaDataConsumer.java index e3c526ffd..c72ab2dd1 100644 --- a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/KafkaHeraMetaDataConsumer.java +++ b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/KafkaHeraMetaDataConsumer.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.metadata.mq; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -214,4 +218,4 @@ private boolean waitSyncData() { } } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/RocketMQHeraMetaDataConsumer.java b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/RocketMQHeraMetaDataConsumer.java index 9daf5c2f5..7479076df 100644 --- a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/RocketMQHeraMetaDataConsumer.java +++ b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/mq/RocketMQHeraMetaDataConsumer.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.metadata.mq; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -213,4 +217,4 @@ private boolean waitSyncData() { } } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/util/Const.java b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/util/Const.java index 7004d1af2..ad37459f5 100644 --- a/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/util/Const.java +++ b/trace-etl/trace-etl-metadata/src/main/java/org/apache/ozhera/trace/etl/metadata/util/Const.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.metadata.util; public class Const { @@ -20,4 +24,4 @@ public class Const { public static final String REDIS_DISLOCK_KEY_PREFIX = "hera_metadata_"; // Maximum waiting time for data synchronization to block public static final int SYNC_REDIS_WAIT_DURATION = 3 * 60 * 1000; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-metadata/src/main/resources/application.properties b/trace-etl/trace-etl-metadata/src/main/resources/application.properties index 9df9389ca..ef900269d 100644 --- a/trace-etl/trace-etl-metadata/src/main/resources/application.properties +++ b/trace-etl/trace-etl-metadata/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=${app.name} server.type=${server.type} diff --git a/trace-etl/trace-etl-metadata/src/main/resources/config/opensource-outer.properties b/trace-etl/trace-etl-metadata/src/main/resources/config/opensource-outer.properties index 7fd6f70a5..ee0b7e923 100644 --- a/trace-etl/trace-etl-metadata/src/main/resources/config/opensource-outer.properties +++ b/trace-etl/trace-etl-metadata/src/main/resources/config/opensource-outer.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=trace-etl server.type=staging diff --git a/trace-etl/trace-etl-nginx/README.md b/trace-etl/trace-etl-nginx/README.md index 7bb353642..e311ea455 100644 --- a/trace-etl/trace-etl-nginx/README.md +++ b/trace-etl/trace-etl-nginx/README.md @@ -1,3 +1,24 @@ + + # Overview # Deployment diff --git a/trace-etl/trace-etl-nginx/README_CN.md b/trace-etl/trace-etl-nginx/README_CN.md index caf74f35f..8cbc991b2 100644 --- a/trace-etl/trace-etl-nginx/README_CN.md +++ b/trace-etl/trace-etl-nginx/README_CN.md @@ -1,3 +1,24 @@ + + # 概述 # 如何部署 ## 依赖 diff --git a/trace-etl/trace-etl-nginx/pom.xml b/trace-etl/trace-etl-nginx/pom.xml index f230fa3bf..8dd9c145b 100644 --- a/trace-etl/trace-etl-nginx/pom.xml +++ b/trace-etl/trace-etl-nginx/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/bootstrap/TraceEtlNginxBootstrap.java b/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/bootstrap/TraceEtlNginxBootstrap.java index 325a05220..62d57ef20 100644 --- a/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/bootstrap/TraceEtlNginxBootstrap.java +++ b/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/bootstrap/TraceEtlNginxBootstrap.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.nginx.bootstrap; import lombok.extern.slf4j.Slf4j; diff --git a/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java b/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java index 6a2ea578d..630aec88a 100644 --- a/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java +++ b/trace-etl/trace-etl-nginx/src/main/java/org/apache/ozhera/trace/etl/nginx/parser/NginxLogToTraceBase.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.nginx.parser; import com.alibaba.fastjson.JSONObject; @@ -233,4 +237,4 @@ protected String parseUri(String requestUri){ } public abstract NginxJaegerDomain parse(String message); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-nginx/src/main/resources/application.properties b/trace-etl/trace-etl-nginx/src/main/resources/application.properties index ddd67ea9f..d455937a4 100644 --- a/trace-etl/trace-etl-nginx/src/main/resources/application.properties +++ b/trace-etl/trace-etl-nginx/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=${app.name} server.type=${server.type} diff --git a/trace-etl/trace-etl-nginx/src/main/resources/config/opensource-outer.properties b/trace-etl/trace-etl-nginx/src/main/resources/config/opensource-outer.properties index 25a3cf689..bdb8c0649 100644 --- a/trace-etl/trace-etl-nginx/src/main/resources/config/opensource-outer.properties +++ b/trace-etl/trace-etl-nginx/src/main/resources/config/opensource-outer.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=trace_etl_nginx server.type=staging diff --git a/trace-etl/trace-etl-nginx/src/main/resources/logback.xml b/trace-etl/trace-etl-nginx/src/main/resources/logback.xml index e6a81ee80..0fc8cfff0 100644 --- a/trace-etl/trace-etl-nginx/src/main/resources/logback.xml +++ b/trace-etl/trace-etl-nginx/src/main/resources/logback.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-server/README.md b/trace-etl/trace-etl-server/README.md index 67d8e85f3..98aec5e68 100644 --- a/trace-etl/trace-etl-server/README.md +++ b/trace-etl/trace-etl-server/README.md @@ -1,3 +1,24 @@ + + # Overview # How to deploy diff --git a/trace-etl/trace-etl-server/README_CN.md b/trace-etl/trace-etl-server/README_CN.md index 1008a29f5..59b0b09a6 100644 --- a/trace-etl/trace-etl-server/README_CN.md +++ b/trace-etl/trace-etl-server/README_CN.md @@ -1,3 +1,24 @@ + + # 概述 # 如何部署 ### 依赖 diff --git a/trace-etl/trace-etl-server/pom.xml b/trace-etl/trace-etl-server/pom.xml index f7d771a79..c046a0933 100644 --- a/trace-etl/trace-etl-server/pom.xml +++ b/trace-etl/trace-etl-server/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/bootstrap/TraceEtlBootstrap.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/bootstrap/TraceEtlBootstrap.java index 443fd7f5e..9f054dfca 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/bootstrap/TraceEtlBootstrap.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/bootstrap/TraceEtlBootstrap.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.bootstrap; import lombok.extern.slf4j.Slf4j; diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DataSourceConfig.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DataSourceConfig.java index 68322c2e4..85da5a7d9 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DataSourceConfig.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DataSourceConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -91,4 +95,4 @@ public DataSourceTransactionManager masterTransactionManager() throws PropertyVe } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DubboConfiguration.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DubboConfiguration.java index 1d15db860..2e0446945 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DubboConfiguration.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/DubboConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -63,4 +67,4 @@ public ProtocolConfig protocolConfig() { return protocolConfig; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/NacosConfiguration.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/NacosConfiguration.java index facb75300..2b9e61c04 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/NacosConfiguration.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/NacosConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.config; import com.alibaba.nacos.api.annotation.NacosProperties; diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/ServiceConfiguration.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/ServiceConfiguration.java index 540260cee..092b81b0d 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/ServiceConfiguration.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/ServiceConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.config; import org.apache.ozhera.trace.etl.mapper.HeraTraceEtlConfigMapper; @@ -39,4 +43,4 @@ public ManagerService managerService(){ } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/TraceConfig.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/TraceConfig.java index 83dc7b3f8..e034e5f77 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/TraceConfig.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/config/TraceConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.config; import org.apache.ozhera.trace.etl.domain.HeraTraceConfigVo; @@ -77,4 +81,4 @@ private String getServiceName(HeraTraceEtlConfig config) { sb.append(config.getBindId()).append("-").append(config.getAppName()); return sb.toString(); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/LocalStorages.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/LocalStorages.java index 81c58fa6a..911013b42 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/LocalStorages.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/LocalStorages.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.constant; @@ -20,4 +24,4 @@ public class LocalStorages { public static volatile boolean talosIsShutDown = false; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/LockUtil.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/LockUtil.java index aa6864c88..0f9ab3a48 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/LockUtil.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/LockUtil.java @@ -1,20 +1,24 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.constant; public class LockUtil { public static final Object lock = new Object(); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/MetricsName.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/MetricsName.java index 33d67e133..5160416c2 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/MetricsName.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/MetricsName.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.constant; /** @@ -69,4 +73,4 @@ public class MetricsName { public static final String MYSQL_ERROR_COUNT = "jaeger_dbError"; public static final String MYSQL_DURATION_HISTOGRAM = "jaeger_sqlTotalTimer"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanKind.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanKind.java index 2bc3b3a4e..4a47435a6 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanKind.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanKind.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.constant; /** @@ -27,4 +31,4 @@ public class SpanKind { public static final String CLIENT = "client"; public static final String PRODUCER = "producer"; public static final String CONSUMER = "consumer"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanType.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanType.java index e615941f5..b785f5af1 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanType.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/constant/SpanType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.constant; /** @@ -29,4 +33,4 @@ public class SpanType { public static final String ROCKETMQ = "rocketmq"; public static final String CUSTOMIZE_MTTHOD = "customizeMethod"; public static final String GRPC = "grpc"; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/DataCacheService.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/DataCacheService.java index a8b982d46..df00984fc 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/DataCacheService.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/DataCacheService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.consumer; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -223,4 +227,4 @@ private void clearTypeMetrics(Map prometheusMetrics, CollectorRe } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/EnterManager.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/EnterManager.java index 01f6fb565..b7018a677 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/EnterManager.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/EnterManager.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.consumer; import com.google.common.util.concurrent.Monitor; @@ -53,4 +57,4 @@ public AtomicInteger getProcessNum() { return this.processNum; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/KafkaConsumerService.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/KafkaConsumerService.java index b93a46b1b..0c36ae11f 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/KafkaConsumerService.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/KafkaConsumerService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.consumer; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -108,4 +112,4 @@ public void takeMessage() throws MQClientException { mq.initMq(config); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java index c0f01ac7e..4bde272ee 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MetricsParseService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.consumer; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -737,4 +741,4 @@ private HeraTraceEtlConfig defaultConfig(HeraTraceEtlConfig config) { return config; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MutiMetricsCall.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MutiMetricsCall.java index d3e21da13..0af13d408 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MutiMetricsCall.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/MutiMetricsCall.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.consumer; import com.xiaomi.youpin.prometheus.client.XmCounter; @@ -72,4 +76,4 @@ public XmHistogram newHistogram(String metricName, double[] buckets, String... l } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/RocketMQConsumerService.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/RocketMQConsumerService.java index 30d3f96d2..804f29729 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/RocketMQConsumerService.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/consumer/RocketMQConsumerService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.consumer; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -105,4 +109,4 @@ public void takeMessage() throws MQClientException { } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/dubbo/TraceEtlServiceImpl.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/dubbo/TraceEtlServiceImpl.java index b9bf30497..a3b1da08f 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/dubbo/TraceEtlServiceImpl.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/dubbo/TraceEtlServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.dubbo; import org.apache.ozhera.trace.etl.config.TraceConfig; @@ -46,4 +50,4 @@ public void updateConfig(HeraTraceEtlConfig config) { public void deleteConfig(HeraTraceEtlConfig config) { traceConfig.delete(config); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/util/nacos/NacosClientUtil.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/util/nacos/NacosClientUtil.java index 98e263825..51faa9cfc 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/util/nacos/NacosClientUtil.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/util/nacos/NacosClientUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.util.nacos; import com.alibaba.nacos.api.NacosFactory; @@ -91,4 +95,4 @@ public List getNacos() { } return list; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/util/prometheus/HTTPServer.java b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/util/prometheus/HTTPServer.java index bab8784d0..3851527c0 100644 --- a/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/util/prometheus/HTTPServer.java +++ b/trace-etl/trace-etl-server/src/main/java/org/apache/ozhera/trace/etl/util/prometheus/HTTPServer.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.util.prometheus; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -342,5 +346,4 @@ public void run() { } } -} - +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/resources/application.properties b/trace-etl/trace-etl-server/src/main/resources/application.properties index 7598e9102..fefa60910 100644 --- a/trace-etl/trace-etl-server/src/main/resources/application.properties +++ b/trace-etl/trace-etl-server/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=${app.name} server.type=${server.type} diff --git a/trace-etl/trace-etl-server/src/main/resources/config/opensource-outer.properties b/trace-etl/trace-etl-server/src/main/resources/config/opensource-outer.properties index 438b30b17..d42ae416e 100644 --- a/trace-etl/trace-etl-server/src/main/resources/config/opensource-outer.properties +++ b/trace-etl/trace-etl-server/src/main/resources/config/opensource-outer.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=90768_trace_etl server.type=staging diff --git a/trace-etl/trace-etl-server/src/main/resources/dubbo.properties b/trace-etl/trace-etl-server/src/main/resources/dubbo.properties index 5c048b993..e26a3290c 100644 --- a/trace-etl/trace-etl-server/src/main/resources/dubbo.properties +++ b/trace-etl/trace-etl-server/src/main/resources/dubbo.properties @@ -1 +1,16 @@ -dubbo.trace.log.path=/home/work/log/dubbo/trace-etl_ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +dubbo.trace.log.path=/home/work/log/dubbo/trace-etl_ \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/main/resources/logback.xml b/trace-etl/trace-etl-server/src/main/resources/logback.xml index a74020eb2..c8e24dd4a 100644 --- a/trace-etl/trace-etl-server/src/main/resources/logback.xml +++ b/trace-etl/trace-etl-server/src/main/resources/logback.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/FastWriter.java b/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/FastWriter.java index 36a165616..8ac6928c0 100644 --- a/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/FastWriter.java +++ b/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/FastWriter.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package com.xiaomi.youpin.trace.etl.test; import org.apache.commons.lang3.tuple.Pair; @@ -77,4 +81,4 @@ public byte[] getBytes(Enumeration mfs) throws IOException { } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/TestConsumer.java b/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/TestConsumer.java index 68253ae2d..13fe2d1a6 100644 --- a/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/TestConsumer.java +++ b/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/TestConsumer.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package com.xiaomi.youpin.trace.etl.test; /** @@ -21,4 +25,4 @@ * @Date 2022/10/24 3:35 下午 */ public class TestConsumer { -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/WriterTest.java b/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/WriterTest.java index e29303587..eb4b33a6c 100644 --- a/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/WriterTest.java +++ b/trace-etl/trace-etl-server/src/test/java/com/xiaomi/youpin/trace/etl/test/WriterTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package com.xiaomi.youpin.trace.etl.test; import com.google.common.base.Strings; @@ -161,4 +165,4 @@ public void test6() { } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/pom.xml b/trace-etl/trace-etl-service/pom.xml index e8cf8dc4c..08e33a239 100644 --- a/trace-etl/trace-etl-service/pom.xml +++ b/trace-etl/trace-etl-service/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/HeraContextService.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/HeraContextService.java index 48e793fb9..7b85f01b1 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/HeraContextService.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/HeraContextService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.service; import java.util.Set; @@ -27,4 +31,4 @@ public interface HeraContextService { Set getHeraContextKeys(String heraContext); String getHeraContextValue(String heraContext, String key); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/ManagerService.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/ManagerService.java index 4529e4d0a..4746c2428 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/ManagerService.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/ManagerService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.trace.etl.service; @@ -42,4 +45,4 @@ public interface ManagerService { Result insertOrUpdate(HeraTraceEtlConfig config, String user); int delete(HeraTraceEtlConfig config); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/RedisService.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/RedisService.java index 8bef01c40..d26d232c4 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/RedisService.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/RedisService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.trace.etl.service; @@ -36,4 +39,4 @@ public interface RedisService { Long del(String key); boolean getDisLock(String key); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/HeraContextServiceImpl.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/HeraContextServiceImpl.java index 47f32e648..4a8253caa 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/HeraContextServiceImpl.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/HeraContextServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.trace.etl.service.impl; @@ -52,4 +55,4 @@ public String getHeraContextValue(String heraContext, String key) { } return null; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/ManagerServiceImpl.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/ManagerServiceImpl.java index 7d5968fb8..dfe29adcf 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/ManagerServiceImpl.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/ManagerServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -146,4 +150,4 @@ public int delete(HeraTraceEtlConfig config) { } return i; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/RedisServiceImpl.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/RedisServiceImpl.java index 7db8c981b..cc05e9f73 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/RedisServiceImpl.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/service/impl/RedisServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.service.impl; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -167,4 +171,4 @@ public boolean getDisLock(String key) { } return false; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ExecutorUtil.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ExecutorUtil.java index 67c0d4bea..002b3881d 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ExecutorUtil.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ExecutorUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.util; @@ -72,4 +76,4 @@ public static void submitRocksDBRead(Runnable runnable){ log.error("提交rocksdb读取任务失败:",e); } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/MessageUtil.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/MessageUtil.java index af5fdc4b2..c19fc801a 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/MessageUtil.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/MessageUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.util; public class MessageUtil { @@ -42,4 +46,4 @@ public class MessageUtil { public static final String TRACE_SERVICE_REDIS_KEY = "trace_service_"; // Cache the expiration time of the redis key of serviceName and operationName public static final int TRACE_SERVICE_REDIS_KEY_EXPIRE = 60 * 60 * 24; -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ThriftUtil.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ThriftUtil.java index 830da25cd..bc04ecd31 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ThriftUtil.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/ThriftUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.util; import org.apache.ozhera.tspandata.TAttributeType; @@ -36,4 +40,4 @@ public static String getStringValue(TValue value, TAttributeType type){ return value.getStringValue(); } } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java index 2f9415452..816e2371a 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.util; import com.alibaba.fastjson.JSONArray; @@ -383,4 +387,4 @@ private static TExtra toTExtra(Map specialAttrMap) { } return tExtra; } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/convert/HeraMetaDataConvert.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/convert/HeraMetaDataConvert.java index 7a6a7e3b0..289f11808 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/convert/HeraMetaDataConvert.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/convert/HeraMetaDataConvert.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.util.convert; import org.apache.ozhera.trace.etl.domain.metadata.HeraMetaData; @@ -37,4 +41,4 @@ public interface HeraMetaDataConvert { List toModelList(List heraMetaData); List toBoList(List heraMetaData); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/convert/HeraMetaDataPortModelConvert.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/convert/HeraMetaDataPortModelConvert.java index cd1da1658..0c177f887 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/convert/HeraMetaDataPortModelConvert.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/convert/HeraMetaDataPortModelConvert.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.util.convert; import org.apache.ozhera.trace.etl.domain.metadata.HeraMetaDataPort; @@ -34,4 +38,4 @@ public interface HeraMetaDataPortModelConvert { List toModelList(List port); List toBoList(List port); -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/pool/AsyncNotify.java b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/pool/AsyncNotify.java index 94d6e57cb..e40c8ceb4 100644 --- a/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/pool/AsyncNotify.java +++ b/trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/pool/AsyncNotify.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.trace.etl.util.pool; import lombok.extern.slf4j.Slf4j; @@ -46,4 +50,4 @@ public void init(){ public void submit(Runnable runnable){ pool.submit(runnable); } -} +} \ No newline at end of file diff --git a/trace-etl/trace-etl-service/src/test/java/com/xiaomi/youpin/trace/etl/test/Test.java b/trace-etl/trace-etl-service/src/test/java/com/xiaomi/youpin/trace/etl/test/Test.java index 256edfb92..6937e0510 100644 --- a/trace-etl/trace-etl-service/src/test/java/com/xiaomi/youpin/trace/etl/test/Test.java +++ b/trace-etl/trace-etl-service/src/test/java/com/xiaomi/youpin/trace/etl/test/Test.java @@ -1,20 +1,24 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package com.xiaomi.youpin.trace.etl.test; public class Test { -} +} \ No newline at end of file From bb6dc1434df4463c0d85263524ae8d06c487b3c4 Mon Sep 17 00:00:00 2001 From: wodiwudi <40229449+wodiwudi@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:37:12 +0800 Subject: [PATCH 10/19] refactor: update ozhera-prometheus-agent prometheus-starter-all tspandata header (#506) Co-authored-by: gaoxh <32359336+gaoxh@users.noreply.github.com> --- ozhera-prometheus-agent/README.md | 23 ++++++++++++++- .../ozhera-prometheus-agent-api/pom.xml | 21 ++++++++++++++ .../agent/api/bo/PrometheusReq.java | 28 ++++++++++-------- .../prometheus/agent/api/bo/Result.java | 28 ++++++++++-------- .../api/service/PrometheusAlertService.java | 28 ++++++++++-------- .../api/service/PrometheusDubboService.java | 28 ++++++++++-------- .../service/PrometheusScrapeJobService.java | 28 ++++++++++-------- .../ozhera-prometheus-agent-client/pom.xml | 23 ++++++++++++++- .../ozhera/prometheus/agent/BaseClient.java | 28 ++++++++++-------- .../AlertManagerAliClient.java | 28 ++++++++++-------- .../AlertManagerClient.java | 28 ++++++++++-------- .../AlertManagerVMClient.java | 28 ++++++++++-------- .../prometheus/agent/client/Client.java | 28 ++++++++++-------- .../agent/operators/BasicOperator.java | 28 ++++++++++-------- .../ali/AliAlertMessageTemplate.java | 28 ++++++++++-------- .../operators/ali/AliPrometheusOperator.java | 28 ++++++++++-------- .../local/LocalPrometheusOperator.java | 28 ++++++++++-------- .../operators/vm/VMPrometheusOperator.java | 28 ++++++++++-------- .../prometheusClient/PrometheusAliClient.java | 28 ++++++++++-------- .../prometheusClient/PrometheusClient.java | 28 ++++++++++-------- .../prometheusClient/PrometheusVMClient.java | 28 ++++++++++-------- .../ozhera-prometheus-agent-common/pom.xml | 21 ++++++++++++++ .../ozhera/prometheus/agent/Commons.java | 28 ++++++++++-------- .../ozhera/prometheus/agent/enums/Base.java | 28 ++++++++++-------- .../prometheus/agent/enums/ClientType.java | 28 ++++++++++-------- .../prometheus/agent/enums/ErrorCode.java | 28 ++++++++++-------- .../agent/enums/RuleAlertStatusEnum.java | 28 ++++++++++-------- .../agent/enums/RuleSilenceStatusEnum.java | 28 ++++++++++-------- .../agent/enums/ScrapeJobStatusEnum.java | 28 ++++++++++-------- .../prometheus/agent/param/ArgCheck.java | 26 ++++++++++------- .../prometheus/agent/param/BaseParam.java | 28 ++++++++++-------- .../agent/param/alert/AMSilence.java | 28 ++++++++++-------- .../agent/param/alert/AMSilenceResponse.java | 28 ++++++++++-------- .../agent/param/alert/AMSilenceStatus.java | 28 ++++++++++-------- .../prometheus/agent/param/alert/Matcher.java | 28 ++++++++++-------- .../agent/param/alert/RuleAlertParam.java | 28 ++++++++++-------- .../agent/param/alert/RuleSilenceParam.java | 28 ++++++++++-------- .../alertManager/AlertManagerConfig.java | 28 ++++++++++-------- .../agent/param/alertManager/Group.java | 28 ++++++++++-------- .../agent/param/alertManager/Rule.java | 28 ++++++++++-------- .../param/prometheus/Alert_static_config.java | 28 ++++++++++-------- .../agent/param/prometheus/Alerting.java | 28 ++++++++++-------- .../agent/param/prometheus/Alertmanagers.java | 28 ++++++++++-------- .../agent/param/prometheus/Authorization.java | 28 ++++++++++-------- .../agent/param/prometheus/BasicAuth.java | 28 ++++++++++-------- .../param/prometheus/External_labels.java | 28 ++++++++++-------- .../param/prometheus/File_sd_configs.java | 28 ++++++++++-------- .../agent/param/prometheus/Global.java | 28 ++++++++++-------- .../param/prometheus/Http_sd_configs.java | 28 ++++++++++-------- .../prometheus/Metric_relabel_configs.java | 28 ++++++++++-------- .../agent/param/prometheus/Oauth2.java | 26 ++++++++++------- .../param/prometheus/PrometheusConfig.java | 26 ++++++++++------- .../param/prometheus/Relabel_configs.java | 28 ++++++++++-------- .../agent/param/prometheus/Remote_read.java | 28 ++++++++++-------- .../agent/param/prometheus/Remote_write.java | 28 ++++++++++-------- .../param/prometheus/Scrape_configs.java | 28 ++++++++++-------- .../param/prometheus/Static_configs.java | 28 ++++++++++-------- .../agent/param/prometheus/Tls_config.java | 28 ++++++++++-------- .../prometheus/Write_relabel_configs.java | 26 ++++++++++------- .../agent/param/prometheus/ali/AliLabel.java | 28 ++++++++++-------- .../prometheus/ali/AliNotifyObjects.java | 28 ++++++++++-------- .../param/prometheus/ali/AliNotifyRule.java | 28 ++++++++++-------- .../param/prometheus/ali/Scrape_configs.java | 28 ++++++++++-------- .../scrapeConfig/ScrapeConfigDetail.java | 28 ++++++++++-------- .../param/scrapeConfig/ScrapeConfigParam.java | 28 ++++++++++-------- .../param/scrapeConfig/StaticConfigs.java | 28 ++++++++++-------- .../prometheus/agent/result/Result.java | 28 ++++++++++-------- .../alertManager/AlertManagerFireResult.java | 28 ++++++++++-------- .../agent/result/alertManager/Alerts.java | 28 ++++++++++-------- .../result/alertManager/Annotations.java | 28 ++++++++++-------- .../alertManager/CommonAnnotations.java | 28 ++++++++++-------- .../result/alertManager/CommonLabels.java | 28 ++++++++++-------- .../result/alertManager/GroupLabels.java | 28 ++++++++++-------- .../agent/result/alertManager/Labels.java | 28 ++++++++++-------- .../prometheus/agent/util/CommitPoolUtil.java | 28 ++++++++++-------- .../prometheus/agent/util/DateUtil.java | 28 ++++++++++-------- .../prometheus/agent/util/FileUtil.java | 28 ++++++++++-------- .../prometheus/agent/util/FreeMarkerUtil.java | 28 ++++++++++-------- .../ozhera/prometheus/agent/util/Http.java | 28 ++++++++++-------- .../prometheus/agent/util/MailUtil.java | 28 ++++++++++-------- .../prometheus/agent/util/YamlUtil.java | 28 ++++++++++-------- .../prometheus/agent/vo/PageDataVo.java | 28 ++++++++++-------- .../prometheus/agent/test/CommonTest.java | 28 ++++++++++-------- .../prometheus/agent/test/TimeTest.java | 28 ++++++++++-------- .../ozhera-prometheus-agent-dao/pom.xml | 23 ++++++++++++++- .../ozhera/prometheus/agent/Impl/BaseDao.java | 28 ++++++++++-------- .../prometheus/agent/Impl/RuleAlertDao.java | 28 ++++++++++-------- .../agent/Impl/ScrapeConfigDao.java | 28 ++++++++++-------- .../prometheus/agent/Impl/SilenceDao.java | 28 ++++++++++-------- .../prometheus/agent/config/DaoConfig.java | 28 ++++++++++-------- .../agent/entity/RuleAlertEntity.java | 28 ++++++++++-------- .../agent/entity/RuleSilenceEntity.java | 28 ++++++++++-------- .../entity/RuleSilenceMatcherEntity.java | 28 ++++++++++-------- .../agent/entity/ScrapeConfigEntity.java | 28 ++++++++++-------- .../ozhera-prometheus-agent-server/pom.xml | 21 ++++++++++++++ .../ozhera/prometheus/agent/aop/ArgCheck.java | 28 ++++++++++-------- .../prometheus/agent/aop/ArgCheckAspect.java | 28 ++++++++++-------- .../bootstrap/PrometheusAgentBootstrap.java | 26 ++++++++++------- .../agent/config/CacheConfiguration.java | 28 ++++++++++-------- .../agent/config/ClientConfiguration.java | 28 ++++++++++-------- .../agent/config/DataSourceConfiguration.java | 28 ++++++++++-------- .../agent/config/DubboConfiguration.java | 28 ++++++++++-------- .../agent/config/NacosConfiguration.java | 26 ++++++++++------- .../controller/PrometheusAlertController.java | 28 ++++++++++-------- .../controller/PrometheusController.java | 28 ++++++++++-------- .../PrometheusScrapeJobController.java | 28 ++++++++++-------- .../PrometheusSilenceController.java | 28 ++++++++++-------- .../controller/PrometheusVMController.java | 28 ++++++++++-------- .../application-opensource-outer.properties | 15 ++++++++++ .../src/main/resources/application.properties | 15 ++++++++++ .../src/main/resources/dubbo.properties | 17 ++++++++++- .../src/main/resources/logback.xml | 21 ++++++++++++++ .../agent/test/AliPrometheusTest.java | 28 ++++++++++-------- .../prometheus/agent/test/MailTest.java | 28 ++++++++++-------- .../agent/test/RuleSilenceTest.java | 28 ++++++++++-------- .../prometheus/agent/test/feishuTest.java | 28 ++++++++++-------- .../ozhera-prometheus-agent-service/pom.xml | 21 ++++++++++++++ .../ozhera/prometheus/agent/domain/Ips.java | 28 ++++++++++-------- .../agent/service/DingDingService.java | 27 +++++++++-------- .../agent/service/FeishuService.java | 27 +++++++++-------- .../prometheus/agent/service/InitService.java | 25 +++++++++------- .../agent/service/MioneMachineService.java | 28 ++++++++++-------- .../agent/service/PrometheusIpService.java | 27 +++++++++-------- .../agent/service/PrometheusVmService.java | 27 +++++++++-------- .../alarmContact/BaseAlertContact.java | 28 ++++++++++-------- .../alarmContact/DingAlertContact.java | 28 ++++++++++-------- .../alarmContact/FeishuAlertContact.java | 28 ++++++++++-------- .../alarmContact/MailAlertContact.java | 28 ++++++++++-------- .../api/MioneMachineServiceExtension.java | 27 +++++++++-------- .../api/PrometheusIpServiceExtension.java | 28 ++++++++++-------- .../MioneMachineServiceExtensionImpl.java | 28 ++++++++++-------- .../PrometheusIpServiceExtensionImpl.java | 27 +++++++++-------- .../dto/SilenceAlertManagerReqBuilder.java | 28 ++++++++++-------- .../service/dto/dingding/SilenceCallBack.java | 28 ++++++++++-------- .../service/dto/heraApp/GetAllPodIpRes.java | 28 ++++++++++-------- .../service/impl/DingDingServiceImpl.java | 27 +++++++++-------- .../agent/service/impl/FeishuServiceImpl.java | 28 ++++++++++-------- .../agent/service/impl/InitServiceImpl.java | 25 +++++++++------- .../service/impl/MioneMachineServiceImpl.java | 27 +++++++++-------- .../impl/PrometheusAlertServiceImpl.java | 28 ++++++++++-------- .../impl/PrometheusDubboServiceImpl.java | 28 ++++++++++-------- .../service/impl/PrometheusIpServiceImpl.java | 27 +++++++++-------- .../service/impl/PrometheusScrapeJobImpl.java | 28 ++++++++++-------- .../service/impl/PrometheusVmServiceImpl.java | 27 +++++++++-------- .../service/prometheus/RuleAlertService.java | 28 ++++++++++-------- .../prometheus/RuleSilenceService.java | 28 ++++++++++-------- .../service/prometheus/ScrapeJobService.java | 28 ++++++++++-------- .../prometheus/agent/test/DingDingTest.java | 28 ++++++++++-------- .../prometheus/agent/test/feishuCartTest.java | 28 ++++++++++-------- ozhera-prometheus-agent/pom.xml | 25 ++++++++++++++-- ozhera-tspandata/pom.xml | 21 ++++++++++++++ .../ozhera/tspandata/TAttributeKey.java | 28 ++++++++++-------- .../ozhera/tspandata/TAttributeType.java | 28 ++++++++++-------- .../apache/ozhera/tspandata/TAttributes.java | 28 ++++++++++-------- .../org/apache/ozhera/tspandata/TEvent.java | 28 ++++++++++-------- .../org/apache/ozhera/tspandata/TExtra.java | 28 ++++++++++-------- .../TInstrumentationLibraryInfo.java | 28 ++++++++++-------- .../org/apache/ozhera/tspandata/TKind.java | 28 ++++++++++-------- .../org/apache/ozhera/tspandata/TLink.java | 28 ++++++++++-------- .../apache/ozhera/tspandata/TResource.java | 28 ++++++++++-------- .../apache/ozhera/tspandata/TSpanContext.java | 28 ++++++++++-------- .../apache/ozhera/tspandata/TSpanData.java | 28 ++++++++++-------- .../org/apache/ozhera/tspandata/TStatus.java | 28 ++++++++++-------- .../apache/ozhera/tspandata/TTraceState.java | 28 ++++++++++-------- .../org/apache/ozhera/tspandata/TValue.java | 28 ++++++++++-------- prometheus-starter-all/pom.xml | 21 ++++++++++++++ .../prometheus-diy-client/pom.xml | 21 ++++++++++++++ .../ozhera/prometheus/all/client/Metrics.java | 28 ++++++++++-------- .../prometheus/all/client/MetricsManager.java | 28 ++++++++++-------- .../prometheus/all/client/Prometheus.java | 28 ++++++++++-------- .../all/client/PrometheusCounter.java | 28 ++++++++++-------- .../all/client/PrometheusGauge.java | 28 ++++++++++-------- .../all/client/PrometheusHistogram.java | 28 ++++++++++-------- .../prometheus/all/client/XmCounter.java | 28 ++++++++++-------- .../ozhera/prometheus/all/client/XmGauge.java | 28 ++++++++++-------- .../prometheus/all/client/XmHistogram.java | 28 ++++++++++-------- .../binder/ClassLoaderMetricsReduced.java | 28 ++++++++++-------- .../client/binder/JvmGcMetricsReduced.java | 28 ++++++++++-------- .../binder/JvmMemoryMetricsReduced.java | 28 ++++++++++-------- .../binder/JvmThreadMetricsReduced.java | 28 ++++++++++-------- .../prometheus/all/client/PrometheusTest.java | 29 ++++++++++--------- .../prometheus-diy-starter/pom.xml | 21 ++++++++++++++ .../all/config/PrometheusConfigure.java | 28 ++++++++++-------- .../prometheus/starter/all/domain/Const.java | 28 ++++++++++-------- .../starter/all/exporter/HTTPServer.java | 29 ++++++++++--------- .../starter/all/factory/ServiceFactory.java | 28 ++++++++++-------- .../all/service/MilinePrometheusService.java | 28 ++++++++++-------- .../all/service/PrometheusService.java | 28 ++++++++++-------- 188 files changed, 3055 insertions(+), 2065 deletions(-) diff --git a/ozhera-prometheus-agent/README.md b/ozhera-prometheus-agent/README.md index 015374925..33a92130b 100644 --- a/ozhera-prometheus-agent/README.md +++ b/ozhera-prometheus-agent/README.md @@ -1,2 +1,23 @@ + + # Overview -ozhera-prometheus-agent +ozhera-prometheus-agent \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/pom.xml b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/pom.xml index 12d7db7df..bdf05beab 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/pom.xml +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/bo/PrometheusReq.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/bo/PrometheusReq.java index 742a7d77a..1d997c24c 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/bo/PrometheusReq.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/bo/PrometheusReq.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.api.bo; import lombok.Data; @@ -28,4 +32,4 @@ public class PrometheusReq implements Serializable { private String appName; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/bo/Result.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/bo/Result.java index 0f67e3492..a154d2514 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/bo/Result.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/bo/Result.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.api.bo; import lombok.Data; @@ -66,4 +70,4 @@ public static Result success(T data) { return result; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusAlertService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusAlertService.java index ee146b823..90b692591 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusAlertService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusAlertService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.api.service; import org.apache.ozhera.prometheus.agent.param.alert.RuleAlertParam; @@ -34,4 +38,4 @@ public interface PrometheusAlertService { Result GetRuleAlertList(Integer pageSize,Integer pageNo); Result EnabledRuleAlert(String id, String enabled); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusDubboService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusDubboService.java index 00aa73f71..1b189e514 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusDubboService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusDubboService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.api.service; @@ -34,4 +38,4 @@ public interface PrometheusDubboService { */ Result> getIpsByAppName(PrometheusReq req); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusScrapeJobService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusScrapeJobService.java index 57878b7d4..c0995dc56 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusScrapeJobService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-api/src/main/java/org/apache/ozhera/prometheus/agent/api/service/PrometheusScrapeJobService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.api.service; import org.apache.ozhera.prometheus.agent.param.scrapeConfig.ScrapeConfigParam; @@ -35,4 +39,4 @@ public interface PrometheusScrapeJobService { Result GetScrapeConfigByName(String name); Result GetScrapeConfigList(Integer page_size, Integer page_no); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/pom.xml b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/pom.xml index da535e111..ddb7e8878 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/pom.xml +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/pom.xml @@ -1,4 +1,25 @@ + + @@ -52,4 +73,4 @@ - + \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/BaseClient.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/BaseClient.java index a210e04e3..400826c0f 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/BaseClient.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/BaseClient.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent; import org.apache.ozhera.prometheus.agent.client.Client; @@ -74,4 +78,4 @@ public void init(){ private void Register(String name,Client client) { clients.put(name,client); }*/ -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerAliClient.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerAliClient.java index 065d0bf91..7c84c17e3 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerAliClient.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerAliClient.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.alertManagerClient; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -423,4 +427,4 @@ private Float getRemoteAlertIdRuleByAlertName(String alertName) { } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerClient.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerClient.java index 1657c12b5..9110bc03c 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerClient.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerClient.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.alertManagerClient; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -296,4 +300,4 @@ private boolean restoreConfiguration(String oldFilePath, String newFilePath) { -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerVMClient.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerVMClient.java index 98f4d9d37..99460f3e0 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerVMClient.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/alertManagerClient/AlertManagerVMClient.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.alertManagerClient; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -239,4 +243,4 @@ private Set getVMAlertPodIp() { return null; } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/client/Client.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/client/Client.java index 5de739aa0..e0d7cbb13 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/client/Client.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/client/Client.java @@ -1,21 +1,25 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.client; public interface Client { public void GetLocalConfigs(); public void CompareAndReload(); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/BasicOperator.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/BasicOperator.java index c56d10445..f2a34ddea 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/BasicOperator.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/BasicOperator.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.operators; /** @@ -22,4 +26,4 @@ public interface BasicOperator { String printTriplicities(); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/ali/AliAlertMessageTemplate.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/ali/AliAlertMessageTemplate.java index e60b68c68..99a69fbe9 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/ali/AliAlertMessageTemplate.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/ali/AliAlertMessageTemplate.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.operators.ali; public class AliAlertMessageTemplate { @@ -62,4 +66,4 @@ public class AliAlertMessageTemplate { " \"dispatchRuleName\":\"{{ .dispatchRuleName }}\",\n" + " \"alarmId\":\"{{ .alarmId }}\"\n" + "}"; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/ali/AliPrometheusOperator.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/ali/AliPrometheusOperator.java index 50834e9ce..65bcda749 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/ali/AliPrometheusOperator.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/ali/AliPrometheusOperator.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.operators.ali; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -493,4 +497,4 @@ private String transAnnotation2String(Map annotations) { } return gson.toJson(labelList); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/local/LocalPrometheusOperator.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/local/LocalPrometheusOperator.java index 165462d24..6cad6831b 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/local/LocalPrometheusOperator.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/local/LocalPrometheusOperator.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.operators.local; import org.apache.ozhera.prometheus.agent.operators.BasicOperator; @@ -28,4 +32,4 @@ public class LocalPrometheusOperator implements BasicOperator { public String printTriplicities() { return "local"; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/vm/VMPrometheusOperator.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/vm/VMPrometheusOperator.java index d6f95c9d4..47aab70c7 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/vm/VMPrometheusOperator.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/operators/vm/VMPrometheusOperator.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.operators.vm; import org.apache.ozhera.prometheus.agent.operators.BasicOperator; @@ -26,4 +30,4 @@ public class VMPrometheusOperator implements BasicOperator { public String printTriplicities() { return "VictoriaMetrics"; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusAliClient.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusAliClient.java index 2a57767d0..8031724aa 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusAliClient.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusAliClient.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.prometheusClient; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -367,4 +371,4 @@ private Scrape_configs getLocalConfigByJobName(String jobName) { }); return targetConfig.get(); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusClient.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusClient.java index f7744b71d..1321c8daa 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusClient.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusClient.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.prometheusClient; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -294,4 +298,4 @@ private boolean restoreConfiguration(String oldFilePath, String newFilePath) { boolean b = FileUtil.RenameFile(oldFilePath, newFilePath); return b; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusVMClient.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusVMClient.java index 8b70be01a..3d3a77abd 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusVMClient.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-client/src/main/java/org/apache/ozhera/prometheus/agent/prometheusClient/PrometheusVMClient.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.prometheusClient; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -204,4 +208,4 @@ private Set getVMAgentPodIP() { return null; } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/pom.xml b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/pom.xml index 39bfe7ab4..6eb045b35 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/pom.xml +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/Commons.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/Commons.java index 122e4e6d3..b9adaeb4b 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/Commons.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/Commons.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent; public class Commons { @@ -32,4 +36,4 @@ public class Commons { public static final String DEFAULT_ALERT_PROM_CLUSTER = "public"; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/Base.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/Base.java index caaed4d2e..65c54aaed 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/Base.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/Base.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.enums; public interface Base { @@ -21,4 +25,4 @@ public interface Base { public String getDesc(); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ClientType.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ClientType.java index e69760528..f4858975a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ClientType.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ClientType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.enums; @@ -39,4 +43,4 @@ public Integer getCode() { public String getDesc() { return desc; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ErrorCode.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ErrorCode.java index 433f1d917..2d7684d8d 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ErrorCode.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ErrorCode.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.enums; public enum ErrorCode { @@ -40,4 +44,4 @@ public int getCode() { public String getMessage() { return message; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/RuleAlertStatusEnum.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/RuleAlertStatusEnum.java index 165e39bde..3a44887e4 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/RuleAlertStatusEnum.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/RuleAlertStatusEnum.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.enums; import lombok.ToString; @@ -55,4 +59,4 @@ public Integer getCode() { public String getDesc() { return desc; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/RuleSilenceStatusEnum.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/RuleSilenceStatusEnum.java index 6b913a837..01d2b84e0 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/RuleSilenceStatusEnum.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/RuleSilenceStatusEnum.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.enums; public enum RuleSilenceStatusEnum implements Base { @@ -50,4 +54,4 @@ public Integer getCode() { public String getDesc() { return desc; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ScrapeJobStatusEnum.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ScrapeJobStatusEnum.java index 23c62f87c..c38a71c60 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ScrapeJobStatusEnum.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/enums/ScrapeJobStatusEnum.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.enums; import lombok.ToString; @@ -55,4 +59,4 @@ public Integer getCode() { public String getDesc() { return desc; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/ArgCheck.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/ArgCheck.java index f9ec98dc9..fa983f278 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/ArgCheck.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/ArgCheck.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param; public interface ArgCheck { diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/BaseParam.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/BaseParam.java index d740b0538..1513c8cbd 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/BaseParam.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/BaseParam.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param; import lombok.Data; @@ -28,4 +32,4 @@ public class BaseParam implements ArgCheck, Serializable { public boolean argCheck() { return false; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilence.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilence.java index cc747e042..9f1d3f284 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilence.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilence.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.alert; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -34,4 +38,4 @@ public class AMSilence { private String createdBy; private String id; private AMSilenceStatus status; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilenceResponse.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilenceResponse.java index 1827ab5f1..cff107ecd 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilenceResponse.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilenceResponse.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.alert; import lombok.Data; @@ -22,4 +26,4 @@ @ToString(callSuper = true) public class AMSilenceResponse { private String silenceID; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilenceStatus.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilenceStatus.java index 5c2bf6ea3..4cd5e3303 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilenceStatus.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/AMSilenceStatus.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.alert; import lombok.Data; @@ -22,4 +26,4 @@ @ToString(callSuper = true) public class AMSilenceStatus { private String state; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/Matcher.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/Matcher.java index 5268902aa..9adaaa09a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/Matcher.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/Matcher.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.alert; import lombok.Data; @@ -23,4 +27,4 @@ public class Matcher { private String value; //Matching values can be label values or regular expressions. private boolean isRegex; //Whether it is a regular expression match private boolean isEqual; //Whether it is an equal match -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/RuleAlertParam.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/RuleAlertParam.java index 0bb6b4c62..b839c029b 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/RuleAlertParam.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/RuleAlertParam.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.alert; import org.apache.ozhera.prometheus.agent.param.BaseParam; import lombok.Data; @@ -42,4 +46,4 @@ public class RuleAlertParam extends BaseParam { public boolean argCheck() { return true; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/RuleSilenceParam.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/RuleSilenceParam.java index 62251d9f7..34c78c7c7 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/RuleSilenceParam.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alert/RuleSilenceParam.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.alert; @@ -62,4 +66,4 @@ private boolean ValidateMatchers(List matchers) { }); return valid.get(); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/AlertManagerConfig.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/AlertManagerConfig.java index 47ce1f22d..bc185cc0e 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/AlertManagerConfig.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/AlertManagerConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.alertManager; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -28,4 +32,4 @@ public class AlertManagerConfig { private List groups; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/Group.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/Group.java index 094a25e65..c463fef2b 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/Group.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/Group.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.alertManager; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -29,4 +33,4 @@ public class Group { private String name; private List rules; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/Rule.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/Rule.java index d7bd2e534..451f4e5a7 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/Rule.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/alertManager/Rule.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.alertManager; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -31,4 +35,4 @@ public class Rule { private Map labels; private Map annotations; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alert_static_config.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alert_static_config.java index 74c0ada22..00788101e 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alert_static_config.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alert_static_config.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -25,4 +29,4 @@ @Data public class Alert_static_config { private List targets; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alerting.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alerting.java index e01782667..3d9771f4a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alerting.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alerting.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonInclude; @@ -25,4 +29,4 @@ public class Alerting { private List alertmanagers; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alertmanagers.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alertmanagers.java index 566e92957..e94170487 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alertmanagers.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Alertmanagers.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonInclude; @@ -25,4 +29,4 @@ public class Alertmanagers { private List static_configs; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Authorization.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Authorization.java index 47f00a348..3f740dcb9 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Authorization.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Authorization.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -26,4 +30,4 @@ public class Authorization { private String credentials_file; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/BasicAuth.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/BasicAuth.java index 75c43cde7..5606791b4 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/BasicAuth.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/BasicAuth.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import lombok.Data; @@ -23,4 +27,4 @@ public class BasicAuth implements Serializable { private String username; private String password; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/External_labels.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/External_labels.java index aa11c7c4a..07035dfe1 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/External_labels.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/External_labels.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -27,4 +31,4 @@ public class External_labels { private String monitor; private String foo; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/File_sd_configs.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/File_sd_configs.java index f54a97045..af67d4019 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/File_sd_configs.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/File_sd_configs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -28,4 +32,4 @@ public class File_sd_configs { private List files; private String refresh_interval; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Global.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Global.java index 9102ce587..35226e781 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Global.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Global.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -28,4 +32,4 @@ public class Global { private String evaluation_interval; private String scrape_timeout; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Http_sd_configs.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Http_sd_configs.java index 72f1cb76a..88d184be6 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Http_sd_configs.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Http_sd_configs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -27,4 +31,4 @@ public class Http_sd_configs implements Serializable { private String url; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Metric_relabel_configs.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Metric_relabel_configs.java index 40f5397db..a317b61b4 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Metric_relabel_configs.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Metric_relabel_configs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -33,4 +37,4 @@ public class Metric_relabel_configs implements Serializable { private String replacement; private String action; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Oauth2.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Oauth2.java index 4c916abcf..37b4cb376 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Oauth2.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Oauth2.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/PrometheusConfig.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/PrometheusConfig.java index 367e57a8f..d0c9d0cda 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/PrometheusConfig.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/PrometheusConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Relabel_configs.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Relabel_configs.java index 8f6a80903..86307cb64 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Relabel_configs.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Relabel_configs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -34,4 +38,4 @@ public class Relabel_configs implements Serializable { private String action; private String separator; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Remote_read.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Remote_read.java index 79c6363af..354635788 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Remote_read.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Remote_read.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -29,4 +33,4 @@ public class Remote_read { private String name; private boolean enable_http2; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Remote_write.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Remote_write.java index 588f498d8..d43eda40b 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Remote_write.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Remote_write.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -31,4 +35,4 @@ public class Remote_write { private List write_relabel_configs; private Oauth2 oauth2; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Scrape_configs.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Scrape_configs.java index 570068295..e79048a78 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Scrape_configs.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Scrape_configs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -42,4 +46,4 @@ public class Scrape_configs { private Map> params; private String scheme; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Static_configs.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Static_configs.java index 87aec63a4..a4c2eb4ec 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Static_configs.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Static_configs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -31,4 +35,4 @@ public class Static_configs implements Serializable { private List targets; private Map labels; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Tls_config.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Tls_config.java index 72405a85c..26517b926 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Tls_config.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Tls_config.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -27,4 +31,4 @@ public class Tls_config { private String cert_file; private String key_file; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Write_relabel_configs.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Write_relabel_configs.java index 52e1de584..a50dfea1d 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Write_relabel_configs.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/Write_relabel_configs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliLabel.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliLabel.java index bbb6a9380..a7703c2f9 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliLabel.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliLabel.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus.ali; import lombok.Data; @@ -26,4 +30,4 @@ public class AliLabel { private String Name; private String Value; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliNotifyObjects.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliNotifyObjects.java index 73e095d67..5e519b848 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliNotifyObjects.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliNotifyObjects.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus.ali; import lombok.Data; @@ -30,4 +34,4 @@ public class AliNotifyObjects { private Long notifyObjectId; private String notifyObjectName; private List notifyChannels; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliNotifyRule.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliNotifyRule.java index 1e193c3fd..1ed847cea 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliNotifyRule.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/AliNotifyRule.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus.ali; import lombok.Data; @@ -29,4 +33,4 @@ public class AliNotifyRule { private String notifyEndTime; private List notifyChannels; private List notifyObjects; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/Scrape_configs.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/Scrape_configs.java index 98428f3e0..72bef44e2 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/Scrape_configs.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/prometheus/ali/Scrape_configs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.prometheus.ali; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -33,4 +37,4 @@ public class Scrape_configs { private List scrape_configs; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/ScrapeConfigDetail.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/ScrapeConfigDetail.java index 5306ce4dd..10f52bfae 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/ScrapeConfigDetail.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/ScrapeConfigDetail.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.scrapeConfig; import org.apache.ozhera.prometheus.agent.param.prometheus.BasicAuth; @@ -44,4 +48,4 @@ public class ScrapeConfigDetail { private List http_sd_configs; private List metric_relabel_configs; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/ScrapeConfigParam.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/ScrapeConfigParam.java index bc6d530de..3d8f1b797 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/ScrapeConfigParam.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/ScrapeConfigParam.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.scrapeConfig; import org.apache.ozhera.prometheus.agent.param.BaseParam; @@ -53,4 +57,4 @@ public class ScrapeConfigParam extends BaseParam { public boolean argCheck() { return true; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/StaticConfigs.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/StaticConfigs.java index 65799174c..7cd7c70d0 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/StaticConfigs.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/param/scrapeConfig/StaticConfigs.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.param.scrapeConfig; import lombok.Data; @@ -24,4 +28,4 @@ public class StaticConfigs { private List targets; private Map labels; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/Result.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/Result.java index 693bbc8d0..9eb63d5e0 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/Result.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/Result.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.result; import org.apache.ozhera.prometheus.agent.enums.ErrorCode; @@ -91,4 +95,4 @@ public String toString() { ", data=" + data + '}'; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/AlertManagerFireResult.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/AlertManagerFireResult.java index 86ca5de93..4be40c9cc 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/AlertManagerFireResult.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/AlertManagerFireResult.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.result.alertManager; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -36,4 +40,4 @@ public class AlertManagerFireResult { private String version; private String groupKey; private int truncatedAlerts; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Alerts.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Alerts.java index 81fde5a1b..2205c454d 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Alerts.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Alerts.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.result.alertManager; import com.fasterxml.jackson.annotation.JsonInclude; @@ -29,4 +33,4 @@ public class Alerts { private String generatorURL; private String fingerprint; private String expectedSilenceTime; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Annotations.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Annotations.java index 4b425c976..2fc2c2402 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Annotations.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Annotations.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.result.alertManager; import com.fasterxml.jackson.annotation.JsonInclude; @@ -23,4 +27,4 @@ public class Annotations { private String summary; private String title; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/CommonAnnotations.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/CommonAnnotations.java index 70be347c9..f1442536c 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/CommonAnnotations.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/CommonAnnotations.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.result.alertManager; import com.fasterxml.jackson.annotation.JsonInclude; @@ -23,4 +27,4 @@ public class CommonAnnotations { private String summary; private String title; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/CommonLabels.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/CommonLabels.java index 914581749..65e47b0ac 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/CommonLabels.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/CommonLabels.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.result.alertManager; import com.fasterxml.jackson.annotation.JsonInclude; @@ -49,4 +53,4 @@ public class CommonLabels { private String namespace; private String pod; private String restartCounts; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/GroupLabels.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/GroupLabels.java index 25c85f2bc..987043055 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/GroupLabels.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/GroupLabels.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.result.alertManager; import com.fasterxml.jackson.annotation.JsonInclude; @@ -22,4 +26,4 @@ @JsonInclude(JsonInclude.Include.NON_NULL) public class GroupLabels { private String alertname; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Labels.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Labels.java index 9dce26126..f74b24011 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Labels.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/result/alertManager/Labels.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.result.alertManager; import com.fasterxml.jackson.annotation.JsonInclude; @@ -50,4 +54,4 @@ public class Labels { private String pod; private String restartCounts; private String detailRedirectUrl; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/CommitPoolUtil.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/CommitPoolUtil.java index ce9b0e251..7455a6d19 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/CommitPoolUtil.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/CommitPoolUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.util; import java.util.concurrent.ScheduledThreadPoolExecutor; @@ -69,4 +73,4 @@ public class CommitPoolUtil { System.out.println("CommitPoolUtil static error :" + e.getMessage()); } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/DateUtil.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/DateUtil.java index a33605b0b..651fe9fda 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/DateUtil.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/DateUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.util; import lombok.SneakyThrows; @@ -86,4 +90,4 @@ public static String ISO8601UTCTOCST(String utcTime) { } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/FileUtil.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/FileUtil.java index a00b280c4..487c1ec72 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/FileUtil.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/FileUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.util; @@ -187,4 +191,4 @@ public static void GenerateFile(String path) { } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/FreeMarkerUtil.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/FreeMarkerUtil.java index 1b9b56efd..f1465f3a4 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/FreeMarkerUtil.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/FreeMarkerUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.util; import java.io.*; @@ -123,4 +127,4 @@ public static void main(String[] args) { e.printStackTrace(); } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/Http.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/Http.java index 6eee58c1c..83948edc9 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/Http.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/Http.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.util; import lombok.extern.slf4j.Slf4j; @@ -99,4 +103,4 @@ public static String innerRequestResponseData(String data, String url, String me return e.getMessage(); } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/MailUtil.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/MailUtil.java index a3c1ac650..e1a8df072 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/MailUtil.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/MailUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.util; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -141,4 +145,4 @@ public void sendMailToUserArray(ArrayList toEmailAddressArrayList, Strin } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/YamlUtil.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/YamlUtil.java index 44d69cb24..d86768366 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/YamlUtil.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/util/YamlUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.util; import com.fasterxml.jackson.core.JsonProcessingException; @@ -83,4 +87,4 @@ public static String toYaml(Object object) { } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/vo/PageDataVo.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/vo/PageDataVo.java index 92c8c280c..63dd4e427 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/vo/PageDataVo.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/main/java/org/apache/ozhera/prometheus/agent/vo/PageDataVo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.vo; import lombok.Data; @@ -28,4 +32,4 @@ public class PageDataVo implements Serializable { private Integer pageSize; private Integer total; private List list; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/test/java/org/apache/ozhera/prometheus/agent/test/CommonTest.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/test/java/org/apache/ozhera/prometheus/agent/test/CommonTest.java index 0d1a04e9a..7dc1cbb4b 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/test/java/org/apache/ozhera/prometheus/agent/test/CommonTest.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/test/java/org/apache/ozhera/prometheus/agent/test/CommonTest.java @@ -1,20 +1,24 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.test; public class CommonTest { -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/test/java/org/apache/ozhera/prometheus/agent/test/TimeTest.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/test/java/org/apache/ozhera/prometheus/agent/test/TimeTest.java index e3ed2fe24..5c5770967 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/test/java/org/apache/ozhera/prometheus/agent/test/TimeTest.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-common/src/test/java/org/apache/ozhera/prometheus/agent/test/TimeTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.test; import org.apache.ozhera.prometheus.agent.util.DateUtil; @@ -50,4 +54,4 @@ public void testTime() { System.out.println(DateUtil.ISO8601UTCTOTimeStamp(time)); System.out.println(DateUtil.ISO8601UTCTOCST(time)); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/pom.xml b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/pom.xml index 4aef23858..5bf7a0885 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/pom.xml +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/pom.xml @@ -1,4 +1,25 @@ + + @@ -47,4 +68,4 @@ - + \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/BaseDao.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/BaseDao.java index 3c4276264..eeceeddcf 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/BaseDao.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/BaseDao.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.Impl; import org.nutz.dao.Dao; @@ -30,4 +34,4 @@ protected Pager buildPager(Integer pageNo, Integer pageSize) { pager.setPageSize(pageSize); return pager; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/RuleAlertDao.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/RuleAlertDao.java index ffc24db89..4168346e7 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/RuleAlertDao.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/RuleAlertDao.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.Impl; import org.apache.ozhera.prometheus.agent.entity.RuleAlertEntity; @@ -134,4 +138,4 @@ public int UpdateRuleAlertDeleteToDone(String alertName) { } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/ScrapeConfigDao.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/ScrapeConfigDao.java index c4a3d65e2..f890fb1b9 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/ScrapeConfigDao.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/ScrapeConfigDao.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.Impl; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -149,4 +153,4 @@ public int UpdateScrapeConfigDeleteToDone(String jobName) { return 0; } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/SilenceDao.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/SilenceDao.java index 38ba72069..ab5640b7d 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/SilenceDao.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/Impl/SilenceDao.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.Impl; import org.apache.ozhera.prometheus.agent.entity.RuleSilenceEntity; @@ -30,4 +34,4 @@ public class SilenceDao extends BaseDao{ public Long CreateSilence(RuleSilenceEntity entity) { return dao.insert(entity).getId(); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/config/DaoConfig.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/config/DaoConfig.java index df79b8900..c6cff276c 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/config/DaoConfig.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/config/DaoConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.config; import org.nutz.dao.Dao; @@ -32,4 +36,4 @@ public Dao dao(@Qualifier("masterDataSource") DataSource masterDataSource) { return dao; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleAlertEntity.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleAlertEntity.java index fb1d607b8..a6e419133 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleAlertEntity.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleAlertEntity.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.entity; import lombok.Data; @@ -99,4 +103,4 @@ public class RuleAlertEntity implements Serializable { @Column("alert_group") private String alert_group; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleSilenceEntity.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleSilenceEntity.java index 03061f096..9ab6b941a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleSilenceEntity.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleSilenceEntity.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.entity; import lombok.Data; @@ -60,4 +64,4 @@ public class RuleSilenceEntity { @Column("created_by") private String createdBy; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleSilenceMatcherEntity.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleSilenceMatcherEntity.java index a9c74cf6e..e3c308f5c 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleSilenceMatcherEntity.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/RuleSilenceMatcherEntity.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.entity; import lombok.Data; @@ -39,4 +43,4 @@ public class RuleSilenceMatcherEntity { @Column("is_equal") private int isEqual; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/ScrapeConfigEntity.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/ScrapeConfigEntity.java index 026a0d777..2d3d393a5 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/ScrapeConfigEntity.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-dao/src/main/java/org/apache/ozhera/prometheus/agent/entity/ScrapeConfigEntity.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.entity; import lombok.Data; @@ -70,4 +74,4 @@ public class ScrapeConfigEntity implements Serializable { @Column("deleted_time") private Date DeletedTime; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/pom.xml b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/pom.xml index 672dd72fc..5e7ab7975 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/pom.xml +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/aop/ArgCheck.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/aop/ArgCheck.java index b023b116a..6fab86a40 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/aop/ArgCheck.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/aop/ArgCheck.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.aop; import java.lang.annotation.*; @@ -22,4 +26,4 @@ @Documented public @interface ArgCheck { -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/aop/ArgCheckAspect.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/aop/ArgCheckAspect.java index 40417c051..19c59dd98 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/aop/ArgCheckAspect.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/aop/ArgCheckAspect.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.aop; import org.apache.ozhera.prometheus.agent.enums.ErrorCode; @@ -84,4 +88,4 @@ public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { private Object getResult(Class resultCls, ErrorCode responseCode) { return responseCode; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/bootstrap/PrometheusAgentBootstrap.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/bootstrap/PrometheusAgentBootstrap.java index ce074fa39..dd0cb6966 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/bootstrap/PrometheusAgentBootstrap.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/bootstrap/PrometheusAgentBootstrap.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.bootstrap; import lombok.extern.slf4j.Slf4j; diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/CacheConfiguration.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/CacheConfiguration.java index 3b79a5486..114a292f0 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/CacheConfiguration.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/CacheConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.config; import com.google.common.cache.Cache; @@ -39,4 +43,4 @@ public Cache guavaCache() { .expireAfterWrite(7200, TimeUnit.SECONDS) // The expiration time of the entry .build(); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/ClientConfiguration.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/ClientConfiguration.java index 1369c9bfc..8f793a335 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/ClientConfiguration.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/ClientConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -80,4 +84,4 @@ public Client AlertManagerClient() { } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/DataSourceConfiguration.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/DataSourceConfiguration.java index 7d30342d9..29415a171 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/DataSourceConfiguration.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/DataSourceConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -90,4 +94,4 @@ private void setDatasource(ComboPooledDataSource dataSource) { public DataSourceTransactionManager masterTransactionManager() throws PropertyVetoException, NamingException { return new DataSourceTransactionManager(masterDataSource()); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/DubboConfiguration.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/DubboConfiguration.java index 51d94cc16..38552be3b 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/DubboConfiguration.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/DubboConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.config; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -65,4 +69,4 @@ public ProtocolConfig protocolConfig() { return protocolConfig; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/NacosConfiguration.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/NacosConfiguration.java index dfd7b7ea9..48bb272b3 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/NacosConfiguration.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/config/NacosConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.config; import com.alibaba.nacos.api.annotation.NacosProperties; diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusAlertController.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusAlertController.java index e996c3776..d96e04e97 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusAlertController.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusAlertController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.controller; import com.google.gson.Gson; @@ -112,4 +116,4 @@ public Result sendAlert(@RequestBody String body) { return result; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusController.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusController.java index de64d309f..adb39d5a8 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusController.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.controller; import org.apache.ozhera.prometheus.agent.domain.Ips; @@ -83,4 +87,4 @@ public List getK8sNodeIp(String type) { public List getHeraAppPodIp() { return prometheusIpService.getHeraAppPodIp(); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusScrapeJobController.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusScrapeJobController.java index bce654146..90ff94bb7 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusScrapeJobController.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusScrapeJobController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.controller; import org.apache.ozhera.prometheus.agent.Commons; @@ -78,4 +82,4 @@ public Result GetScrapeConfigList(Integer page_size, Integer page_no) { return result; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusSilenceController.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusSilenceController.java index a49ee4bc5..adf93306d 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusSilenceController.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusSilenceController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.controller; @@ -118,4 +122,4 @@ private SilenceAlertManagerReqBuilder parseSilenceData(String json) { return builder; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusVMController.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusVMController.java index 32ea4bb15..c82b880bd 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusVMController.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/java/org/apache/ozhera/prometheus/agent/controller/PrometheusVMController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.controller; import org.apache.ozhera.prometheus.agent.domain.Ips; @@ -71,4 +75,4 @@ public List getClusterIp(String name) { log.info("getClusterIp begin,name:{}", name); return vmService.getVMClusterIp(name); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/application-opensource-outer.properties b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/application-opensource-outer.properties index 45eb95b3a..a7c6aba2a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/application-opensource-outer.properties +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/application-opensource-outer.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=prometheus-agent server.type=opensource-outer diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/application.properties b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/application.properties index ed284812d..0e2ba695a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/application.properties +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=prometheus-agent server.type=${server.type} diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/dubbo.properties b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/dubbo.properties index a07ca2a3c..0f56dc951 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/dubbo.properties +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/dubbo.properties @@ -1 +1,16 @@ -dubbo.trace.log.path=/home/work/log/dubbo/prometheus-agent_ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +dubbo.trace.log.path=/home/work/log/dubbo/prometheus-agent_ \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/logback.xml b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/logback.xml index ec2cc0221..aa19e8092 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/logback.xml +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/logback.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/AliPrometheusTest.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/AliPrometheusTest.java index d6f706784..581509a52 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/AliPrometheusTest.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/AliPrometheusTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.test; import lombok.extern.slf4j.Slf4j; @@ -163,4 +167,4 @@ public DeleteAlertRuleResponse DeleteAlertRule(Long alertId) { } }*/ -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/MailTest.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/MailTest.java index 755e07db1..3cb9fce56 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/MailTest.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/MailTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.test; import com.google.gson.Gson; @@ -103,4 +107,4 @@ public class MailTest { " \"groupKey\":\"{}/{send_interval\\u003d\\\"5m\\\"}:{alertname\\u003d\\\"k8s_container_cpu_use_rate-2-k8s_container_cpu_use_rate-1678682933270\\\", group_key\\u003d\\\"localhost:5195\\\"}\",\n" + " \"truncatedAlerts\":0\n" + "}"; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/RuleSilenceTest.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/RuleSilenceTest.java index e1200607d..0e4bd98ee 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/RuleSilenceTest.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/RuleSilenceTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.test; /** @@ -56,4 +60,4 @@ public void test() { System.out.println(e.getMessage()); } }*/ -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/feishuTest.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/feishuTest.java index 036c0a52e..370482654 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/feishuTest.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/test/java/org/apache/ozhera/prometheus/agent/test/feishuTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.test; import com.google.gson.Gson; @@ -103,4 +107,4 @@ public class feishuTest { " \"truncatedAlerts\":0\n" + "}"; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/pom.xml b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/pom.xml index 9bc3da8c3..26f827971 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/pom.xml +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/domain/Ips.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/domain/Ips.java index fc62ee9db..cdb84fb28 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/domain/Ips.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/domain/Ips.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.domain; import java.util.List; @@ -28,4 +32,4 @@ public List getTargets() { public void setTargets(List targets) { this.targets = targets; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/DingDingService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/DingDingService.java index 43a6acc5f..1e1ca6a68 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/DingDingService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/DingDingService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service; @@ -29,4 +32,4 @@ public interface DingDingService { void updateDingDingCard(String content, String cardBizId); String getNameByUserId(String userId); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/FeishuService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/FeishuService.java index 56e6b9623..310ff81a5 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/FeishuService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/FeishuService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service; @@ -23,4 +26,4 @@ public interface FeishuService { void sendFeishu(String content, String[] receivers, String[] feishuGroups, boolean sendCard); String getUserIdByEmail(String email); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/InitService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/InitService.java index a478d5353..4611e0828 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/InitService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/InitService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service; diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/MioneMachineService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/MioneMachineService.java index bd3b05f41..64ab83bd7 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/MioneMachineService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/MioneMachineService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service; import org.apache.ozhera.prometheus.agent.domain.Ips; @@ -24,4 +28,4 @@ public interface MioneMachineService { List queryMachineList(String type) ; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/PrometheusIpService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/PrometheusIpService.java index 557965d8d..9e577cd59 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/PrometheusIpService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/PrometheusIpService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service; @@ -34,4 +37,4 @@ public interface PrometheusIpService { List getHeraAppPodIp(); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/PrometheusVmService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/PrometheusVmService.java index b73f7521e..09db3f163 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/PrometheusVmService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/PrometheusVmService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service; @@ -29,4 +32,4 @@ public interface PrometheusVmService { List getVMClusterIp(String name); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/BaseAlertContact.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/BaseAlertContact.java index 83e7e88bc..f2b12368d 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/BaseAlertContact.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/BaseAlertContact.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.alarmContact; import org.apache.ozhera.prometheus.agent.result.alertManager.AlertManagerFireResult; @@ -145,4 +149,4 @@ private Alerts StringNull2Null(Alerts alerts) { alerts.getLabels().setMetrics_flag(Objects.equals(alerts.getLabels().getMetrics_flag(), "null") ? null : alerts.getLabels().getMetrics_flag()); return alerts; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/DingAlertContact.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/DingAlertContact.java index 2a319bd0b..2e3133b75 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/DingAlertContact.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/DingAlertContact.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.alarmContact; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -164,4 +168,4 @@ public void updateDingDingCard(String userId, String content, String expectedSil log.error("DingAlertContact.updateDingDingCard error:{}", e); } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/FeishuAlertContact.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/FeishuAlertContact.java index f08ac8913..28865ecbf 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/FeishuAlertContact.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/FeishuAlertContact.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.alarmContact; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -118,4 +122,4 @@ public void Reach(AlertManagerFireResult fireResult) { log.info("SendAlert success AlertName:{}", alertName); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/MailAlertContact.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/MailAlertContact.java index c18107134..6d11b651f 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/MailAlertContact.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/alarmContact/MailAlertContact.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.alarmContact; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -115,4 +119,4 @@ public void Reach(AlertManagerFireResult fireResult) { } }); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/MioneMachineServiceExtension.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/MioneMachineServiceExtension.java index 41b7e76cf..78c053b93 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/MioneMachineServiceExtension.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/MioneMachineServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service.api; @@ -27,4 +30,4 @@ public interface MioneMachineServiceExtension { List queryMachineList(String type); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/PrometheusIpServiceExtension.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/PrometheusIpServiceExtension.java index 4559373b7..708cca0cd 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/PrometheusIpServiceExtension.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/PrometheusIpServiceExtension.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.api; import org.apache.ozhera.prometheus.agent.domain.Ips; @@ -32,4 +36,4 @@ public interface PrometheusIpServiceExtension { Set getEtcdHosts(); List getK8sNodeIp(String type); -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/impl/MioneMachineServiceExtensionImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/impl/MioneMachineServiceExtensionImpl.java index 671be1fc3..54869ad6a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/impl/MioneMachineServiceExtensionImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/impl/MioneMachineServiceExtensionImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.api.impl; import org.apache.ozhera.prometheus.agent.domain.Ips; @@ -33,4 +37,4 @@ public class MioneMachineServiceExtensionImpl implements MioneMachineServiceExte public List queryMachineList(String type) { return null; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/impl/PrometheusIpServiceExtensionImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/impl/PrometheusIpServiceExtensionImpl.java index 1dc7c31b6..f4ed41426 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/impl/PrometheusIpServiceExtensionImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/api/impl/PrometheusIpServiceExtensionImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service.api.impl; @@ -415,4 +418,4 @@ private String innerRequest(String data, String url, String apiKey, String metho } }*/ -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/SilenceAlertManagerReqBuilder.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/SilenceAlertManagerReqBuilder.java index 2c7384322..9ed3abf79 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/SilenceAlertManagerReqBuilder.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/SilenceAlertManagerReqBuilder.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.dto; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -34,4 +38,4 @@ public class SilenceAlertManagerReqBuilder { private String outTrackId; private String content; private String callbackTitle; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/dingding/SilenceCallBack.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/dingding/SilenceCallBack.java index 24f6ed276..277bea6c1 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/dingding/SilenceCallBack.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/dingding/SilenceCallBack.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.dto.dingding; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -30,4 +34,4 @@ public class SilenceCallBack { private String corpId; private String userId; private String content; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/heraApp/GetAllPodIpRes.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/heraApp/GetAllPodIpRes.java index 38ac804d2..a06db1cff 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/heraApp/GetAllPodIpRes.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/dto/heraApp/GetAllPodIpRes.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.dto.heraApp; import lombok.Data; @@ -29,4 +33,4 @@ public class GetAllPodIpRes { private String message; private List data; private boolean success; -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/DingDingServiceImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/DingDingServiceImpl.java index 78e093502..f725261cc 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/DingDingServiceImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/DingDingServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service.impl; @@ -270,4 +273,4 @@ public String getNameByUserId(String userId) { return null; }*/ } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/FeishuServiceImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/FeishuServiceImpl.java index ee996f25b..6bf7a8116 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/FeishuServiceImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/FeishuServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.impl; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -86,4 +90,4 @@ public void sendFeishu(String content, String[] receivers, String[] feishuGroups public String getUserIdByEmail(String email) { return feiShu.getUserIdByEmail(email); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/InitServiceImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/InitServiceImpl.java index fe2509313..80b87eb5a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/InitServiceImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/InitServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service.impl; diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/MioneMachineServiceImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/MioneMachineServiceImpl.java index e4d4f26cb..ec9e1a3e2 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/MioneMachineServiceImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/MioneMachineServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service.impl; @@ -36,4 +39,4 @@ public List queryMachineList(String type) { return mioneMachineServiceExtension.queryMachineList(type); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusAlertServiceImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusAlertServiceImpl.java index c33fcd8db..aea6c855e 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusAlertServiceImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusAlertServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.impl; import org.apache.ozhera.prometheus.agent.Commons; @@ -86,4 +90,4 @@ public Result EnabledRuleAlert(String id, String enabled) { Result result = ruleAlertService.EnabledRuleAlert(id,enabled); return result; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusDubboServiceImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusDubboServiceImpl.java index 4eb01dc0f..c680c8f3a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusDubboServiceImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusDubboServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.impl; @@ -44,4 +48,4 @@ public Result> getIpsByAppName(PrometheusReq req) { return Result.success(res); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusIpServiceImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusIpServiceImpl.java index 48508bf6b..e6422b619 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusIpServiceImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusIpServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service.impl; @@ -97,4 +100,4 @@ public List getHeraAppPodIp() { } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusScrapeJobImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusScrapeJobImpl.java index e601c1899..61d386d11 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusScrapeJobImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusScrapeJobImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.impl; import org.apache.ozhera.prometheus.agent.Commons; @@ -69,4 +73,4 @@ public Result GetScrapeConfigList(Integer page_size,Integer page_no) { Result result = scrapeJobService.GetScrapeConfigList(page_size, page_no); return result; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusVmServiceImpl.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusVmServiceImpl.java index 89d8bf3c6..c3da06273 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusVmServiceImpl.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/impl/PrometheusVmServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.prometheus.agent.service.impl; @@ -96,4 +99,4 @@ public List getVMClusterIp(String name) { return null; } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/RuleAlertService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/RuleAlertService.java index 183cfd159..699060d69 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/RuleAlertService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/RuleAlertService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.prometheus; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -277,4 +281,4 @@ private int transPriority2Integer(String priority) { } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/RuleSilenceService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/RuleSilenceService.java index 541fa4015..c0e2b0a0f 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/RuleSilenceService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/RuleSilenceService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.prometheus; import com.alibaba.nacos.api.config.annotation.NacosValue; @@ -199,4 +203,4 @@ private void updateCardByAlertType(String userId, String content, String expecte } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/ScrapeJobService.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/ScrapeJobService.java index 7413aa640..59bf2a17a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/ScrapeJobService.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/java/org/apache/ozhera/prometheus/agent/service/prometheus/ScrapeJobService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.service.prometheus; import com.google.gson.Gson; @@ -174,4 +178,4 @@ private ScrapeConfigDetail getScrapeJobBody(ScrapeConfigParam param) { return scrapeConfigDetail; } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/test/java/org/apache/ozhera/prometheus/agent/test/DingDingTest.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/test/java/org/apache/ozhera/prometheus/agent/test/DingDingTest.java index c59e85515..cf20c3233 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/test/java/org/apache/ozhera/prometheus/agent/test/DingDingTest.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/test/java/org/apache/ozhera/prometheus/agent/test/DingDingTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.test; import com.google.gson.Gson; @@ -221,4 +225,4 @@ void filterName(Map map) { } } } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/test/java/org/apache/ozhera/prometheus/agent/test/feishuCartTest.java b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/test/java/org/apache/ozhera/prometheus/agent/test/feishuCartTest.java index 631083613..a7eca4f8a 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/test/java/org/apache/ozhera/prometheus/agent/test/feishuCartTest.java +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/test/java/org/apache/ozhera/prometheus/agent/test/feishuCartTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.agent.test; import com.google.gson.Gson; @@ -235,4 +239,4 @@ public void testFeishuBasicAlertCard() { } }); } -} +} \ No newline at end of file diff --git a/ozhera-prometheus-agent/pom.xml b/ozhera-prometheus-agent/pom.xml index ed9b73ff0..1be7108c3 100644 --- a/ozhera-prometheus-agent/pom.xml +++ b/ozhera-prometheus-agent/pom.xml @@ -1,4 +1,25 @@ + + @@ -222,6 +243,4 @@ - - - + \ No newline at end of file diff --git a/ozhera-tspandata/pom.xml b/ozhera-tspandata/pom.xml index 59b8072cb..8bf867057 100644 --- a/ozhera-tspandata/pom.xml +++ b/ozhera-tspandata/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributeKey.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributeKey.java index 664e02150..7e012844b 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributeKey.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributeKey.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -396,4 +400,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributeType.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributeType.java index 24d3b8cb6..95b7e6d46 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributeType.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributeType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -64,4 +68,4 @@ public static TAttributeType findByValue(int var0) { return null; } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributes.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributes.java index e07589aca..c2ea1cc47 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributes.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TAttributes.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -488,4 +492,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TEvent.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TEvent.java index b6e5cff1a..8d8358353 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TEvent.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TEvent.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -584,4 +588,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TExtra.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TExtra.java index 656cedfc1..bba605f80 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TExtra.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TExtra.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -493,4 +497,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TInstrumentationLibraryInfo.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TInstrumentationLibraryInfo.java index 21d2d9df9..fcb4421aa 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TInstrumentationLibraryInfo.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TInstrumentationLibraryInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -395,4 +399,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TKind.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TKind.java index e76a9d95d..d0795e9f6 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TKind.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TKind.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -55,4 +59,4 @@ public static TKind findByValue(int var0) { return null; } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TLink.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TLink.java index b967c7ddb..532684b10 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TLink.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TLink.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -493,4 +497,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TResource.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TResource.java index 94bc20ed4..867ab4150 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TResource.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TResource.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -298,4 +302,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TSpanContext.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TSpanContext.java index 3cc7abe28..8644ee6c2 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TSpanContext.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TSpanContext.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -681,4 +685,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TSpanData.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TSpanData.java index 5bf6a1782..4a6bcf31c 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TSpanData.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TSpanData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -2215,4 +2219,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TStatus.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TStatus.java index 6a39757de..817c5cd2d 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TStatus.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TStatus.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -49,4 +53,4 @@ public static TStatus findByValue(int var0) { return null; } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TTraceState.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TTraceState.java index f2c85094d..08f0efa59 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TTraceState.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TTraceState.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -341,4 +345,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TValue.java b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TValue.java index f923761ec..6431e0064 100644 --- a/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TValue.java +++ b/ozhera-tspandata/src/main/java/org/apache/ozhera/tspandata/TValue.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) @@ -1139,4 +1143,4 @@ public String getFieldName() { } } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/pom.xml b/prometheus-starter-all/pom.xml index 741e53543..7db229636 100644 --- a/prometheus-starter-all/pom.xml +++ b/prometheus-starter-all/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/prometheus-starter-all/prometheus-diy-client/pom.xml b/prometheus-starter-all/prometheus-diy-client/pom.xml index 5c19cc1f2..e3258952e 100644 --- a/prometheus-starter-all/prometheus-diy-client/pom.xml +++ b/prometheus-starter-all/prometheus-diy-client/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/Metrics.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/Metrics.java index 0de54200a..2e79a2920 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/Metrics.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/Metrics.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; import org.apache.ozhera.prometheus.all.client.binder.ClassLoaderMetricsReduced; @@ -118,4 +122,4 @@ public XmHistogram newHistogram(String metricName, double[] buckets, String... l return gMetricsMgr.newHistogram(metricName, DEFAULT_LATENCY_BUCKETS, labelNames); } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/MetricsManager.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/MetricsManager.java index e3faee259..9b02d89f9 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/MetricsManager.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/MetricsManager.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; /** * @author zhangxiaowei6 @@ -48,4 +52,4 @@ public interface MetricsManager { */ XmHistogram newHistogram(String metricName, double[] buckets, String... labelNames); -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/Prometheus.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/Prometheus.java index 5de0a7a4b..d2443dc84 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/Prometheus.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/Prometheus.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; import io.micrometer.prometheus.PrometheusConfig; @@ -194,4 +198,4 @@ public Histogram getHistogram(String metricName, double[] buckets, String... lab return null; } } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusCounter.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusCounter.java index 5ec3243a1..e228c863b 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusCounter.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusCounter.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; import io.prometheus.client.Counter; @@ -72,4 +76,4 @@ public void add(double delta, String... labelValues) { } } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusGauge.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusGauge.java index 64a80ff02..1db54f352 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusGauge.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusGauge.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; import io.prometheus.client.Gauge; @@ -84,4 +88,4 @@ public void add(double delta,String... labelValue) { log.warn(throwable.getMessage()); } } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusHistogram.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusHistogram.java index 12f71c749..6b3e8d2c4 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusHistogram.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/PrometheusHistogram.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; import io.prometheus.client.Histogram; @@ -67,4 +71,4 @@ public void observe(double delta,String... labelValue) { log.warn(throwable.getMessage()); } } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmCounter.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmCounter.java index 036114415..fc1bad162 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmCounter.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmCounter.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; /** * @author zhangxiaowei6 @@ -32,4 +36,4 @@ public interface XmCounter { * @param delta */ void add(double delta,String... labelValues); -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmGauge.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmGauge.java index 6ef097eba..d6d40106e 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmGauge.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmGauge.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; /** * @author zhangxiaowei6 @@ -39,4 +43,4 @@ public interface XmGauge { * @param delta set Increment */ void add(double delta,String... labelValue); -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmHistogram.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmHistogram.java index 29e65fbf4..0758dc09d 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmHistogram.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/XmHistogram.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; /** * @author zhangxiaowei6 @@ -31,4 +35,4 @@ public interface XmHistogram { * @param delta Increment */ void observe(double delta,String... labelValue); -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/ClassLoaderMetricsReduced.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/ClassLoaderMetricsReduced.java index b9bc25de7..6d9dced7d 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/ClassLoaderMetricsReduced.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/ClassLoaderMetricsReduced.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client.binder; import io.micrometer.core.instrument.Gauge; @@ -49,4 +53,4 @@ public void bindTo(MeterRegistry registry) { ClassLoadingMXBean classLoadingBean = ManagementFactory.getClassLoadingMXBean(); Gauge.builder("jvm.classes.loaded", classLoadingBean, ClassLoadingMXBean::getLoadedClassCount).tags(this.tags).description("The number of classes that are currently loaded in the Java virtual machine").baseUnit("classes").register(registry); } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmGcMetricsReduced.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmGcMetricsReduced.java index 224cfe166..df6b8be7f 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmGcMetricsReduced.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmGcMetricsReduced.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client.binder; import com.sun.management.GarbageCollectionNotificationInfo; @@ -201,4 +205,4 @@ static JvmGcMetricsReduced.GcGenerationAge fromName(String name) { return (JvmGcMetricsReduced.GcGenerationAge)knownCollectors.getOrDefault(name, UNKNOWN); } } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmMemoryMetricsReduced.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmMemoryMetricsReduced.java index 082d6dd6c..ca8210fa8 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmMemoryMetricsReduced.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmMemoryMetricsReduced.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client.binder; import io.micrometer.core.instrument.Gauge; @@ -94,4 +98,4 @@ private MemoryUsage getUsage(MemoryPoolMXBean memoryPoolMXBean) { return null; } } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmThreadMetricsReduced.java b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmThreadMetricsReduced.java index ade431a65..224b71727 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmThreadMetricsReduced.java +++ b/prometheus-starter-all/prometheus-diy-client/src/main/java/org/apache/ozhera/prometheus/all/client/binder/JvmThreadMetricsReduced.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client.binder; import io.micrometer.core.instrument.Gauge; @@ -47,4 +51,4 @@ public void bindTo(MeterRegistry registry) { Gauge.builder("jvm.threads.daemon", threadBean, ThreadMXBean::getDaemonThreadCount).tags(this.tags).description("The current number of live daemon threads").baseUnit("threads").register(registry); Gauge.builder("jvm.threads.live", threadBean, ThreadMXBean::getThreadCount).tags(this.tags).description("The current number of live threads including both daemon and non-daemon threads").baseUnit("threads").register(registry); } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-client/src/test/java/org/apache/ozhera/prometheus/all/client/PrometheusTest.java b/prometheus-starter-all/prometheus-diy-client/src/test/java/org/apache/ozhera/prometheus/all/client/PrometheusTest.java index 601f3e316..c9f5181f4 100644 --- a/prometheus-starter-all/prometheus-diy-client/src/test/java/org/apache/ozhera/prometheus/all/client/PrometheusTest.java +++ b/prometheus-starter-all/prometheus-diy-client/src/test/java/org/apache/ozhera/prometheus/all/client/PrometheusTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.all.client; import org.junit.Before; import org.junit.Test; @@ -91,5 +95,4 @@ public void testException() { public void testJvm() throws InterruptedException { Thread.sleep(3000000); }*/ -} - +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-starter/pom.xml b/prometheus-starter-all/prometheus-diy-starter/pom.xml index df9d72feb..0d58bb3cc 100644 --- a/prometheus-starter-all/prometheus-diy-starter/pom.xml +++ b/prometheus-starter-all/prometheus-diy-starter/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/config/PrometheusConfigure.java b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/config/PrometheusConfigure.java index 5d60f9944..c92639a8f 100644 --- a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/config/PrometheusConfigure.java +++ b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/config/PrometheusConfigure.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.starter.all.config; import com.alibaba.nacos.api.exception.NacosException; @@ -95,4 +99,4 @@ private static void registNacos(String nacosAddr, String serviceName, String ser log.error("prometheus diy register nacos error:{}", e.getMessage()); } } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/domain/Const.java b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/domain/Const.java index 6760673b0..8cc20fb66 100644 --- a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/domain/Const.java +++ b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/domain/Const.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.starter.all.domain; /** @@ -25,4 +29,4 @@ public class Const { public static final String MILINE = "miline"; public static final String MATRIX = "matrix"; -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/exporter/HTTPServer.java b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/exporter/HTTPServer.java index 368fccc38..8c8dfcf05 100644 --- a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/exporter/HTTPServer.java +++ b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/exporter/HTTPServer.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.starter.all.exporter; import com.sun.net.httpserver.HttpExchange; @@ -315,5 +319,4 @@ public void stop() { public int getPort() { return server.getAddress().getPort(); } -} - +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/factory/ServiceFactory.java b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/factory/ServiceFactory.java index b4929f39a..920db23ad 100644 --- a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/factory/ServiceFactory.java +++ b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/factory/ServiceFactory.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.starter.all.factory; import org.apache.ozhera.prometheus.starter.all.service.MilinePrometheusService; @@ -40,4 +44,4 @@ public static PrometheusService getPrometheusService(String platform){ throw new IllegalArgumentException("platform is invalid"); } } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/MilinePrometheusService.java b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/MilinePrometheusService.java index 6fa0ccc23..0bb042d2a 100644 --- a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/MilinePrometheusService.java +++ b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/MilinePrometheusService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.starter.all.service; import org.apache.commons.lang3.StringUtils; @@ -56,4 +60,4 @@ public String getPort() { } return port; } -} +} \ No newline at end of file diff --git a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/PrometheusService.java b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/PrometheusService.java index 4868a8597..e0514a788 100644 --- a/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/PrometheusService.java +++ b/prometheus-starter-all/prometheus-diy-starter/src/main/java/org/apache/ozhera/prometheus/starter/all/service/PrometheusService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.prometheus.starter.all.service; public abstract class PrometheusService { @@ -26,4 +30,4 @@ public abstract class PrometheusService { public abstract String getServerIp(); public abstract String getPort(); -} +} \ No newline at end of file From 4fd427e7ec5ec3d5dc277c529c1702f552ee94be Mon Sep 17 00:00:00 2001 From: EricDing <128116675+sadadw1@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:42:21 +0800 Subject: [PATCH 11/19] fix: update demo-client and demo-server file header (#507) * fix: delete unused annotation * fix: upgrade app-api and app-common version to 3 * fix: delete rocksDB unit test * fix: update trace-etl file header, include java and md file * fix: update demo-client and demo-server file header * fix: add trace-etl file header type, properties and xml --- ozhera-demo-client/README.md | 21 +++++ ozhera-demo-client/README_cn.md | 21 +++++ .../ozhera-demo-client-api/pom.xml | 21 +++++ .../api/service/DubboHealthService.java | 26 +++--- .../ozhera-demo-client-common/pom.xml | 21 +++++ .../ozhera-demo-client-server/pom.xml | 21 +++++ .../bootstrap/HeraDemoClientBootstrap.java | 26 +++--- .../client/config/DubboConfiguration.java | 28 ++++--- .../client/config/NacosConfiguration.java | 26 +++--- .../config/PrometheusConfiguration.java | 28 ++++--- .../demo/client/config/RedisConfig.java | 26 +++--- .../client/controller/TestController.java | 28 ++++--- .../demo/client/grpc/GrpcClientService.java | 28 ++++--- .../demo/client/util/HttpClientUtil.java | 28 ++++--- .../src/main/resources/application.properties | 15 ++++ .../resources/config/open-source.properties | 15 ++++ .../src/main/resources/logback.xml | 21 +++++ .../ozhera-demo-client-service/pom.xml | 21 +++++ .../service/DubboHealthServiceImpl.java | 28 ++++--- ozhera-demo-client/pom.xml | 23 ++++- ozhera-demo-server/README.md | 21 +++++ ozhera-demo-server/README_cn.md | 21 +++++ .../ozhera-demo-server-api/pom.xml | 21 +++++ .../server/service/DubboHealthService.java | 26 +++--- .../ozhera-demo-server-server/pom.xml | 21 +++++ .../demo/server/HeraDemoServerBootstrap.java | 26 +++--- .../server/config/DubboConfiguration.java | 26 +++--- .../server/config/NacosConfiguration.java | 26 +++--- .../demo/server/grpc/MyServiceImpl.java | 83 +++++-------------- .../service/DubboHealthServiceImpl.java | 26 +++--- .../src/main/resources/application.properties | 15 ++++ .../resources/config/open-source.properties | 15 ++++ .../src/main/resources/logback.xml | 21 +++++ ozhera-demo-server/pom.xml | 23 ++++- 34 files changed, 606 insertions(+), 237 deletions(-) diff --git a/ozhera-demo-client/README.md b/ozhera-demo-client/README.md index c4859ab31..118ca200d 100644 --- a/ozhera-demo-client/README.md +++ b/ozhera-demo-client/README.md @@ -1,2 +1,23 @@ + + # introduction OzHera demo client \ No newline at end of file diff --git a/ozhera-demo-client/README_cn.md b/ozhera-demo-client/README_cn.md index 5fb4b97fb..0d17cea7f 100644 --- a/ozhera-demo-client/README_cn.md +++ b/ozhera-demo-client/README_cn.md @@ -1,2 +1,23 @@ + + # 概述 OzHera demo client \ No newline at end of file diff --git a/ozhera-demo-client/ozhera-demo-client-api/pom.xml b/ozhera-demo-client/ozhera-demo-client-api/pom.xml index 571b2066f..0352da81e 100644 --- a/ozhera-demo-client/ozhera-demo-client-api/pom.xml +++ b/ozhera-demo-client/ozhera-demo-client-api/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-demo-client/ozhera-demo-client-api/src/main/java/org/apache/ozhera/demo/client/api/service/DubboHealthService.java b/ozhera-demo-client/ozhera-demo-client-api/src/main/java/org/apache/ozhera/demo/client/api/service/DubboHealthService.java index ba538219b..52911a999 100644 --- a/ozhera-demo-client/ozhera-demo-client-api/src/main/java/org/apache/ozhera/demo/client/api/service/DubboHealthService.java +++ b/ozhera-demo-client/ozhera-demo-client-api/src/main/java/org/apache/ozhera/demo/client/api/service/DubboHealthService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.api.service; diff --git a/ozhera-demo-client/ozhera-demo-client-common/pom.xml b/ozhera-demo-client/ozhera-demo-client-common/pom.xml index 27dc940f0..b06147fd9 100644 --- a/ozhera-demo-client/ozhera-demo-client-common/pom.xml +++ b/ozhera-demo-client/ozhera-demo-client-common/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-demo-client/ozhera-demo-client-server/pom.xml b/ozhera-demo-client/ozhera-demo-client-server/pom.xml index 5317eed4b..78ce108cc 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/pom.xml +++ b/ozhera-demo-client/ozhera-demo-client-server/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/bootstrap/HeraDemoClientBootstrap.java b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/bootstrap/HeraDemoClientBootstrap.java index 0b595f137..76e4204c3 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/bootstrap/HeraDemoClientBootstrap.java +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/bootstrap/HeraDemoClientBootstrap.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.bootstrap; import lombok.extern.slf4j.Slf4j; diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/DubboConfiguration.java b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/DubboConfiguration.java index 00e08499b..f31228223 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/DubboConfiguration.java +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/DubboConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.config; import com.google.common.collect.Maps; @@ -63,4 +67,4 @@ public ProtocolConfig protocolConfig() { return protocolConfig; } -} +} \ No newline at end of file diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/NacosConfiguration.java b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/NacosConfiguration.java index 674eb0813..28cffe245 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/NacosConfiguration.java +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/NacosConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.config; import com.alibaba.nacos.api.annotation.NacosProperties; diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/PrometheusConfiguration.java b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/PrometheusConfiguration.java index 9e2df4682..06c49843f 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/PrometheusConfiguration.java +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/PrometheusConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.config; import org.apache.ozhera.prometheus.starter.all.config.PrometheusConfigure; @@ -39,4 +43,4 @@ public class PrometheusConfiguration { public void init(){ PrometheusConfigure.init(nacosAddr, serverType); } -} +} \ No newline at end of file diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/RedisConfig.java b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/RedisConfig.java index 40ba26d59..8b5a3a625 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/RedisConfig.java +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/config/RedisConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.config; import lombok.extern.slf4j.Slf4j; diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/controller/TestController.java b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/controller/TestController.java index bc3ca6ece..04d76f621 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/controller/TestController.java +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/controller/TestController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.controller; import com.xiaomi.hera.trace.annotation.Trace; @@ -158,4 +162,4 @@ private String sendGETReuqest(String url) { return null; } -} +} \ No newline at end of file diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/grpc/GrpcClientService.java b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/grpc/GrpcClientService.java index 807819fc2..e57c10c29 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/grpc/GrpcClientService.java +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/grpc/GrpcClientService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.grpc; @@ -48,4 +52,4 @@ public String grpcError(String name) { return myServiceStub.error(request).getMessage(); } -} +} \ No newline at end of file diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/util/HttpClientUtil.java b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/util/HttpClientUtil.java index edab76801..d3946b049 100755 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/util/HttpClientUtil.java +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/java/org/apache/ozhera/demo/client/util/HttpClientUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.util; import org.apache.http.HttpResponse; @@ -135,4 +139,4 @@ public static long currentTimeMillis() { return System.currentTimeMillis(); } -} +} \ No newline at end of file diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/application.properties b/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/application.properties index 5f249677c..b3e884757 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/application.properties +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=hera-demo-client server.type=${server.type} diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/config/open-source.properties b/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/config/open-source.properties index f1f9fbaf8..801eb58cf 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/config/open-source.properties +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/config/open-source.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server server.type=dev server.port=8085 diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/logback.xml b/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/logback.xml index 2f3b5d976..f9098fd51 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/logback.xml +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/resources/logback.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-demo-client/ozhera-demo-client-service/pom.xml b/ozhera-demo-client/ozhera-demo-client-service/pom.xml index c0356072d..4a303d44a 100644 --- a/ozhera-demo-client/ozhera-demo-client-service/pom.xml +++ b/ozhera-demo-client/ozhera-demo-client-service/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-demo-client/ozhera-demo-client-service/src/main/java/org/apache/ozhera/demo/client/service/DubboHealthServiceImpl.java b/ozhera-demo-client/ozhera-demo-client-service/src/main/java/org/apache/ozhera/demo/client/service/DubboHealthServiceImpl.java index a806fb62b..537bcad2f 100644 --- a/ozhera-demo-client/ozhera-demo-client-service/src/main/java/org/apache/ozhera/demo/client/service/DubboHealthServiceImpl.java +++ b/ozhera-demo-client/ozhera-demo-client-service/src/main/java/org/apache/ozhera/demo/client/service/DubboHealthServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.client.service; import com.xiaomi.hera.trace.annotation.Trace; @@ -64,4 +68,4 @@ private void testMethod2() { } -} +} \ No newline at end of file diff --git a/ozhera-demo-client/pom.xml b/ozhera-demo-client/pom.xml index a59a9dfaa..b99352d3b 100644 --- a/ozhera-demo-client/pom.xml +++ b/ozhera-demo-client/pom.xml @@ -1,4 +1,25 @@ + + @@ -202,4 +223,4 @@ - + \ No newline at end of file diff --git a/ozhera-demo-server/README.md b/ozhera-demo-server/README.md index eb9cc143c..c8f0140ac 100644 --- a/ozhera-demo-server/README.md +++ b/ozhera-demo-server/README.md @@ -1,2 +1,23 @@ + + # introduce ozhera-demo-server \ No newline at end of file diff --git a/ozhera-demo-server/README_cn.md b/ozhera-demo-server/README_cn.md index 0b6c5a9fc..b24dfd110 100644 --- a/ozhera-demo-server/README_cn.md +++ b/ozhera-demo-server/README_cn.md @@ -1,2 +1,23 @@ + + # 概述 ozhera-demo-server \ No newline at end of file diff --git a/ozhera-demo-server/ozhera-demo-server-api/pom.xml b/ozhera-demo-server/ozhera-demo-server-api/pom.xml index 98433d733..9e652c8c4 100644 --- a/ozhera-demo-server/ozhera-demo-server-api/pom.xml +++ b/ozhera-demo-server/ozhera-demo-server-api/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-demo-server/ozhera-demo-server-api/src/main/java/org/apache/ozhera/demo/server/service/DubboHealthService.java b/ozhera-demo-server/ozhera-demo-server-api/src/main/java/org/apache/ozhera/demo/server/service/DubboHealthService.java index 55447feca..d7e581129 100644 --- a/ozhera-demo-server/ozhera-demo-server-api/src/main/java/org/apache/ozhera/demo/server/service/DubboHealthService.java +++ b/ozhera-demo-server/ozhera-demo-server-api/src/main/java/org/apache/ozhera/demo/server/service/DubboHealthService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.server.service; diff --git a/ozhera-demo-server/ozhera-demo-server-server/pom.xml b/ozhera-demo-server/ozhera-demo-server-server/pom.xml index 77cf13f86..808b0c745 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/pom.xml +++ b/ozhera-demo-server/ozhera-demo-server-server/pom.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/HeraDemoServerBootstrap.java b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/HeraDemoServerBootstrap.java index 472158724..ae53a8379 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/HeraDemoServerBootstrap.java +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/HeraDemoServerBootstrap.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.server; import lombok.extern.slf4j.Slf4j; diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/config/DubboConfiguration.java b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/config/DubboConfiguration.java index 4d1b2f121..c04ea6e8d 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/config/DubboConfiguration.java +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/config/DubboConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.server.config; import org.apache.dubbo.config.ApplicationConfig; diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/config/NacosConfiguration.java b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/config/NacosConfiguration.java index 4b4db1368..fbd1f12ee 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/config/NacosConfiguration.java +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/config/NacosConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.server.config; import com.alibaba.nacos.api.annotation.NacosProperties; diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/grpc/MyServiceImpl.java b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/grpc/MyServiceImpl.java index b2013dc93..bd244d07a 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/grpc/MyServiceImpl.java +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/grpc/MyServiceImpl.java @@ -1,64 +1,19 @@ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.hera.demo.server.grpc; -// -//import io.grpc.stub.StreamObserver; -//import net.devh.boot.grpc.server.service.GrpcService; -//import com.xiaomi.mone.hera.demo.grpc.HelloRequest; -//import com.xiaomi.mone.hera.demo.grpc.MyServiceGrpc; -//import com.xiaomi.mone.hera.demo.grpc.HelloReply; -// -//import java.util.concurrent.TimeUnit; -// -//@GrpcService -//public class MyServiceImpl extends MyServiceGrpc.MyServiceImplBase { -// -// @Override -// public void normal(HelloRequest request, StreamObserver responseObserver) { -// HelloReply reply = HelloReply.newBuilder() -// .setMessage("Hello ==> " + request.getName()) -// .build(); -// responseObserver.onNext(reply); -// responseObserver.onCompleted(); -// } -// -// @Override -// public void slow(HelloRequest request, StreamObserver responseObserver) { -// HelloReply reply = HelloReply.newBuilder() -// .setMessage("Hello ==> " + request.getName()) -// .build(); -// try { -// TimeUnit.SECONDS.sleep(1); -// }catch (Throwable t){ -// -// } -// responseObserver.onNext(reply); -// responseObserver.onCompleted(); -// } -// -// @Override -// public void error(HelloRequest request, StreamObserver responseObserver) { -// HelloReply reply = HelloReply.newBuilder() -// .setMessage("Hello ==> " + request.getName()) -// .build(); -// if(true) { -// throw new RuntimeException("error"); -// } -// responseObserver.onNext(reply); -// responseObserver.onCompleted(); -// } -// -//} +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/service/DubboHealthServiceImpl.java b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/service/DubboHealthServiceImpl.java index 693c13e1f..df51c5c5d 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/service/DubboHealthServiceImpl.java +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/java/org/apache/ozhera/demo/server/service/DubboHealthServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.demo.server.service; import org.apache.dubbo.config.annotation.Service; diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/application.properties b/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/application.properties index c8e4edfba..93331ad94 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/application.properties +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + spring.application.name=hera-demo-server server.port=${server.port} server.type=${server.type} diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/config/open-source.properties b/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/config/open-source.properties index a5443ab89..87082db2e 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/config/open-source.properties +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/config/open-source.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + spring.application.name=hera-demo-server server.port=9995 server.type=dev diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/logback.xml b/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/logback.xml index 156895ab0..5d842ade8 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/logback.xml +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/logback.xml @@ -1,4 +1,25 @@ + + diff --git a/ozhera-demo-server/pom.xml b/ozhera-demo-server/pom.xml index ed1e5d038..5c3b39f0b 100644 --- a/ozhera-demo-server/pom.xml +++ b/ozhera-demo-server/pom.xml @@ -1,4 +1,25 @@ + + @@ -161,4 +182,4 @@ - + \ No newline at end of file From 5cdcd64faaf41b38d8f6c638a692eb713d688a4a Mon Sep 17 00:00:00 2001 From: wodiwudi <40229449+wodiwudi@users.noreply.github.com> Date: Wed, 20 Nov 2024 10:33:05 +0800 Subject: [PATCH 12/19] refactor: add apache header (#511) --- ozhera-prometheus-agent/aliAlertMessage.txt | 46 ----------- .../ozhera-prometheus-agent-server/Dockerfile | 15 ++++ .../ozhera-prometheus-agent-server/build.sh | 15 ++++ .../deploy/manifests/config.pp.template | 60 -------------- .../src/main/resources/Dockerfile | 15 ++++ .../src/main/resources/ddl.sql | 79 ------------------- .../resources/dingding/dingdingbasicCart.ftl | 19 +++++ .../dingding/dingdingbasicUpdateCart.ftl | 19 +++++ .../main/resources/feishu/feishuBasicCart.ftl | 19 +++++ .../src/main/resources/feishu/feishuCart.ftl | 19 +++++ .../resources/feishu/feishuInterfalCart.ftl | 19 +++++ .../src/main/resources/mail/mailBasic.ftl | 19 +++++ .../src/main/resources/mail/mailCart.ftl | 19 +++++ .../src/main/resources/mail/mailInterfal.ftl | 19 +++++ 14 files changed, 197 insertions(+), 185 deletions(-) delete mode 100644 ozhera-prometheus-agent/aliAlertMessage.txt delete mode 100644 ozhera-prometheus-agent/ozhera-prometheus-agent-server/deploy/manifests/config.pp.template delete mode 100644 ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/ddl.sql diff --git a/ozhera-prometheus-agent/aliAlertMessage.txt b/ozhera-prometheus-agent/aliAlertMessage.txt deleted file mode 100644 index 8975c91a2..000000000 --- a/ozhera-prometheus-agent/aliAlertMessage.txt +++ /dev/null @@ -1,46 +0,0 @@ -{ - "alerts":[ - {{ for .alerts }} - { - "annotations": { - "title": "{{ .annotations.title }}" - }, - "endsAt": "{{ .endsAt }}", - "fingerprint": "{{ .fingerprint }}", - "labels": { - "alert_op": "{{ .labels.alert_op }}", - "alert_value": "{{ .labels.alert_value }}", - "alertname": "{{ .labels.alertname }}", - "application": "{{ .labels.application }}", - "methodName": "{{ .labels.methodName }}", - "metrics": "{{ .labels.metrics }}", - "metrics_flag": "{{ .labels.metrics_flag }}", - "serverEnv": "{{ .labels.serverEnv }}", - "serverIp": "{{ .labels.serverIp }}", - "ip": "{{ .labels.ip }}", - "job": "{{ .labels.job }}", - "namespace": "{{ .labels.namespace }}", - "pod": "{{ .labels.pod }}", - "detailRedirectUrl": "{{ .labels.detailRedirectUrl }}", - "serviceName":"{{ .labels.serviceName }}", - "send_interval":"{{ .labels.send_interval }}" - }, - "startsAt": "{{ .startsAt }}", - "status": "{{ .status }}" - } - {{ end }} - ], -"commonAnnotations": { - "title": "{{ .commonAnnotations.title }}" -}, -"groupKey":null, -"receiver":null, -"truncatedAlerts":0, -"version":4, - "status": "{{ .status }}", - "startTime":"{{ .startTime }}", - "endTime":"{{ .endTime }}", - "level":"{{ .level }}", - "dispatchRuleName":"{{ .dispatchRuleName }}", - "alarmId":"{{ .alarmId }}" -} \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/Dockerfile b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/Dockerfile index 37222bad3..dca5085fb 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/Dockerfile +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/Dockerfile @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM openjdk:21-jdk-bookworm MAINTAINER youpin-biz-arch@xiaomi.com RUN mkdir -p /home/work/prometheus-agent/ diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/build.sh b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/build.sh index 58764f433..b147d3a94 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/build.sh +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/build.sh @@ -1,5 +1,20 @@ #!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Extract the cluster from the job name job=$1 cluster=$(echo $job | sed -n 's/.*_cluster\.\([^._]*\)_.*/\1/p') diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/deploy/manifests/config.pp.template b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/deploy/manifests/config.pp.template deleted file mode 100644 index c13de97da..000000000 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/deploy/manifests/config.pp.template +++ /dev/null @@ -1,60 +0,0 @@ -class base { -#Default configuration,Required,Uneditable。 - $basedir = "$" - $user = "$< user >" - $mod_ver = "$< version >" - $pkg_dir = "$< pkg_dir >" - $mod_name = "$< name >" - $tag = "$< tag >" - - $prog_name = "prometheus-agent" - $prog_logdir = "/home/work/log/${prog_name}/" - $mod_proc_log = "${prog_logdir}/${prog_name}.log" - $mod_run_log = "${basedir}/run.log" - - $to_email = "" - $mod_start = "/opt/soft/openjdk1.8.0_202/bin/java -Xms2g -Xmx2g -XX:MaxDirectMemorySize=500M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 \ - -XX:+PrintReferenceGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -verbose:gc \ - -Xloggc:/home/work/log/prometheus-agent/gc.log -jar ${basedir}/prometheus-agent-server-1.0.0-SNAPSHOT.jar -r" - - - $run_dir = "${basedir}" - $run_env= {"JAVA_HOME" => "/opt/soft/openjdk1.8.0_202", "CLASSPATH" => ".:/opt/soft/openjdk1.8.0_202/jre/lib:/opt/soft/openjdk1.8.0_202/lib:/opt/soft/openjdk1.8.0_202/lib/tools.jar:/opt/soft/openjdk1.8.0_202/lib/dt.jar", "JAVA_OPTS" => ""} - } -class preview inherits base { -} - -class production-sd inherits base { -} - -class production-lg inherits base { -} - -class production-hh inherits base { -} - -class c3 inherits base { -} - -class c4 inherits base { -} - -class aws-sgp inherits base { -} - -class aws-de inherits base { -} - -class aws-mb inherits base { -} - -class ali-sgp inherits base { -} - -class staging inherits base { -} - -class onebox inherits base { -} - -class config inherits $ {} diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/Dockerfile b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/Dockerfile index 820412293..bbe48be72 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/Dockerfile +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/Dockerfile @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM openjdk:8-jre MAINTAINER youpin-biz-arch@xiaomi.com RUN mkdir -p /home/work/prometheus-agent/ diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/ddl.sql b/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/ddl.sql deleted file mode 100644 index 425273b5e..000000000 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-server/src/main/resources/ddl.sql +++ /dev/null @@ -1,79 +0,0 @@ -CREATE TABLE `scrape_config` -( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `prom_cluster` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'public' COMMENT 'prometheus cluster name', - `region` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '' COMMENT 'region', - `zone` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '' COMMENT 'availability zone', - `env` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '' COMMENT 'config env:staging,preview,production', - `status` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending' COMMENT 'current status of the task (whether the delivery was successful):pending、success', - `instances` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT '' COMMENT 'instances of collection tasks: comma separated', - `job_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '' COMMENT 'name of the collection task', - `body` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'scrape_config struct json string', - `created_by` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '' COMMENT 'creator', - `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'created time', - `updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'updated time', - `deleted_by` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL COMMENT 'deleter', - `deleted_time` timestamp NULL DEFAULT NULL COMMENT 'deleted time', - PRIMARY KEY (`id`), - UNIQUE KEY `unq_job_name` (`job_name`,`deleted_by`) USING BTREE, - KEY `idx_prom_cluster` (`prom_cluster`), - KEY `idx_region` (`region`), - KEY `idx_zone` (`zone`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; - -CREATE TABLE `prometheus_alert` -( - `id` int NOT NULL AUTO_INCREMENT COMMENT 'alert id', - `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'alert name', - `cname` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL COMMENT 'alert cname', - `expr` varchar(4096) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'expr', - `labels` varchar(4096) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'labels', - `alert_for` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'for', - `env` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL COMMENT 'config environment', - `enabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'enabled', - `priority` tinyint NOT NULL COMMENT 'priority', - `created_by` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'creator', - `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'created time', - `updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'updated time', - `deleted_by` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'delete user', - `deleted_time` timestamp NULL DEFAULT NULL COMMENT 'deleted time', - `prom_cluster` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT 'public' COMMENT 'prometheus cluster name', - `status` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending' COMMENT 'Whether the configuration is successfully delivered:pending、success', - `instances` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT '' COMMENT 'instances of collection tasks: comma separated', - `thresholds_op` varchar(8) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL COMMENT 'Multi-threshold operator, supports [or] , [and]', - `thresholds` mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci COMMENT 'Alarm threshold array (use this field in simple mode)', - `type` int DEFAULT NULL COMMENT 'Mode, simple mode is 0, complex mode is 1', - `alert_member` varchar(1024) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '' COMMENT 'alert_member', - `alert_at_people` varchar(1024) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'alert at people', - `annotations` varchar(4096) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '' COMMENT 'Comment', - `alert_group` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT '' COMMENT 'group', - PRIMARY KEY (`id`), - UNIQUE KEY `uniq_name` (`name`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; - - -CREATE TABLE `silence_matcher` -( - `silence_id` int NOT NULL COMMENT 'silence id', - `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'name', - `value` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'value', - `is_regex` tinyint(1) NOT NULL COMMENT 'if is regex matcher', - `is_equal` tinyint(1) NOT NULL COMMENT ' if is equal matcher' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; - - -CREATE TABLE `silence` -( - `id` int NOT NULL AUTO_INCREMENT COMMENT 'silence id', - `uuid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'silence uuid', - `comment` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'creator', - `start_time` timestamp NOT NULL COMMENT 'silence start time', - `end_time` timestamp NOT NULL COMMENT 'silence end time', - `created_by` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT 'creator', - `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'created time', - `updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'updated time', - `prom_cluster` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT 'public' COMMENT 'prometheus cluster name', - `status` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending' COMMENT 'Whether the configuration is successfully delivered:pending、success', - `alert_id` int NOT NULL DEFAULT '0' COMMENT 'alert id', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; \ No newline at end of file diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/dingding/dingdingbasicCart.ftl b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/dingding/dingdingbasicCart.ftl index 1b1206043..65534ff57 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/dingding/dingdingbasicCart.ftl +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/dingding/dingdingbasicCart.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + { "config": { "autoLayout": true, diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/dingding/dingdingbasicUpdateCart.ftl b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/dingding/dingdingbasicUpdateCart.ftl index 8433850ea..f5972b49c 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/dingding/dingdingbasicUpdateCart.ftl +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/dingding/dingdingbasicUpdateCart.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + { "config": { "autoLayout": true, diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuBasicCart.ftl b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuBasicCart.ftl index b365ca69d..09c7d5493 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuBasicCart.ftl +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuBasicCart.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + { "config": { "wide_screen_mode": true diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuCart.ftl b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuCart.ftl index df566d2e3..90bd621a2 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuCart.ftl +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuCart.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + { "config": { "wide_screen_mode": true diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuInterfalCart.ftl b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuInterfalCart.ftl index 6cba6f12e..4f6f0ef68 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuInterfalCart.ftl +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/feishu/feishuInterfalCart.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + { "config": { "wide_screen_mode": true diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailBasic.ftl b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailBasic.ftl index e5394006f..18984e7d3 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailBasic.ftl +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailBasic.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailCart.ftl b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailCart.ftl index 4ef2aedb5..855c05054 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailCart.ftl +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailCart.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + diff --git a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailInterfal.ftl b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailInterfal.ftl index 0875d3fff..31025260b 100644 --- a/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailInterfal.ftl +++ b/ozhera-prometheus-agent/ozhera-prometheus-agent-service/src/main/resources/mail/mailInterfal.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + From 617fbd2c6de0d5e4562e1aee8031cbdb3f194ba5 Mon Sep 17 00:00:00 2001 From: wtt <30461027+wtt40122@users.noreply.github.com> Date: Wed, 20 Nov 2024 10:39:17 +0800 Subject: [PATCH 13/19] fix: update hera-log and hera-operator file header (#508) * refactor: update hera-log and hera-operator header * refactor: update yaml header * fix: update sh file header * fix: update maven repository --------- Co-authored-by: gaoxh <32359336+gaoxh@users.noreply.github.com> --- ozhera-log/.dockerignore | 7 - ozhera-log/Ozhera_log_optimization.md | 20 ++ ...45\345\277\227\344\274\230\345\214\226.md" | 20 ++ ozhera-log/README.md | 20 ++ ozhera-log/README_cn.md | 20 ++ ozhera-log/log-agent-server/Dockerfile | 14 ++ ozhera-log/log-agent-server/README.md | 20 ++ ozhera-log/log-agent-server/pom.xml | 20 ++ .../log/server/LogAgentServerBootstrap.java | 25 +- .../log/server/common/ServerConstant.java | 25 +- .../ozhera/log/server/common/Version.java | 25 +- .../AgentCollectProgressProcessor.java | 25 +- .../porcessor/AgentConfigProcessor.java | 26 +- .../log/server/porcessor/PingProcessor.java | 25 +- .../service/ApplicationShutdownHook.java | 25 +- .../service/DefaultAgentConfigAcquirer.java | 26 +- .../service/DefaultLogProcessCollector.java | 25 +- .../service/DefaultPublishConfigService.java | 25 +- .../src/main/resources/config.properties | 14 ++ .../src/main/resources/config/open.properties | 14 ++ .../src/main/resources/logback.xml | 20 ++ .../DefaultAgentConfigAcquirerTest.java | 109 ++++----- .../DefaultLogProcessCollectorTest.java | 148 ++++++----- .../apache/ozhera/log/server/DubboTest.java | 80 +++--- ozhera-log/log-agent/Dockerfile | 14 ++ ozhera-log/log-agent/pom.xml | 20 ++ .../agent/bootstrap/MiLogAgentBootstrap.java | 25 +- .../agent/channel/AbstractChannelService.java | 25 +- .../log/agent/channel/ChannelDefine.java | 25 +- .../log/agent/channel/ChannelEngine.java | 25 +- .../log/agent/channel/ChannelService.java | 25 +- .../log/agent/channel/ChannelServiceImpl.java | 25 +- .../log/agent/channel/ChannelState.java | 25 +- .../ozhera/log/agent/channel/Closeable.java | 25 +- .../channel/WildcardChannelServiceImpl.java | 25 +- .../comparator/AppSimilarComparator.java | 25 +- .../comparator/FilterSimilarComparator.java | 25 +- .../comparator/InputSimilarComparator.java | 25 +- .../comparator/OutputSimilarComparator.java | 25 +- .../channel/comparator/SimilarComparator.java | 25 +- .../log/agent/channel/conf/AgentTailConf.java | 25 +- .../log/agent/channel/file/FileListener.java | 25 +- .../log/agent/channel/file/FileMonitor.java | 25 +- .../log/agent/channel/file/FileWatcher.java | 25 +- .../channel/file/InodeFileComparator.java | 25 +- .../file/LogFileAlterationObserver.java | 25 +- .../log/agent/channel/file/MonitorFile.java | 25 +- .../listener/DefaultFileMonitorListener.java | 25 +- .../channel/listener/FileMonitorListener.java | 25 +- .../locator/ChannelDefineJsonLocator.java | 25 +- .../channel/locator/ChannelDefineLocator.java | 25 +- .../locator/ChannelDefineRpcLocator.java | 25 +- .../channel/memory/AgentMemoryService.java | 25 +- .../memory/AgentMemoryServiceImpl.java | 25 +- .../agent/channel/memory/ChannelMemory.java | 25 +- .../agent/common/AbstractElementAdapter.java | 25 +- .../ozhera/log/agent/common/ChannelUtil.java | 25 +- .../ozhera/log/agent/common/ExecutorUtil.java | 25 +- .../ozhera/log/agent/common/HashUtil.java | 25 +- .../ozhera/log/agent/common/Version.java | 25 +- .../log/agent/common/trace/MessageUtil.java | 25 +- .../log/agent/common/trace/TraceUtil.java | 25 +- .../log/agent/exception/AgentException.java | 25 +- .../ozhera/log/agent/export/MsgExporter.java | 25 +- .../log/agent/extension/KafkaExporter.java | 25 +- .../log/agent/extension/KafkaOutput.java | 25 +- .../log/agent/extension/KafkaService.java | 25 +- .../log/agent/extension/RmqExporter.java | 25 +- .../ozhera/log/agent/extension/RmqOutput.java | 25 +- .../log/agent/extension/RocketMQService.java | 25 +- .../agent/factory/OutPutServiceFactory.java | 25 +- .../ozhera/log/agent/filter/FilterChain.java | 25 +- .../ozhera/log/agent/filter/FilterTrans.java | 25 +- .../ozhera/log/agent/filter/Invoker.java | 25 +- .../ozhera/log/agent/filter/MilogFilter.java | 25 +- .../filter/ratelimit/RatelimitFilter.java | 25 +- .../ozhera/log/agent/input/AppLogInput.java | 25 +- .../ozhera/log/agent/input/FreeLogInput.java | 25 +- .../apache/ozhera/log/agent/input/Input.java | 25 +- .../log/agent/input/MisAppLogInput.java | 25 +- .../ozhera/log/agent/input/NginxInput.java | 25 +- .../log/agent/input/OpentelemetryInput.java | 25 +- .../log/agent/input/OriginLogInput.java | 25 +- .../ozhera/log/agent/output/Output.java | 25 +- .../log/agent/rpc/processor/IService.java | 25 +- .../log/agent/rpc/processor/LogProcessor.java | 25 +- .../agent/rpc/processor/ProcessorInit.java | 25 +- .../ozhera/log/agent/rpc/task/PingTask.java | 25 +- .../ChannelDefineLocatorExtension.java | 25 +- .../log/agent/service/OutPutService.java | 25 +- .../agent/service/ServiceRegistryService.java | 26 +- ...uterChannelDefineLocatorExtensionImpl.java | 25 +- .../impl/ServiceRegistryServiceImpl.java | 26 +- .../src/main/resources/config.properties | 14 ++ .../src/main/resources/config/dev.properties | 14 ++ .../src/main/resources/config/open.properties | 14 ++ .../log-agent/src/main/resources/logback.xml | 20 ++ .../apache/ozhera/log/agent/Comparator.java | 25 +- .../agent/DefaultFileMonitorListenerTest.java | 25 +- .../ozhera/log/agent/FileInodeTest.java | 25 +- .../ozhera/log/agent/FilterMonitorTest.java | 25 +- .../ozhera/log/agent/LogProcessorTest.java | 25 +- .../log/agent/channel/ChannelServiceTest.java | 25 +- .../log/agent/common/ExecutorUtilTest.java | 25 +- .../log/agent/common/trace/TraceUtilTest.java | 25 +- .../agent/extension/RocketMQServiceTest.java | 25 +- .../log/agent/filter/ComparatorTest.java | 25 +- .../log/agent/filter/FilterTransTest.java | 25 +- .../ozhera/log/agent/lock/LockTest.java | 25 +- .../service/ChannelDefineRpcLocatorTest.java | 25 +- .../rpc/processor/service/LimitTest.java | 25 +- .../agent/rpc/processor/service/RpcTest.java | 25 +- ozhera-log/log-api/pom.xml | 20 ++ .../ozhera/log/api/enums/AppTypeEnum.java | 25 +- .../ozhera/log/api/enums/DeployWayEnum.java | 25 +- .../ozhera/log/api/enums/ESClusterEnum.java | 25 +- .../ozhera/log/api/enums/EsOperatorEnum.java | 25 +- .../log/api/enums/EsOperatorMatchEnum.java | 25 +- .../log/api/enums/FavouriteSearchEnum.java | 25 +- .../ozhera/log/api/enums/K8sPodTypeEnum.java | 25 +- .../log/api/enums/LogStorageTypeEnum.java | 26 +- .../log/api/enums/LogStructureEnum.java | 25 +- .../ozhera/log/api/enums/LogTypeEnum.java | 25 +- .../ozhera/log/api/enums/MQSourceEnum.java | 25 +- .../log/api/enums/MachineRegionEnum.java | 25 +- .../ozhera/log/api/enums/MachineTypeEnum.java | 25 +- .../ozhera/log/api/enums/MiddlewareEnum.java | 25 +- .../ozhera/log/api/enums/OperateEnum.java | 25 +- .../log/api/enums/ProjectSourceEnum.java | 25 +- .../ozhera/log/api/enums/ProjectTypeEnum.java | 25 +- .../ozhera/log/api/enums/RateLimitEnum.java | 25 +- .../ozhera/log/api/enums/ResourceEnum.java | 25 +- .../apache/ozhera/log/api/filter/Common.java | 25 +- .../log/api/filter/RateLimitStrategy.java | 25 +- .../ozhera/log/api/model/bo/AlertInfo.java | 25 +- .../log/api/model/bo/MiLogMoneTransfer.java | 25 +- .../log/api/model/bo/MiLogResource.java | 25 +- .../ozhera/log/api/model/bo/ResourcePage.java | 25 +- .../log/api/model/dto/MontorAppDTO.java | 25 +- .../ozhera/log/api/model/dto/TraceLogDTO.java | 25 +- .../log/api/model/meta/AgentDefine.java | 25 +- .../ozhera/log/api/model/meta/AppLogMeta.java | 25 +- .../ozhera/log/api/model/meta/FilterConf.java | 25 +- .../log/api/model/meta/FilterDefine.java | 25 +- .../ozhera/log/api/model/meta/FilterName.java | 25 +- .../ozhera/log/api/model/meta/FilterType.java | 25 +- .../log/api/model/meta/LogCollectMeta.java | 25 +- .../ozhera/log/api/model/meta/LogPattern.java | 25 +- .../ozhera/log/api/model/meta/MQConfig.java | 25 +- .../log/api/model/meta/package-info.java | 25 +- .../ozhera/log/api/model/msg/LineMessage.java | 25 +- .../log/api/model/vo/AgentLogProcessDTO.java | 25 +- .../ozhera/log/api/model/vo/AlarmPattern.java | 25 +- .../ozhera/log/api/model/vo/CommonVo.java | 25 +- .../ozhera/log/api/model/vo/EsIndexVo.java | 25 +- .../ozhera/log/api/model/vo/LogCmd.java | 25 +- .../log/api/model/vo/LogRecordConfig.java | 25 +- .../ozhera/log/api/model/vo/MiLogMoneEnv.java | 25 +- .../ozhera/log/api/model/vo/PingReq.java | 25 +- .../ozhera/log/api/model/vo/ResourceInfo.java | 25 +- .../log/api/model/vo/ResourceUserSimple.java | 25 +- .../log/api/model/vo/TailLogProcessDTO.java | 25 +- .../log/api/model/vo/TraceLogQuery.java | 25 +- .../log/api/model/vo/UpdateLogProcessCmd.java | 25 +- .../ozhera/log/api/model/vo/ValueKeyObj.java | 25 +- .../log/api/service/AgentConfigService.java | 25 +- .../log/api/service/LogCountService.java | 25 +- .../log/api/service/LogDataService.java | 25 +- .../log/api/service/LogProcessCollector.java | 25 +- .../log/api/service/LogProcessService.java | 25 +- .../log/api/service/MilogOpenService.java | 25 +- .../log/api/service/PublishConfigService.java | 25 +- .../log/api/LogStorageTypeEnumTest.java | 25 +- ozhera-log/log-common/pom.xml | 20 ++ .../log/annotation/UnifiedResponse.java | 25 +- .../org/apache/ozhera/log/common/Config.java | 25 +- .../apache/ozhera/log/common/Constant.java | 25 +- .../java/org/apache/ozhera/log/common/Es.java | 25 +- .../ozhera/log/common/HeraLocalCache.java | 25 +- .../apache/ozhera/log/common/MiLogCmd.java | 25 +- .../apache/ozhera/log/common/NetUtils.java | 25 +- .../apache/ozhera/log/common/PathUtils.java | 25 +- .../org/apache/ozhera/log/common/Result.java | 25 +- .../ozhera/log/exception/CommonError.java | 26 +- .../ozhera/log/exception/CommonException.java | 25 +- .../ozhera/log/model/LogtailConfig.java | 25 +- .../ozhera/log/model/MiLogStreamConfig.java | 25 +- .../ozhera/log/model/MilogSpaceData.java | 25 +- .../ozhera/log/model/MilogStreamData.java | 25 +- .../apache/ozhera/log/model/SinkConfig.java | 25 +- .../apache/ozhera/log/model/StorageInfo.java | 25 +- .../ozhera/log/parse/AbstractLogParser.java | 25 +- .../ozhera/log/parse/CustomLogParser.java | 25 +- .../ozhera/log/parse/FieldInterceptor.java | 25 +- .../ozhera/log/parse/JsonLogParser.java | 25 +- .../apache/ozhera/log/parse/LogParser.java | 25 +- .../ozhera/log/parse/LogParserData.java | 25 +- .../ozhera/log/parse/LogParserFactory.java | 25 +- .../ozhera/log/parse/NginxLogParser.java | 25 +- .../apache/ozhera/log/parse/RawLogParser.java | 25 +- .../ozhera/log/parse/RegexLogParser.java | 25 +- .../ozhera/log/parse/SeparatorLogParser.java | 25 +- .../apache/ozhera/log/utils/ConfigUtils.java | 25 +- .../apache/ozhera/log/utils/DateUtils.java | 25 +- .../apache/ozhera/log/utils/IndexUtils.java | 25 +- .../apache/ozhera/log/utils/KafkaUtils.java | 25 +- .../org/apache/ozhera/log/utils/NetUtil.java | 25 +- .../ozhera/log/utils/PinYin4jUtils.java | 25 +- .../apache/ozhera/log/utils/SimilarUtils.java | 25 +- .../ozhera/log/common/DateUtilsTest.java | 25 +- .../ozhera/log/common/IndexUtilsTest.java | 25 +- .../apache/ozhera/log/common/LineMessage.java | 25 +- .../log/common/LogParserFactoryTest.java | 25 +- .../ozhera/log/common/LogParserTest.java | 25 +- .../ozhera/log/common/NetUtilsTest.java | 26 +- .../ozhera/log/common/PathUtilsTest.java | 25 +- .../ozhera/log/common/PinYin4jUtilsTest.java | 25 +- .../ozhera/log/common/SimilarityTest.java | 25 +- ozhera-log/log-manager/Dockerfile | 14 ++ ozhera-log/log-manager/pom.xml | 21 ++ .../ozhera/log/manager/bootstrap/Cache.java | 25 +- .../manager/bootstrap/LogStoragePlugin.java | 25 +- .../bootstrap/MiLogManagerBootstrap.java | 25 +- .../ozhera/log/manager/common/ErrorCode.java | 25 +- .../log/manager/common/ExceptionCode.java | 25 +- .../log/manager/common/ManagerConstant.java | 25 +- .../log/manager/common/MilogConfig.java | 25 +- .../ozhera/log/manager/common/Result.java | 25 +- .../ozhera/log/manager/common/Utils.java | 25 +- .../ozhera/log/manager/common/Version.java | 25 +- .../manager/common/context/MilogUserUtil.java | 25 +- .../common/context/MoneUserContext.java | 25 +- .../exception/MilogManageException.java | 25 +- .../common/helper/MilogAccessHelper.java | 25 +- .../log/manager/common/utils/ExportUtils.java | 25 +- .../log/manager/common/utils/ManagerUtil.java | 25 +- .../common/validation/HeraConfigValid.java | 25 +- .../common/validation/OpenSourceValid.java | 25 +- .../common/validation/ResourceValidation.java | 25 +- .../validation/StoreSpaceAuthValid.java | 25 +- .../common/validation/StoreValidation.java | 25 +- .../manager/controller/EsDataController.java | 25 +- .../controller/LogAnalyseController.java | 25 +- .../controller/LogTemplateController.java | 25 +- .../MIlogAgentManageController.java | 25 +- .../controller/MiLogMetaManageController.java | 25 +- .../controller/MiLogResourceController.java | 25 +- .../controller/MilogConfigController.java | 25 +- .../controller/MilogDictionaryController.java | 25 +- .../controller/MilogLoginController.java | 25 +- .../MilogMiddlewareConfigController.java | 25 +- .../controller/MilogStatisticController.java | 26 +- .../MilogStoreSpaceAuthController.java | 25 +- .../controller/MilogStreamController.java | 25 +- .../controller/StreamPartitionController.java | 25 +- .../interceptor/HttpRequestInterceptor.java | 25 +- .../dao/LogStreamBalanceConfigDao.java | 25 +- .../manager/dao/MilogAppMiddlewareRelDao.java | 25 +- .../log/manager/dao/MilogAppTopicRelDao.java | 25 +- .../ozhera/log/manager/dao/MilogLockDao.java | 25 +- .../log/manager/dao/MilogLogProcessDao.java | 25 +- .../log/manager/dao/MilogLogTailDao.java | 25 +- .../log/manager/dao/MilogLogstoreDao.java | 25 +- .../log/manager/dao/MilogMachineDao.java | 25 +- .../manager/dao/MilogMiddlewareConfigDao.java | 25 +- .../dao/MilogRegionAvailableZoneDao.java | 25 +- .../ozhera/log/manager/dao/MilogSpaceDao.java | 25 +- .../manager/dao/MilogStoreSpaceAuthDao.java | 25 +- .../ozhera/log/manager/domain/AnalyseLog.java | 25 +- .../log/manager/domain/ClusterIndexVO.java | 25 +- .../ozhera/log/manager/domain/Down.java | 25 +- .../ozhera/log/manager/domain/EsCluster.java | 25 +- .../log/manager/domain/EsIndexTemplate.java | 35 +-- .../ozhera/log/manager/domain/LogProcess.java | 25 +- .../ozhera/log/manager/domain/LogStore.java | 25 +- .../ozhera/log/manager/domain/LogTail.java | 25 +- .../log/manager/domain/LogTemplate.java | 25 +- .../ozhera/log/manager/domain/SearchLog.java | 25 +- .../ozhera/log/manager/domain/Store.java | 25 +- .../apache/ozhera/log/manager/domain/Tpc.java | 25 +- .../ozhera/log/manager/domain/TraceLog.java | 25 +- .../log/manager/domain/analyse/AggrCalcu.java | 25 +- .../domain/analyse/AggrCalcuStrategy.java | 25 +- .../domain/analyse/DateGroupStrategy.java | 25 +- .../manager/domain/analyse/FieldStrategy.java | 25 +- .../ozhera/log/manager/job/EsIndexJob.java | 25 +- .../log/manager/job/TailLogCountJob.java | 25 +- .../MilogAnalyseDashboardGraphRefMapper.java | 25 +- .../mapper/MilogAnalyseDashboardMapper.java | 25 +- .../mapper/MilogAnalyseGraphMapper.java | 25 +- .../mapper/MilogAnalyseGraphTypeMapper.java | 25 +- .../manager/mapper/MilogEsClusterMapper.java | 25 +- .../manager/mapper/MilogEsIndexMapper.java | 25 +- .../manager/mapper/MilogLogCountMapper.java | 25 +- .../mapper/MilogLogNumAlertMapper.java | 25 +- .../manager/mapper/MilogLogProcessMapper.java | 25 +- .../mapper/MilogLogSearchSaveMapper.java | 25 +- .../mapper/MilogLogTemplateDetailMapper.java | 25 +- .../mapper/MilogLogTemplateMapper.java | 25 +- .../manager/mapper/MilogLogstailMapper.java | 25 +- .../manager/model/bo/AccessMilogParam.java | 25 +- .../log/manager/model/bo/AppTopicParam.java | 25 +- .../manager/model/bo/AutoAccessLogParam.java | 25 +- .../log/manager/model/bo/BatchQueryParam.java | 25 +- .../log/manager/model/bo/CalcuAggrParam.java | 25 +- .../manager/model/bo/EsStatisticParam.java | 25 +- .../manager/model/bo/IpPartitionBalance.java | 25 +- .../log/manager/model/bo/LogTailParam.java | 25 +- .../manager/model/bo/MachineParamParam.java | 25 +- .../model/bo/MachinePartitionBalance.java | 25 +- .../manager/model/bo/MachineQueryParam.java | 25 +- .../manager/model/bo/MiddlewareAddParam.java | 25 +- .../model/bo/MiddlewareQueryParam.java | 25 +- .../model/bo/MiddlewareUpdateParam.java | 25 +- .../manager/model/bo/MilogAgentIpParam.java | 25 +- .../model/bo/MilogDictionaryParam.java | 25 +- .../log/manager/model/bo/MilogLogstoreBo.java | 25 +- .../log/manager/model/bo/MilogPageParam.java | 25 +- .../log/manager/model/bo/MlogParseParam.java | 25 +- .../log/manager/model/bo/RegionZoneBo.java | 25 +- .../model/bo/RocketMqStatisticParam.java | 25 +- .../model/bo/SpacePartitionBalance.java | 25 +- .../log/manager/model/bo/StoreSpaceAuth.java | 25 +- .../ozhera/log/manager/model/vo/LogQuery.java | 1 + .../log/manager/service/BaseService.java | 25 +- .../service/CommonRocketMqService.java | 25 +- .../manager/service/EsDataBaseService.java | 25 +- .../log/manager/service/EsDataService.java | 25 +- .../service/EsIndexOperateService.java | 25 +- .../service/EsIndexTemplateService.java | 25 +- .../manager/service/HeraAppEnvService.java | 25 +- .../log/manager/service/HeraAppService.java | 25 +- .../service/HeralogHomePageService.java | 26 +- .../service/IMilogEsClusterService.java | 25 +- .../manager/service/IMilogEsIndexService.java | 25 +- .../service/IMilogLogSearchSaveService.java | 25 +- .../manager/service/LogAnalyseService.java | 25 +- .../log/manager/service/LogCountService.java | 25 +- .../log/manager/service/LogQueryService.java | 25 +- .../manager/service/LogSearchSaveService.java | 25 +- .../log/manager/service/LogSpaceService.java | 25 +- .../log/manager/service/LogStoreService.java | 25 +- .../log/manager/service/LogTailService.java | 25 +- .../manager/service/LogTemplateService.java | 25 +- .../service/MiLogMetaManageService.java | 25 +- .../service/MilogAppMiddlewareRelService.java | 25 +- .../service/MilogConfigNacosService.java | 25 +- .../service/MilogDictionaryService.java | 25 +- .../manager/service/MilogMachineService.java | 25 +- .../service/MilogMiddlewareConfigService.java | 25 +- .../service/MilogStoreSpaceAuthService.java | 25 +- .../manager/service/MilogStreamService.java | 25 +- .../log/manager/service/MqConfigService.java | 25 +- .../log/manager/service/SpaceAuthService.java | 25 +- .../manager/service/StatisticsService.java | 26 +- .../service/StreamPartitionService.java | 25 +- .../service/bind/ConfigLogTypeProcessor.java | 25 +- .../bind/DataSourceLogTypeProcessor.java | 25 +- .../service/bind/LogTypeProcessor.java | 25 +- .../service/bind/LogTypeProcessorFactory.java | 25 +- .../log/manager/service/bind/Processor.java | 25 +- .../manager/service/bind/package-info.java | 25 +- .../consumer/MioneRocketMqConsumer.java | 25 +- .../service/consumer/RocketMqConsumer.java | 25 +- .../manager/service/env/HeraEnvIpService.java | 25 +- .../service/env/HeraEnvIpServiceFactory.java | 25 +- .../service/env/MoneHeraEnvIpService.java | 25 +- .../extension/agent/MilogAgentService.java | 25 +- .../agent/MilogAgentServiceFactory.java | 25 +- .../agent/MilogAgentServiceImpl.java | 25 +- .../common/CommonExtensionService.java | 25 +- .../common/CommonExtensionServiceFactory.java | 25 +- .../common/DefaultCommonExtensionService.java | 25 +- .../DefaultDictionaryExtensionService.java | 25 +- .../DictionaryExtensionService.java | 25 +- .../DictionaryExtensionServiceFactory.java | 25 +- .../DefaultResourceExtensionService.java | 25 +- .../resource/ResourceExtensionService.java | 25 +- .../ResourceExtensionServiceFactory.java | 25 +- .../store/DefaultStoreExtensionService.java | 25 +- .../store/DorisLogStorageService.java | 25 +- .../extension/store/EsLogStorageService.java | 25 +- .../extension/store/LogStorageService.java | 25 +- .../store/StoreExtensionService.java | 25 +- .../store/StoreExtensionServiceFactory.java | 25 +- .../tail/DefaultTailExtensionService.java | 25 +- .../extension/tail/TailExtensionService.java | 25 +- .../tail/TailExtensionServiceFactory.java | 25 +- .../service/impl/AgentConfigServiceImpl.java | 25 +- .../service/impl/EsDataServiceImpl.java | 25 +- .../impl/EsIndexOperateServiceImpl.java | 25 +- .../impl/EsIndexTemplateServiceImpl.java | 25 +- .../service/impl/HeraAppEnvServiceImpl.java | 25 +- .../service/impl/HeraAppServiceImpl.java | 25 +- .../impl/HeralogHomePageServiceImpl.java | 26 +- .../service/impl/KafkaMqConfigService.java | 25 +- .../service/impl/LogAnalyseService.java | 25 +- .../service/impl/LogCountServiceImpl.java | 25 +- .../service/impl/LogProcessServiceImpl.java | 25 +- .../service/impl/LogQueryServiceImpl.java | 25 +- .../impl/LogSearchSaveServiceImpl.java | 25 +- .../service/impl/LogSpaceServiceImpl.java | 25 +- .../service/impl/LogStoreServiceImpl.java | 25 +- .../service/impl/LogTailServiceImpl.java | 25 +- .../service/impl/LogTemplateServiceImpl.java | 25 +- .../impl/MiLogMetaManageServiceImpl.java | 25 +- .../MilogAppMiddlewareRelServiceImpl.java | 25 +- .../impl/MilogConfigNacosServiceImpl.java | 25 +- .../impl/MilogDictionaryServiceImpl.java | 25 +- .../impl/MilogEsClusterServiceImpl.java | 25 +- .../service/impl/MilogEsIndexServiceImpl.java | 25 +- .../impl/MilogLogSearchSaveServiceImpl.java | 25 +- .../service/impl/MilogMachineServiceImpl.java | 25 +- .../MilogMiddlewareConfigServiceImpl.java | 25 +- .../service/impl/MilogOpenServiceImpl.java | 25 +- .../impl/MilogStoreSpaceAuthServiceImpl.java | 25 +- .../service/impl/MilogStreamServiceImpl.java | 25 +- .../service/impl/RocketMqConfigService.java | 25 +- .../service/impl/StatisticsServiceImpl.java | 25 +- .../impl/StreamPartitionServiceImpl.java | 25 +- .../service/impl/TpcSpaceAuthService.java | 25 +- .../init_sql/AnalyseGraphTypeService.java | 25 +- .../init_sql/HeraLogTemplateService.java | 25 +- .../init_sql/NcosConfigSqlService.java | 25 +- .../service/init_sql/package-info.java | 25 +- .../listener/AutoLogAccessListener.java | 25 +- .../log/manager/service/nacos/Converter.java | 25 +- .../service/nacos/DynamicConfigProvider.java | 25 +- .../service/nacos/DynamicConfigPublisher.java | 25 +- .../nacos/FetchStreamMachineService.java | 25 +- .../manager/service/nacos/InitService.java | 25 +- .../service/nacos/MultipleNacosConfig.java | 25 +- .../impl/NacosFetchStreamMachineService.java | 25 +- .../nacos/impl/SpaceConfigNacosProvider.java | 25 +- .../nacos/impl/SpaceConfigNacosPublisher.java | 25 +- .../nacos/impl/StreamConfigNacosProvider.java | 25 +- .../impl/StreamConfigNacosPublisher.java | 25 +- .../manager/service/path/LogPathMapping.java | 25 +- .../service/path/LogPathMappingFactory.java | 25 +- .../service/path/MoneLogPathMapping.java | 25 +- .../statement/AndAllStatementMatchParse.java | 25 +- .../statement/MustNotStatementMatchParse.java | 25 +- .../statement/MustStatementMatchParse.java | 25 +- .../statement/NotAllStatementMatchParse.java | 25 +- .../service/statement/OperatorData.java | 25 +- .../service/statement/OperatorSlice.java | 25 +- .../statement/OrAllStatementMatchParse.java | 25 +- .../statement/OrStatementMatchParse.java | 25 +- .../service/statement/QueryEntity.java | 25 +- .../statement/StatementMatchParse.java | 25 +- .../statement/StatementMatchParseFactory.java | 25 +- .../ozhera/log/manager/user/MoneUser.java | 25 +- .../manager/user/MoneUserDetailService.java | 25 +- .../ozhera/log/manager/user/MoneUtil.java | 25 +- .../log/manager/user/UseDetailInfo.java | 25 +- .../log/manager/user/UserIDService.java | 25 +- .../src/main/resources/config.properties | 14 ++ .../src/main/resources/config/open.properties | 14 ++ .../log-manager/src/main/resources/log.sql | 19 +- .../src/main/resources/logback.xml | 20 ++ .../MilogAnalyseDashboardGraphRefMapper.xml | 20 ++ .../mapper/MilogAnalyseDashboardMapper.xml | 20 ++ .../mapper/MilogAnalyseGraphMapper.xml | 20 ++ .../mapper/MilogAnalyseGraphTypeMapper.xml | 20 ++ .../resources/mapper/MilogEsClusterMapper.xml | 20 ++ .../resources/mapper/MilogEsIndexMapper.xml | 20 ++ .../resources/mapper/MilogLogCountMapper.xml | 20 ++ .../mapper/MilogLogNumAlertMapper.xml | 20 ++ .../mapper/MilogLogProcessMapper.xml | 20 ++ .../mapper/MilogLogSearchSaveMapper.xml | 20 ++ .../mapper/MilogLogTemplateDetailMapper.xml | 20 ++ .../mapper/MilogLogTemplateMapper.xml | 20 ++ .../resources/mapper/MilogLogstailMapper.xml | 20 ++ .../src/main/resources/sql/log-data.sql | 31 +-- .../src/main/resources/sql/log.sql | 31 +-- .../ozhera/log/manager/AgentHearJobTest.java | 25 +- .../ozhera/log/manager/CodeGenerator.java | 25 +- .../apache/ozhera/log/manager/CommonTest.java | 25 +- .../ozhera/log/manager/DevoraFlinkTest.java | 25 +- .../log/manager/FunctionalInterfaceTest.java | 25 +- .../ozhera/log/manager/HttpClientTest.java | 25 +- .../ozhera/log/manager/ManagerUtilTest.java | 25 +- .../log/manager/MilogAccessHelperTest.java | 25 +- .../ozhera/log/manager/RateLimiterTest.java | 25 +- .../ozhera/log/manager/TestHttpClient.java | 96 ++++++++ .../bootstrap/LogStoragePluginTest.java | 25 +- .../log/manager/dao/LogStoreDaoTest.java | 25 +- .../log/manager/domain/AnalyseLogTest.java | 93 +++---- .../log/manager/domain/EsClusterTest.java | 87 +++---- .../log/manager/domain/LogProcessTest.java | 127 +++++----- .../log/manager/domain/LogTemplateTest.java | 30 ++- .../log/manager/domain/analyse/TopTest.java | 25 +- .../StatementMatchParseFactoryTest.java | 25 +- .../esParse/StatementMatchParseTest.java | 25 +- .../filter/cons/RateLimitConsTest.java | 25 +- .../mapper/MilogLogProcessMapperTest.java | 25 +- .../manager/service/AlertProcessorTest.java | 25 +- .../service/DorisLogStorageServiceTest.java | 194 +++++++-------- .../manager/service/EsDataServiceTest.java | 121 ++++----- .../service/FlinkAlphaServiceTest.java | 25 +- .../service/KafkaMqConfigServiceTest.java | 25 +- .../service/MilogAppMiddlewareRelDaoTest.java | 25 +- .../manager/service/SendAlertLinkTest.java | 25 +- .../service/StatisticsServiceTest.java | 132 +++++----- .../ozhera/log/manager/service/TpcTest.java | 25 +- .../impl/EsIndexTemplateServiceImplTest.java | 25 +- .../impl/LogProcessServiceImplTest.java | 25 +- .../service/impl/LogStoreServiceImplTest.java | 114 ++++----- .../service/impl/LogTailServiceImplTest.java | 147 ++++++----- .../impl/LogTemplateServiceImplTest.java | 106 ++++---- .../impl/MiLogMetaManageServiceImplTest.java | 25 +- .../impl/MilogAgentServiceImplTest.java | 25 +- .../service/impl/MilogLogTailServiceTest.java | 117 +++++---- .../MilogMiddlewareConfigServiceImplTest.java | 25 +- .../service/impl/MilogOpenServiceTest.java | 25 +- .../service/impl/MqConfigServiceTest.java | 229 ++++++++---------- .../service/impl/TraceLogServiceTest.java | 25 +- .../manager/test/ConfigNacosServiceTest.java | 25 +- .../manager/test/CustomObjectTypeAdapter.java | 25 +- .../log/manager/test/IntrospectorTest.java | 25 +- .../manager/test/MilogConfigServiceTest.java | 25 +- .../ozhera/log/manager/test/SimpleTest.java | 25 +- .../ozhera/log/manager/test/StreamTest.java | 25 +- ozhera-log/log-stream/Dockerfile | 14 ++ ozhera-log/log-stream/pom.xml | 21 ++ .../bootstrap/MiLogStreamBootstrap.java | 25 +- .../log/stream/bootstrap/StreamManage.java | 25 +- .../log/stream/common/LogStreamConstants.java | 25 +- .../ozhera/log/stream/common/SinkJobEnum.java | 25 +- .../log/stream/common/util/StreamUtils.java | 25 +- .../log/stream/config/ConfigManager.java | 25 +- .../stream/config/MilogConfigListener.java | 25 +- .../log/stream/exception/StreamException.java | 25 +- .../ozhera/log/stream/job/JobManager.java | 25 +- .../ozhera/log/stream/job/LogConfig.java | 25 +- .../log/stream/job/LogDataTransfer.java | 25 +- .../ozhera/log/stream/job/LogSendFilter.java | 25 +- .../ozhera/log/stream/job/PullConfigJob.java | 25 +- .../stream/job/ServiceRegistryService.java | 25 +- .../ozhera/log/stream/job/SinkJobConfig.java | 25 +- .../stream/job/compensate/MqMessageDTO.java | 25 +- .../job/compensate/StreamCompensateTask.java | 25 +- .../job/extension/CompensateMsgConsume.java | 25 +- .../CompensateMsgConsumeProvider.java | 25 +- .../job/extension/DefaultLogSendFilter.java | 25 +- .../log/stream/job/extension/MQConfig.java | 25 +- .../log/stream/job/extension/MQPlugin.java | 25 +- .../extension/MessageLifecycleManager.java | 25 +- .../stream/job/extension/MessageSender.java | 25 +- .../job/extension/MessageSenderFactory.java | 25 +- .../job/extension/MessageSenderProvider.java | 25 +- .../extension/MqMessagePostProcessing.java | 25 +- .../job/extension/MqMessageProduct.java | 25 +- .../log/stream/job/extension/SinkJob.java | 25 +- .../stream/job/extension/SinkJobProvider.java | 25 +- .../job/extension/StreamCommonExtension.java | 25 +- .../impl/DefaultMessageLifecycleManager.java | 25 +- .../impl/DefaultStreamCommonExtension.java | 25 +- .../extension/impl/DorisMessageSender.java | 25 +- .../job/extension/impl/EsMessageSender.java | 25 +- .../impl/RocketCompensateMsgConsume.java | 25 +- .../RocketMqCompensateMsgConsumeProvider.java | 25 +- .../impl/RocketMqMessagePostProcessing.java | 25 +- .../impl/RocketMqMessageProduct.java | 25 +- .../job/extension/kafka/KafkaConfig.java | 25 +- .../extension/kafka/KafkaConsumerRunner.java | 25 +- .../kafka/KafkaMqMessagePostProcessing.java | 25 +- .../job/extension/kafka/KafkaPlugin.java | 25 +- .../job/extension/kafka/KafkaSinkJob.java | 25 +- .../extension/kafka/KafkaSinkJobProvider.java | 25 +- .../extension/rocketmq/RocketMqSinkJob.java | 25 +- .../rocketmq/RocketMqSinkJobProvider.java | 25 +- .../extension/rocketmq/RocketmqConfig.java | 25 +- .../extension/rocketmq/RocketmqPlugin.java | 25 +- .../ozhera/log/stream/plugin/es/EsConfig.java | 25 +- .../ozhera/log/stream/plugin/es/EsPlugin.java | 25 +- .../nacos/LevelFilterConfigListener.java | 25 +- .../stream/plugin/nacos/LogFilterConfig.java | 25 +- .../ozhera/log/stream/sink/SinkChain.java | 25 +- .../ozhera/log/stream/sink/SinkProcessor.java | 25 +- .../apache/ozhera/log/stream/DorisTest.java | 216 +++++++++-------- .../ozhera/log/stream/EsPluginTest.java | 25 +- .../ozhera/log/stream/LogParserTest.java | 25 +- .../ozhera/log/stream/MessageConsumeTest.java | 25 +- .../log/stream/MessageSenderFactoryTest.java | 178 +++++++------- .../log/stream/MqMessageCompensateTest.java | 25 +- .../apache/ozhera/log/stream/PatterTest.java | 25 +- .../apache/ozhera/log/stream/StreamTest.java | 25 +- .../ozhera/log/stream/TestSinkChain.java | 25 +- .../ozhera/log/stream/TestSomething.java | 25 +- ozhera-log/pom.xml | 54 +++-- ozhera-operator/README.md | 20 ++ ozhera-operator/README_CN.md | 20 ++ .../ozhera-operator-common/pom.xml | 20 ++ .../ozhera/operator/common/ESIndexConst.java | 25 +- .../ozhera/operator/common/ErrorCode.java | 25 +- .../ozhera/operator/common/FileUtils.java | 25 +- .../ozhera/operator/common/HoConstant.java | 25 +- .../operator/common/HttpClientUtil.java | 25 +- .../operator/common/ResourceTypeEnum.java | 25 +- .../ozhera-operator-server/Dockerfile | 14 ++ .../ozhera-operator-server/pom.xml | 20 ++ .../apache/ozhera/operator/HeraBootstrap.java | 25 +- .../controller/OzHeraOperatorController.java | 25 +- .../src/main/resources/config.properties | 14 ++ .../src/main/resources/logback.xml | 20 ++ .../operator/ozhera_operator_auth.yaml | 14 ++ .../operator/ozhera_operator_crd.yaml | 14 ++ .../operator/ozhera_operator_deployment.yaml | 14 ++ .../alertManager/ozhera_alertmanager.yaml | 14 ++ .../ozhera_init/cadvisor/ozhera_cadvisor.yaml | 14 ++ .../ozhera_init/demo/ozhera_demo_client.yml | 14 ++ .../ozhera_init/demo/ozhera_demo_server.yml | 14 ++ .../resources/ozhera_init/es/ozhera_es.yaml | 14 ++ .../ozhera_init/grafana/ozhera_grafana.yaml | 14 ++ .../ozhera_init/hera-app/ozhera_app.yml | 14 ++ .../ozhera_init/hera-fe/ozhera_fe.yml | 14 ++ .../ozhera_log_agent-server.yml | 14 ++ .../log-manager/ozhera_log_manager.yml | 14 ++ .../log-stream/ozhera_log_stream.yml | 14 ++ .../mimonitor/ozhera_mimonitor.yml | 14 ++ .../ozhera_init/mysql/ozhera_mysql.yaml | 14 ++ .../ozhera_init/mysql/sql/grafana.sql | 18 ++ .../resources/ozhera_init/mysql/sql/hera.sql | 18 ++ .../resources/ozhera_init/mysql/sql/nacos.sql | 18 ++ .../resources/ozhera_init/mysql/sql/tpc.sql | 18 ++ ...hera_app_config_#_DEFAULT_GROUP.properties | 14 ++ ...og_manager_open_#_DEFAULT_GROUP.properties | 14 ++ ...ra_trace_config_#_DEFAULT_GROUP.properties | 14 ++ ...eam_dataId_open_#_DEFAULT_GROUP.properties | 14 ++ .../config/mi_tpc_#_DEFAULT_GROUP.properties | 14 ++ .../mi_tpc_login_#_DEFAULT_GROUP.properties | 14 ++ ...tor_open_config_#_DEFAULT_GROUP.properties | 14 ++ ...ook_open_config_#_DEFAULT_GROUP.properties | 14 ++ ...ent_open_config_#_DEFAULT_GROUP.properties | 14 ++ .../ozhera_init/nacos/ozhera_nacos.yml | 14 ++ .../node-exporter/ozhera_node-exporter.yaml | 14 ++ .../resources/ozhera_init/outer/ozhera_lb.yml | 14 ++ .../ozhera_init/outer/ozhera_nodeport.yml | 14 ++ .../prometheus/ozhera_prometheus.yaml | 14 ++ .../prometheus/ozhera_prometheus_agent.yaml | 14 ++ .../ozhera_init/redis/ozhera_redis.yaml | 14 ++ .../ozhera_init/rocketmq/ozhera_rocketmq.yaml | 14 ++ .../sentinel/sentinbel-dashboard-ingress.yml | 14 ++ .../sentinel/sentinel-dashboard.yml | 14 ++ .../ozhera_init/tpc-fe/ozhera_tpc_fe.yml | 14 ++ .../tpc-login-fe/ozhera_tpc_login_fe.yml | 14 ++ .../tpc-login/ozhera_tpc_login.yml | 14 ++ .../resources/ozhera_init/tpc/ozhera_tpc.yml | 14 ++ .../trace-etl-es/ozhera_trace_etl_es.yml | 14 ++ .../ozhera_trace_etl_manager.yml | 14 ++ .../ozhera_trace_etl_server.yml | 14 ++ .../alertManagerClusterDockerfile | 14 ++ .../alertmanager-cluster.yaml | 14 ++ .../startAlertManagerCluster.sh | 14 ++ .../vmCluster/vm-k8s-yaml/vmAgent.yaml | 14 ++ .../vmCluster/vm-k8s-yaml/vmAlert.yaml | 14 ++ .../vmCluster/vm-k8s-yaml/vmInsert.yaml | 14 ++ .../vmCluster/vm-k8s-yaml/vmSelect.yaml | 14 ++ .../vmCluster/vm-k8s-yaml/vmStorage-pv.yaml | 14 ++ .../vmCluster/vm-k8s-yaml/vmStorage.yaml | 14 ++ .../webhook/ozhera_webhook_server.yaml | 14 ++ .../ozhera/operator/test/SidecarTest.java | 25 +- .../ozhera-operator-service/pom.xml | 20 ++ .../ozhera/operator/bo/HeraBootstrap.java | 25 +- .../ozhera/operator/bo/HeraBootstrapList.java | 25 +- .../ozhera/operator/bo/HeraObjectMeta.java | 25 +- .../ozhera/operator/bo/HeraResource.java | 25 +- .../apache/ozhera/operator/bo/HeraSpec.java | 25 +- .../apache/ozhera/operator/bo/HeraStatus.java | 25 +- .../apache/ozhera/operator/bo/PropConf.java | 25 +- .../bo/dashboard/GrafanaApiKeyReq.java | 25 +- .../bo/dashboard/GrafanaApiKeyRes.java | 25 +- .../ozhera/operator/common/K8sUtilBean.java | 25 +- .../ozhera/operator/dto/DashboardDTO.java | 25 +- .../ozhera/operator/dto/DeployStateDTO.java | 25 +- .../operator/dto/HeraOperatorDefineDTO.java | 25 +- .../ozhera/operator/dto/OperatorStateDTO.java | 25 +- .../ozhera/operator/dto/PodStateDTO.java | 25 +- .../operator/dto/ServiceCheckResource.java | 25 +- .../handler/HeraResourceEventHandler.java | 25 +- .../ozhera/operator/service/ESService.java | 25 +- .../service/HeraBootstrapInitService.java | 25 +- .../ozhera/operator/service/IResource.java | 25 +- .../ozhera/operator/service/NacosService.java | 25 +- .../operator/service/RocketMQService.java | 25 +- .../ozhera/operator/test/PlaceholderTest.java | 25 +- ozhera-operator/pom.xml | 20 ++ 688 files changed, 10791 insertions(+), 7386 deletions(-) delete mode 100644 ozhera-log/.dockerignore create mode 100644 ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/TestHttpClient.java diff --git a/ozhera-log/.dockerignore b/ozhera-log/.dockerignore deleted file mode 100644 index 2ca156b27..000000000 --- a/ozhera-log/.dockerignore +++ /dev/null @@ -1,7 +0,0 @@ - -.dockerignore -.gitlab-ci.yml -.gitignore -.git/ -README.md -.DS_Store diff --git a/ozhera-log/Ozhera_log_optimization.md b/ozhera-log/Ozhera_log_optimization.md index 429269c6e..ba9bbd40c 100644 --- a/ozhera-log/Ozhera_log_optimization.md +++ b/ozhera-log/Ozhera_log_optimization.md @@ -1,3 +1,23 @@ + ## 1.Log Agent Optimization - ### 1.1 Background diff --git "a/ozhera-log/Ozhera\346\227\245\345\277\227\344\274\230\345\214\226.md" "b/ozhera-log/Ozhera\346\227\245\345\277\227\344\274\230\345\214\226.md" index 8346f5841..054d0bcb0 100644 --- "a/ozhera-log/Ozhera\346\227\245\345\277\227\344\274\230\345\214\226.md" +++ "b/ozhera-log/Ozhera\346\227\245\345\277\227\344\274\230\345\214\226.md" @@ -1,3 +1,23 @@ + ## 1、日志agent采集优化 ### 1.1 背景 diff --git a/ozhera-log/README.md b/ozhera-log/README.md index 95e3f7b09..4d3741c33 100644 --- a/ozhera-log/README.md +++ b/ozhera-log/README.md @@ -1,3 +1,23 @@ + # ozhera-log # log-agent supports JDK20 (2023-08-29) diff --git a/ozhera-log/README_cn.md b/ozhera-log/README_cn.md index b795616db..6faf02791 100644 --- a/ozhera-log/README_cn.md +++ b/ozhera-log/README_cn.md @@ -1,3 +1,23 @@ + # ozhera-log # log-agent支持jdk20(2023-08-29) diff --git a/ozhera-log/log-agent-server/Dockerfile b/ozhera-log/log-agent-server/Dockerfile index 95cf8304e..2ba1d3a97 100644 --- a/ozhera-log/log-agent-server/Dockerfile +++ b/ozhera-log/log-agent-server/Dockerfile @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. FROM openjdk:21-jdk-bookworm ENV APP_HOME /opt/app diff --git a/ozhera-log/log-agent-server/README.md b/ozhera-log/log-agent-server/README.md index 580b5248b..92af7f6f3 100644 --- a/ozhera-log/log-agent-server/README.md +++ b/ozhera-log/log-agent-server/README.md @@ -1 +1,21 @@ + This module is responsible for RPC communication with the agent and Dubbo communication with the manager. It can only be deployed on a single machine. \ No newline at end of file diff --git a/ozhera-log/log-agent-server/pom.xml b/ozhera-log/log-agent-server/pom.xml index aa1a0abb4..e2e452483 100644 --- a/ozhera-log/log-agent-server/pom.xml +++ b/ozhera-log/log-agent-server/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/LogAgentServerBootstrap.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/LogAgentServerBootstrap.java index 4e1fc2041..9162b9447 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/LogAgentServerBootstrap.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/LogAgentServerBootstrap.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.server; diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/common/ServerConstant.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/common/ServerConstant.java index f92e3237a..5f3987fc7 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/common/ServerConstant.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/common/ServerConstant.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.server.common; diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/common/Version.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/common/Version.java index bdfe31e03..b1978f537 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/common/Version.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/common/Version.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.server.common; diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/AgentCollectProgressProcessor.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/AgentCollectProgressProcessor.java index dee3f6ca1..af9339e03 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/AgentCollectProgressProcessor.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/AgentCollectProgressProcessor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.server.porcessor; diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/AgentConfigProcessor.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/AgentConfigProcessor.java index b5521b10a..6d201c400 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/AgentConfigProcessor.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/AgentConfigProcessor.java @@ -1,19 +1,21 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ - package org.apache.ozhera.log.server.porcessor; import com.xiaomi.data.push.rpc.netty.NettyRequestProcessor; diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/PingProcessor.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/PingProcessor.java index b528ec047..4c81748da 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/PingProcessor.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/porcessor/PingProcessor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.server.porcessor; diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/ApplicationShutdownHook.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/ApplicationShutdownHook.java index 02efbcf2e..e94eb53fd 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/ApplicationShutdownHook.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/ApplicationShutdownHook.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.server.service; diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultAgentConfigAcquirer.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultAgentConfigAcquirer.java index 6ba63b7b2..c6bd00e2c 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultAgentConfigAcquirer.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultAgentConfigAcquirer.java @@ -1,19 +1,21 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ - package org.apache.ozhera.log.server.service; import org.apache.ozhera.log.api.model.meta.LogCollectMeta; diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultLogProcessCollector.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultLogProcessCollector.java index ee890b3d5..64803fda4 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultLogProcessCollector.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultLogProcessCollector.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.server.service; diff --git a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultPublishConfigService.java b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultPublishConfigService.java index 7e5871a96..81850a79c 100644 --- a/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultPublishConfigService.java +++ b/ozhera-log/log-agent-server/src/main/java/org/apache/ozhera/log/server/service/DefaultPublishConfigService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.server.service; diff --git a/ozhera-log/log-agent-server/src/main/resources/config.properties b/ozhera-log/log-agent-server/src/main/resources/config.properties index 507b52bcf..0c37c401b 100644 --- a/ozhera-log/log-agent-server/src/main/resources/config.properties +++ b/ozhera-log/log-agent-server/src/main/resources/config.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. nacosAddr=${nacosAddr} serverName=${serverName} diff --git a/ozhera-log/log-agent-server/src/main/resources/config/open.properties b/ozhera-log/log-agent-server/src/main/resources/config/open.properties index 2c65fbbfa..35f47d5ea 100644 --- a/ozhera-log/log-agent-server/src/main/resources/config/open.properties +++ b/ozhera-log/log-agent-server/src/main/resources/config/open.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. nacosAddr=nacos:80 serverName=milog_manager_server #dubbo config diff --git a/ozhera-log/log-agent-server/src/main/resources/logback.xml b/ozhera-log/log-agent-server/src/main/resources/logback.xml index 62f9cf557..8af1050a7 100644 --- a/ozhera-log/log-agent-server/src/main/resources/logback.xml +++ b/ozhera-log/log-agent-server/src/main/resources/logback.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DefaultAgentConfigAcquirerTest.java b/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DefaultAgentConfigAcquirerTest.java index 0affdef9e..4256d4074 100644 --- a/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DefaultAgentConfigAcquirerTest.java +++ b/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DefaultAgentConfigAcquirerTest.java @@ -1,67 +1,54 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.server; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.log.server.service.DefaultAgentConfigAcquirer; +import org.junit.Before; +import org.junit.Test; + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2022/12/21 10:56 */ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.log.server; -// -//import com.google.gson.Gson; -//import com.google.gson.GsonBuilder; -//import com.xiaomi.mone.log.api.model.meta.LogCollectMeta; -//import com.xiaomi.mone.log.server.service.DefaultAgentConfigAcquirer; -//import com.xiaomi.youpin.docean.Ioc; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.Before; -//import org.junit.Test; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2022/12/21 10:56 -// */ -//@Slf4j -//public class DefaultAgentConfigAcquirerTest { -// -// DefaultAgentConfigAcquirer configAcquirer; -// Gson gson; -// -// @Before -// public void buildBean() { -// Ioc.ins().init("com.xiaomi"); -// configAcquirer = Ioc.ins().getBean(DefaultAgentConfigAcquirer.class); -// gson = new GsonBuilder().create(); -// } -// -// @Test -// public void testGetConfig() { -// String ip = "127.0.0.1:1"; +@Slf4j +public class DefaultAgentConfigAcquirerTest { + + DefaultAgentConfigAcquirer configAcquirer; + Gson gson; + + @Before + public void buildBean() { + Ioc.ins().init("com.xiaomi"); + configAcquirer = Ioc.ins().getBean(DefaultAgentConfigAcquirer.class); + gson = new GsonBuilder().create(); + } + + @Test + public void testGetConfig() { + String ip = "127.0.0.1:1"; // LogCollectMeta logCollectMetaFromManager = configAcquirer.getLogCollectMetaFromManager(ip); // log.info("config:{}", gson.toJson(logCollectMetaFromManager)); -// } -//} + } +} diff --git a/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DefaultLogProcessCollectorTest.java b/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DefaultLogProcessCollectorTest.java index b0c35feef..034fd7d51 100644 --- a/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DefaultLogProcessCollectorTest.java +++ b/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DefaultLogProcessCollectorTest.java @@ -1,88 +1,76 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.server; + +import com.google.common.collect.Lists; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.log.api.model.vo.UpdateLogProcessCmd; +import org.apache.ozhera.log.server.service.DefaultLogProcessCollector; +import org.junit.Before; +import org.junit.Test; + +import java.util.List; + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2023/1/4 11:14 */ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.log.server; -// -//import com.google.common.collect.Lists; -//import com.google.gson.Gson; -//import com.google.gson.GsonBuilder; -//import com.xiaomi.mone.log.api.model.vo.UpdateLogProcessCmd; -//import com.xiaomi.mone.log.server.service.DefaultLogProcessCollector; -//import com.xiaomi.youpin.docean.Ioc; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.Before; -//import org.junit.Test; -// -//import java.util.List; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2023/1/4 11:14 -// */ -//@Slf4j -//public class DefaultLogProcessCollectorTest { -// -// DefaultLogProcessCollector processCollector; -// Gson gson; -// -// @Before -// public void buildBean() { -// Ioc.ins().init("com.xiaomi"); -// processCollector = Ioc.ins().getBean(DefaultLogProcessCollector.class); -// gson = new GsonBuilder().create(); -// } -// -// @Test -// public void testCollectLogProcess() { -// UpdateLogProcessCmd updateLogProcessCmd = new UpdateLogProcessCmd(); -// List collectList = Lists.newArrayList(); -// UpdateLogProcessCmd.CollectDetail collectDetail = new UpdateLogProcessCmd.CollectDetail(); -// List fileProgressDetails = Lists.newArrayList(); -// UpdateLogProcessCmd.FileProgressDetail progressDetail = new UpdateLogProcessCmd.FileProgressDetail(); -// progressDetail.setPattern("/home/work/log/test/server.log"); -// progressDetail.setCollectPercentage("98%"); -// fileProgressDetails.add(progressDetail); -// collectDetail.setFileProgressDetails(fileProgressDetails); -// collectList.add(collectDetail); -// updateLogProcessCmd.setCollectList(collectList); -// updateLogProcessCmd.setIp("127.0.0.1"); -// processCollector.collectLogProcess(updateLogProcessCmd); +@Slf4j +public class DefaultLogProcessCollectorTest { + + DefaultLogProcessCollector processCollector; + Gson gson; + + @Before + public void buildBean() { + Ioc.ins().init("com.xiaomi"); + processCollector = Ioc.ins().getBean(DefaultLogProcessCollector.class); + gson = new GsonBuilder().create(); + } + + @Test + public void testCollectLogProcess() { + UpdateLogProcessCmd updateLogProcessCmd = new UpdateLogProcessCmd(); + List collectList = Lists.newArrayList(); + UpdateLogProcessCmd.CollectDetail collectDetail = new UpdateLogProcessCmd.CollectDetail(); + List fileProgressDetails = Lists.newArrayList(); + UpdateLogProcessCmd.FileProgressDetail progressDetail = new UpdateLogProcessCmd.FileProgressDetail(); + progressDetail.setPattern("/home/work/log/test/server.log"); + progressDetail.setCollectPercentage("98%"); + fileProgressDetails.add(progressDetail); + collectDetail.setFileProgressDetails(fileProgressDetails); + collectList.add(collectDetail); + updateLogProcessCmd.setCollectList(collectList); + updateLogProcessCmd.setIp("127.0.0.1"); + processCollector.collectLogProcess(updateLogProcessCmd); // List colProcessImperfect = processCollector.getColProcessImperfect(0.97); // log.info("result:{}", gson.toJson(colProcessImperfect)); -// } -// -// @Test -// public void testGetColProcessImperfect() { + } + + @Test + public void testGetColProcessImperfect() { // List colProcessImperfect = processCollector.getColProcessImperfect(0.98); // log.info("result:{}", gson.toJson(colProcessImperfect)); -// } -//} + } +} diff --git a/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DubboTest.java b/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DubboTest.java index 393d3dc6e..fa66ba5a3 100644 --- a/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DubboTest.java +++ b/ozhera-log/log-agent-server/src/test/java/org/apache/ozhera/log/server/DubboTest.java @@ -1,21 +1,29 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.server; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.ApplicationConfig; +import org.apache.dubbo.config.ReferenceConfig; +import org.apache.dubbo.config.RegistryConfig; +import org.apache.dubbo.config.utils.ReferenceConfigCache; +import org.apache.dubbo.rpc.service.GenericService; import org.junit.Test; /** @@ -29,31 +37,31 @@ public class DubboTest { @Test public void test() { -// ApplicationConfig application = new ApplicationConfig(); -// application.setName("api-gateway-test"); -// application.setQosEnable(false); -// -// RegistryConfig registry = new RegistryConfig(); -// registry.setAddress("nacos://127.0.0.1:80"); -// registry.setRegister(false); -// -// ReferenceConfig reference = new ReferenceConfig<>(); -// reference.setInterface("com.xiaomi.mone.log.api.service.PublishConfigService"); -// reference.setVersion(""); -// reference.setGroup("staging"); -// reference.setGeneric("true"); -// -// reference.setApplication(application); -// reference.setRegistry(registry); -// -//// DubboBootstrap bootstrap = DubboBootstrap.getInstance(); -//// bootstrap.application(application) -//// .registry(registry) -//// .reference(reference) -//// .start(); -// -// ReferenceConfigCache cache = ReferenceConfigCache.getCache(); -// GenericService genericService = cache.get(reference); + ApplicationConfig application = new ApplicationConfig(); + application.setName("api-gateway-test"); + application.setQosEnable(false); + + RegistryConfig registry = new RegistryConfig(); + registry.setAddress("nacos://127.0.0.1:80"); + registry.setRegister(false); + + ReferenceConfig reference = new ReferenceConfig<>(); + reference.setInterface("org.apache.ozhera.log.api.service.PublishConfigService"); + reference.setVersion(""); + reference.setGroup("staging"); + reference.setGeneric("true"); + + reference.setApplication(application); + reference.setRegistry(registry); + +// DubboBootstrap bootstrap = DubboBootstrap.getInstance(); +// bootstrap.application(application) +// .registry(registry) +// .reference(reference) +// .start(); + + ReferenceConfigCache cache = ReferenceConfigCache.getCache(); + GenericService genericService = cache.get(reference); // // Object result = genericService.$invoke("getAllAgentList", new String[]{}, new Object[]{}); // log.info("result:{}", GSON.toJson(result)); diff --git a/ozhera-log/log-agent/Dockerfile b/ozhera-log/log-agent/Dockerfile index 3830c1e12..fad1e12b6 100644 --- a/ozhera-log/log-agent/Dockerfile +++ b/ozhera-log/log-agent/Dockerfile @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. FROM openjdk:21-jdk-bookworm ENV APP_HOME /opt/app diff --git a/ozhera-log/log-agent/pom.xml b/ozhera-log/log-agent/pom.xml index 981f28b48..715b361a7 100644 --- a/ozhera-log/log-agent/pom.xml +++ b/ozhera-log/log-agent/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/bootstrap/MiLogAgentBootstrap.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/bootstrap/MiLogAgentBootstrap.java index fc5d759f7..d68c096bf 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/bootstrap/MiLogAgentBootstrap.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/bootstrap/MiLogAgentBootstrap.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.bootstrap; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/AbstractChannelService.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/AbstractChannelService.java index 817fb456f..2dd95a474 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/AbstractChannelService.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/AbstractChannelService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelDefine.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelDefine.java index 9f6d57e70..7299267e2 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelDefine.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelDefine.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelEngine.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelEngine.java index fc28f6731..a860f1c72 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelEngine.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelEngine.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelService.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelService.java index 61ffef04b..905653a07 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelService.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelServiceImpl.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelServiceImpl.java index b2cf4d6c2..65ccd27c1 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelServiceImpl.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelState.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelState.java index d76acd169..bd4c40d98 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelState.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/ChannelState.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/Closeable.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/Closeable.java index c7793d06c..f59dfdf11 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/Closeable.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/Closeable.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/WildcardChannelServiceImpl.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/WildcardChannelServiceImpl.java index c98292a1e..b1efef22f 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/WildcardChannelServiceImpl.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/WildcardChannelServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/AppSimilarComparator.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/AppSimilarComparator.java index 12980a015..f9b0a6300 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/AppSimilarComparator.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/AppSimilarComparator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.comparator; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/FilterSimilarComparator.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/FilterSimilarComparator.java index 53a30f915..b598a3e89 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/FilterSimilarComparator.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/FilterSimilarComparator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.comparator; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/InputSimilarComparator.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/InputSimilarComparator.java index fb8df158a..452180197 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/InputSimilarComparator.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/InputSimilarComparator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.comparator; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/OutputSimilarComparator.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/OutputSimilarComparator.java index a8b84c87b..84c0ca5b1 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/OutputSimilarComparator.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/OutputSimilarComparator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.comparator; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/SimilarComparator.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/SimilarComparator.java index 0283dfd2a..fa838dfb6 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/SimilarComparator.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/comparator/SimilarComparator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.comparator; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/conf/AgentTailConf.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/conf/AgentTailConf.java index b8816ee4f..9ee49d260 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/conf/AgentTailConf.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/conf/AgentTailConf.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.conf; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileListener.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileListener.java index 736ec9713..67768a346 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileListener.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileListener.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.file; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileMonitor.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileMonitor.java index 98f301099..f6b31c766 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileMonitor.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileMonitor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.file; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileWatcher.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileWatcher.java index 0e0ca1401..c8ca7d1c2 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileWatcher.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/FileWatcher.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.file; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/InodeFileComparator.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/InodeFileComparator.java index 757651138..117cbb531 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/InodeFileComparator.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/InodeFileComparator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.file; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/LogFileAlterationObserver.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/LogFileAlterationObserver.java index d4e863548..42d5a0bb9 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/LogFileAlterationObserver.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/LogFileAlterationObserver.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.file; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/MonitorFile.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/MonitorFile.java index 21a6c8217..81d6073c8 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/MonitorFile.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/file/MonitorFile.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.file; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/listener/DefaultFileMonitorListener.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/listener/DefaultFileMonitorListener.java index 2d2450dd4..ab56b1297 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/listener/DefaultFileMonitorListener.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/listener/DefaultFileMonitorListener.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.listener; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/listener/FileMonitorListener.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/listener/FileMonitorListener.java index b6d1fd5f3..ea8726ac9 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/listener/FileMonitorListener.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/listener/FileMonitorListener.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.listener; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineJsonLocator.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineJsonLocator.java index 6a775e66f..937e1897c 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineJsonLocator.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineJsonLocator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.locator; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineLocator.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineLocator.java index 3e9540bf6..04ce1497f 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineLocator.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineLocator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.locator; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineRpcLocator.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineRpcLocator.java index 639b3f411..a0e23432b 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineRpcLocator.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/locator/ChannelDefineRpcLocator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.locator; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/AgentMemoryService.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/AgentMemoryService.java index 116aabcd9..c62da72b8 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/AgentMemoryService.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/AgentMemoryService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.memory; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/AgentMemoryServiceImpl.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/AgentMemoryServiceImpl.java index c38f2ce3a..0a479995e 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/AgentMemoryServiceImpl.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/AgentMemoryServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.memory; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/ChannelMemory.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/ChannelMemory.java index b999cbc19..0a5523b14 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/ChannelMemory.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/channel/memory/ChannelMemory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel.memory; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/AbstractElementAdapter.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/AbstractElementAdapter.java index 1af066109..7af24b4da 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/AbstractElementAdapter.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/AbstractElementAdapter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.common; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/ChannelUtil.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/ChannelUtil.java index 45b874dc3..bce4362a0 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/ChannelUtil.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/ChannelUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.common; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/ExecutorUtil.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/ExecutorUtil.java index 1f88209d9..c7c78ffea 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/ExecutorUtil.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/ExecutorUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.common; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/HashUtil.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/HashUtil.java index 9a31ee9ec..61db23dd2 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/HashUtil.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/HashUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.common; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/Version.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/Version.java index 09f047692..27e45d050 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/Version.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/Version.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.common; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/MessageUtil.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/MessageUtil.java index f3f29bb1b..1f5261dcc 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/MessageUtil.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/MessageUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.common.trace; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java index 5baf1bfbc..518b118c7 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.common.trace; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/exception/AgentException.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/exception/AgentException.java index e9e68a58f..7ca5d69ce 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/exception/AgentException.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/exception/AgentException.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.exception; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/export/MsgExporter.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/export/MsgExporter.java index 3072f0462..fd7498116 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/export/MsgExporter.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/export/MsgExporter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.export; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaExporter.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaExporter.java index 65bf84696..59bf6b66f 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaExporter.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaExporter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.extension; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaOutput.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaOutput.java index a2195ea8d..b1a411939 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaOutput.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaOutput.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.extension; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaService.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaService.java index 7d97ecb14..07ddd33f7 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaService.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/KafkaService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.extension; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqExporter.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqExporter.java index 8e9f76e5f..52af87376 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqExporter.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqExporter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.extension; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqOutput.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqOutput.java index 768046150..cfc073117 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqOutput.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RmqOutput.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.extension; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RocketMQService.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RocketMQService.java index 67457ea9a..45f4b246b 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RocketMQService.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/extension/RocketMQService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.extension; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/factory/OutPutServiceFactory.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/factory/OutPutServiceFactory.java index e11a6d120..ea1c3aae7 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/factory/OutPutServiceFactory.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/factory/OutPutServiceFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.factory; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/FilterChain.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/FilterChain.java index 7fc0366ef..09d0bbee1 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/FilterChain.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/FilterChain.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.filter; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/FilterTrans.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/FilterTrans.java index f8f778f8a..2da03682b 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/FilterTrans.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/FilterTrans.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.filter; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/Invoker.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/Invoker.java index 4a3446626..511ae1b0b 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/Invoker.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/Invoker.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.filter; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/MilogFilter.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/MilogFilter.java index 20a1f16eb..aa834a11e 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/MilogFilter.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/MilogFilter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.filter; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/ratelimit/RatelimitFilter.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/ratelimit/RatelimitFilter.java index 7c1e00014..153f2b4db 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/ratelimit/RatelimitFilter.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/filter/ratelimit/RatelimitFilter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.filter.ratelimit; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/AppLogInput.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/AppLogInput.java index 85c656f96..ab940378a 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/AppLogInput.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/AppLogInput.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.input; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/FreeLogInput.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/FreeLogInput.java index 18756356c..5b2f6c5dc 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/FreeLogInput.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/FreeLogInput.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.input; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/Input.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/Input.java index 8a2ee73e6..23925bbfa 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/Input.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/Input.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.input; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/MisAppLogInput.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/MisAppLogInput.java index ed7a7f270..8fb56f5a9 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/MisAppLogInput.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/MisAppLogInput.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.input; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/NginxInput.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/NginxInput.java index 493041f30..2d0946898 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/NginxInput.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/NginxInput.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.input; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/OpentelemetryInput.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/OpentelemetryInput.java index 638162ab6..0f9c5adea 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/OpentelemetryInput.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/OpentelemetryInput.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.input; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/OriginLogInput.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/OriginLogInput.java index 0c1cd1d11..5cdeba496 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/OriginLogInput.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/input/OriginLogInput.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.input; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/output/Output.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/output/Output.java index f5cdcf086..bf95f91e4 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/output/Output.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/output/Output.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.output; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/IService.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/IService.java index f81f093c9..6646fed22 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/IService.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/IService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.rpc.processor; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/LogProcessor.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/LogProcessor.java index c14c498c4..3e54c2772 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/LogProcessor.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/LogProcessor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.rpc.processor; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/ProcessorInit.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/ProcessorInit.java index 3e106d438..c630947b6 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/ProcessorInit.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/processor/ProcessorInit.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.rpc.processor; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/task/PingTask.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/task/PingTask.java index 1258c7444..37ad68b1b 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/task/PingTask.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/rpc/task/PingTask.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.rpc.task; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/ChannelDefineLocatorExtension.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/ChannelDefineLocatorExtension.java index 02450919b..53373c6fb 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/ChannelDefineLocatorExtension.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/ChannelDefineLocatorExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.service; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/OutPutService.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/OutPutService.java index ef9858aa2..2ac159088 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/OutPutService.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/OutPutService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.service; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/ServiceRegistryService.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/ServiceRegistryService.java index 1127fc566..7e871a37c 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/ServiceRegistryService.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/ServiceRegistryService.java @@ -1,19 +1,21 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ - package org.apache.ozhera.log.agent.service; import com.alibaba.nacos.api.naming.pojo.Instance; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/OuterChannelDefineLocatorExtensionImpl.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/OuterChannelDefineLocatorExtensionImpl.java index 37ca2dc08..542b92efb 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/OuterChannelDefineLocatorExtensionImpl.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/OuterChannelDefineLocatorExtensionImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.service.impl; diff --git a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/ServiceRegistryServiceImpl.java b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/ServiceRegistryServiceImpl.java index caa955304..5ed2f526f 100644 --- a/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/ServiceRegistryServiceImpl.java +++ b/ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/service/impl/ServiceRegistryServiceImpl.java @@ -1,19 +1,21 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ - package org.apache.ozhera.log.agent.service.impl; import com.alibaba.nacos.api.exception.NacosException; diff --git a/ozhera-log/log-agent/src/main/resources/config.properties b/ozhera-log/log-agent/src/main/resources/config.properties index 9637dd259..de72fe5f4 100644 --- a/ozhera-log/log-agent/src/main/resources/config.properties +++ b/ozhera-log/log-agent/src/main/resources/config.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. app_name=${app_name} app_max_index=30 diff --git a/ozhera-log/log-agent/src/main/resources/config/dev.properties b/ozhera-log/log-agent/src/main/resources/config/dev.properties index 7c91d70d3..79e5407b7 100644 --- a/ozhera-log/log-agent/src/main/resources/config/dev.properties +++ b/ozhera-log/log-agent/src/main/resources/config/dev.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. app_name=log_agent_dev nacosAddr=127.0.0.1:80 serviceName=milog_manager_server diff --git a/ozhera-log/log-agent/src/main/resources/config/open.properties b/ozhera-log/log-agent/src/main/resources/config/open.properties index 499dd95c5..71f50d84f 100644 --- a/ozhera-log/log-agent/src/main/resources/config/open.properties +++ b/ozhera-log/log-agent/src/main/resources/config/open.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. app_name=log_agent nacosAddr=nacos:80 serviceName=milog_manager_server diff --git a/ozhera-log/log-agent/src/main/resources/logback.xml b/ozhera-log/log-agent/src/main/resources/logback.xml index 103a6c961..fbd0a1621 100644 --- a/ozhera-log/log-agent/src/main/resources/logback.xml +++ b/ozhera-log/log-agent/src/main/resources/logback.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/Comparator.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/Comparator.java index 71d1eb9ef..3a5ed42f1 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/Comparator.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/Comparator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/DefaultFileMonitorListenerTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/DefaultFileMonitorListenerTest.java index 24830ff01..fc293993f 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/DefaultFileMonitorListenerTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/DefaultFileMonitorListenerTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/FileInodeTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/FileInodeTest.java index 26bd978f6..871536232 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/FileInodeTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/FileInodeTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/FilterMonitorTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/FilterMonitorTest.java index 7234b0dd7..2e61fd89f 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/FilterMonitorTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/FilterMonitorTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/LogProcessorTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/LogProcessorTest.java index 1d8b895a9..438d89c63 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/LogProcessorTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/LogProcessorTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/channel/ChannelServiceTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/channel/ChannelServiceTest.java index 155a826af..62daa614d 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/channel/ChannelServiceTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/channel/ChannelServiceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.channel; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/common/ExecutorUtilTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/common/ExecutorUtilTest.java index dcdf98037..63a833d9f 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/common/ExecutorUtilTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/common/ExecutorUtilTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.common; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/common/trace/TraceUtilTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/common/trace/TraceUtilTest.java index 33ecf9c30..0d7a7409a 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/common/trace/TraceUtilTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/common/trace/TraceUtilTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.common.trace; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/extension/RocketMQServiceTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/extension/RocketMQServiceTest.java index 37cef2d97..a1d0b7830 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/extension/RocketMQServiceTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/extension/RocketMQServiceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.extension; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/filter/ComparatorTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/filter/ComparatorTest.java index 23e9ec08a..aef500bb6 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/filter/ComparatorTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/filter/ComparatorTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.filter; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/filter/FilterTransTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/filter/FilterTransTest.java index 1da5a40d8..98c409b7e 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/filter/FilterTransTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/filter/FilterTransTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.filter; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/lock/LockTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/lock/LockTest.java index 312715d0b..04a32056a 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/lock/LockTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/lock/LockTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.lock; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/ChannelDefineRpcLocatorTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/ChannelDefineRpcLocatorTest.java index 80579932b..0efc7beef 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/ChannelDefineRpcLocatorTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/ChannelDefineRpcLocatorTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.rpc.processor.service; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/LimitTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/LimitTest.java index 0485b20b2..3061666e7 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/LimitTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/LimitTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.rpc.processor.service; diff --git a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/RpcTest.java b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/RpcTest.java index bed4100dd..924a5097f 100644 --- a/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/RpcTest.java +++ b/ozhera-log/log-agent/src/test/java/org/apache/ozhera/log/agent/rpc/processor/service/RpcTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.agent.rpc.processor.service; diff --git a/ozhera-log/log-api/pom.xml b/ozhera-log/log-api/pom.xml index 78585d485..81a36684c 100644 --- a/ozhera-log/log-api/pom.xml +++ b/ozhera-log/log-api/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/AppTypeEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/AppTypeEnum.java index 6e0be25eb..df7493a4c 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/AppTypeEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/AppTypeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/DeployWayEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/DeployWayEnum.java index ff94de8c2..64c25b931 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/DeployWayEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/DeployWayEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ESClusterEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ESClusterEnum.java index 8278d03d7..6ee6403b9 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ESClusterEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ESClusterEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/EsOperatorEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/EsOperatorEnum.java index 430595118..67a09cf1d 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/EsOperatorEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/EsOperatorEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/EsOperatorMatchEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/EsOperatorMatchEnum.java index cce33fd81..1ba36eb28 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/EsOperatorMatchEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/EsOperatorMatchEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/FavouriteSearchEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/FavouriteSearchEnum.java index 1b6d689f8..ac392d2d6 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/FavouriteSearchEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/FavouriteSearchEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/K8sPodTypeEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/K8sPodTypeEnum.java index 5e0976bba..1e2b20be9 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/K8sPodTypeEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/K8sPodTypeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogStorageTypeEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogStorageTypeEnum.java index 86ef58ada..2982282ca 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogStorageTypeEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogStorageTypeEnum.java @@ -1,19 +1,21 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ - package org.apache.ozhera.log.api.enums; /** diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogStructureEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogStructureEnum.java index 6834e38d4..70accc5c0 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogStructureEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogStructureEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogTypeEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogTypeEnum.java index 2098f939b..5f52f9ba4 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogTypeEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/LogTypeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MQSourceEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MQSourceEnum.java index 6bb1931b4..245ca3a67 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MQSourceEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MQSourceEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MachineRegionEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MachineRegionEnum.java index 0038704bf..d57a4326b 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MachineRegionEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MachineRegionEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MachineTypeEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MachineTypeEnum.java index d93bd5d48..882ef48fa 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MachineTypeEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MachineTypeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MiddlewareEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MiddlewareEnum.java index 4b7f3295c..5f6fac438 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MiddlewareEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/MiddlewareEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/OperateEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/OperateEnum.java index 9cb1b1d41..565e98610 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/OperateEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/OperateEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ProjectSourceEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ProjectSourceEnum.java index 0c3d455bf..9c9b84536 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ProjectSourceEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ProjectSourceEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ProjectTypeEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ProjectTypeEnum.java index ed0d3892a..f37732253 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ProjectTypeEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ProjectTypeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/RateLimitEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/RateLimitEnum.java index a38f1eefd..391640b68 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/RateLimitEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/RateLimitEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ResourceEnum.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ResourceEnum.java index 10ba64d5d..125e5398f 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ResourceEnum.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/enums/ResourceEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.enums; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/filter/Common.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/filter/Common.java index 6901fb863..2348be650 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/filter/Common.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/filter/Common.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.filter; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/filter/RateLimitStrategy.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/filter/RateLimitStrategy.java index e55c9ba6b..6ffb006dd 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/filter/RateLimitStrategy.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/filter/RateLimitStrategy.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.filter; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/AlertInfo.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/AlertInfo.java index f17a2e835..c723fc649 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/AlertInfo.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/AlertInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.bo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/MiLogMoneTransfer.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/MiLogMoneTransfer.java index e996b617e..1e71c3f4c 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/MiLogMoneTransfer.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/MiLogMoneTransfer.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.bo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/MiLogResource.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/MiLogResource.java index 06e90ac9c..935573b92 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/MiLogResource.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/MiLogResource.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.bo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/ResourcePage.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/ResourcePage.java index b3a792f98..895d174b8 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/ResourcePage.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/bo/ResourcePage.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.bo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/dto/MontorAppDTO.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/dto/MontorAppDTO.java index f6080fc22..8874177ea 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/dto/MontorAppDTO.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/dto/MontorAppDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.dto; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/dto/TraceLogDTO.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/dto/TraceLogDTO.java index 699bc9b02..514aeb4b8 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/dto/TraceLogDTO.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/dto/TraceLogDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.dto; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/AgentDefine.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/AgentDefine.java index cb5d52011..d123b4995 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/AgentDefine.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/AgentDefine.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.meta; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/AppLogMeta.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/AppLogMeta.java index 31c9b4721..5e0a39d85 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/AppLogMeta.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/AppLogMeta.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.meta; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterConf.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterConf.java index 31365500b..9d47d999b 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterConf.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterConf.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.meta; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterDefine.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterDefine.java index 003121e71..98387994f 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterDefine.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterDefine.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.meta; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterName.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterName.java index 19752a1e2..514f70cb4 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterName.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterName.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.meta; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterType.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterType.java index 419897d72..7f028e56c 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterType.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/FilterType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.meta; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/LogCollectMeta.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/LogCollectMeta.java index fad0ef715..274c6184d 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/LogCollectMeta.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/LogCollectMeta.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.meta; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/LogPattern.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/LogPattern.java index 549e0d496..c3f1c6e0c 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/LogPattern.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/LogPattern.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.meta; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/MQConfig.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/MQConfig.java index 7151241c9..3fbbdd292 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/MQConfig.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/MQConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.meta; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/package-info.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/package-info.java index e47e40784..632d5424c 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/package-info.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/meta/package-info.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ /** * @author shanwb diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/msg/LineMessage.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/msg/LineMessage.java index 783bba9b9..119cafa3e 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/msg/LineMessage.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/msg/LineMessage.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.msg; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/AgentLogProcessDTO.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/AgentLogProcessDTO.java index 47fc41a3a..fd80b4d28 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/AgentLogProcessDTO.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/AgentLogProcessDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/AlarmPattern.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/AlarmPattern.java index fd65ad9ef..c4f7b615b 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/AlarmPattern.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/AlarmPattern.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/CommonVo.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/CommonVo.java index 90eb36fd5..9c8f3a375 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/CommonVo.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/CommonVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/EsIndexVo.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/EsIndexVo.java index 091dedcf5..684772c83 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/EsIndexVo.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/EsIndexVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/LogCmd.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/LogCmd.java index c0b734818..df4cb30c8 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/LogCmd.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/LogCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/LogRecordConfig.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/LogRecordConfig.java index 425fac59a..cacd5e4cd 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/LogRecordConfig.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/LogRecordConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/MiLogMoneEnv.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/MiLogMoneEnv.java index d977a4a84..5e2f77fb1 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/MiLogMoneEnv.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/MiLogMoneEnv.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/PingReq.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/PingReq.java index 987934564..aad904aed 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/PingReq.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/PingReq.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ResourceInfo.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ResourceInfo.java index 1cad0e911..46b46b08a 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ResourceInfo.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ResourceInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ResourceUserSimple.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ResourceUserSimple.java index c5be360bc..48befba1b 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ResourceUserSimple.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ResourceUserSimple.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/TailLogProcessDTO.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/TailLogProcessDTO.java index d68237460..ec846f37b 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/TailLogProcessDTO.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/TailLogProcessDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/TraceLogQuery.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/TraceLogQuery.java index 951d38980..bbe83deca 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/TraceLogQuery.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/TraceLogQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/UpdateLogProcessCmd.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/UpdateLogProcessCmd.java index 69dec0c52..67ed9b292 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/UpdateLogProcessCmd.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/UpdateLogProcessCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ValueKeyObj.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ValueKeyObj.java index deb997517..7f990e3ec 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ValueKeyObj.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/model/vo/ValueKeyObj.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.model.vo; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/AgentConfigService.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/AgentConfigService.java index 081c51487..0c0388412 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/AgentConfigService.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/AgentConfigService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.service; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogCountService.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogCountService.java index cfe22a5f4..a03b94571 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogCountService.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogCountService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.service; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogDataService.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogDataService.java index acf973759..abf9e894a 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogDataService.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogDataService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.service; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogProcessCollector.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogProcessCollector.java index 6af7e48aa..72dfa2e97 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogProcessCollector.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogProcessCollector.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.service; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogProcessService.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogProcessService.java index 31716c7ef..75bdb55de 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogProcessService.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/LogProcessService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.service; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/MilogOpenService.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/MilogOpenService.java index 1e0f1a433..9cae908b7 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/MilogOpenService.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/MilogOpenService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.service; diff --git a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/PublishConfigService.java b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/PublishConfigService.java index 73565810c..8095a68a8 100644 --- a/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/PublishConfigService.java +++ b/ozhera-log/log-api/src/main/java/org/apache/ozhera/log/api/service/PublishConfigService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api.service; diff --git a/ozhera-log/log-api/src/test/java/org/apache/ozhera/log/api/LogStorageTypeEnumTest.java b/ozhera-log/log-api/src/test/java/org/apache/ozhera/log/api/LogStorageTypeEnumTest.java index 3a03ea00d..e40b08171 100644 --- a/ozhera-log/log-api/src/test/java/org/apache/ozhera/log/api/LogStorageTypeEnumTest.java +++ b/ozhera-log/log-api/src/test/java/org/apache/ozhera/log/api/LogStorageTypeEnumTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.api; diff --git a/ozhera-log/log-common/pom.xml b/ozhera-log/log-common/pom.xml index 1299283d9..700465666 100644 --- a/ozhera-log/log-common/pom.xml +++ b/ozhera-log/log-common/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/annotation/UnifiedResponse.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/annotation/UnifiedResponse.java index 4ba718325..775bb650f 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/annotation/UnifiedResponse.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/annotation/UnifiedResponse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.annotation; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Config.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Config.java index 86e9d8c5c..e479b0d06 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Config.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Config.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Constant.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Constant.java index 3bef29713..cc98f849e 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Constant.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Constant.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Es.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Es.java index 9c8742563..e7a1acb92 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Es.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Es.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/HeraLocalCache.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/HeraLocalCache.java index fb9e39641..2f08da75f 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/HeraLocalCache.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/HeraLocalCache.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/MiLogCmd.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/MiLogCmd.java index 9a608380d..c478c7871 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/MiLogCmd.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/MiLogCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/NetUtils.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/NetUtils.java index e5a29c958..b77bbe875 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/NetUtils.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/NetUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/PathUtils.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/PathUtils.java index a174ebafe..b3524c7cb 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/PathUtils.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/PathUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Result.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Result.java index 2daf80c6e..15f63bc9b 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Result.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/common/Result.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/exception/CommonError.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/exception/CommonError.java index ac2b945f0..4d9e98cff 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/exception/CommonError.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/exception/CommonError.java @@ -1,24 +1,26 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.exception; /** * @author milog */ - public enum CommonError { Success(0, "success"), diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/exception/CommonException.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/exception/CommonException.java index 3e28a86cc..eb7aba7f7 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/exception/CommonException.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/exception/CommonException.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.exception; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/LogtailConfig.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/LogtailConfig.java index b36324518..68a3c6d53 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/LogtailConfig.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/LogtailConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.model; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MiLogStreamConfig.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MiLogStreamConfig.java index d0bb9db46..a71f4d111 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MiLogStreamConfig.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MiLogStreamConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.model; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MilogSpaceData.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MilogSpaceData.java index 9ee146904..8876d666a 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MilogSpaceData.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MilogSpaceData.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.model; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MilogStreamData.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MilogStreamData.java index 45be1df2f..522527bb9 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MilogStreamData.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/MilogStreamData.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.model; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/SinkConfig.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/SinkConfig.java index 53c79e137..d04e5031b 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/SinkConfig.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/SinkConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.model; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/StorageInfo.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/StorageInfo.java index 2cda6319c..a0120855f 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/StorageInfo.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/model/StorageInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.model; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/AbstractLogParser.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/AbstractLogParser.java index c8d8d631e..b500173a9 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/AbstractLogParser.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/AbstractLogParser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/CustomLogParser.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/CustomLogParser.java index 4033ce1e6..a74b51ce9 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/CustomLogParser.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/CustomLogParser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/FieldInterceptor.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/FieldInterceptor.java index d389fdb63..07ac44ff2 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/FieldInterceptor.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/FieldInterceptor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/JsonLogParser.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/JsonLogParser.java index b77164d51..9e744c11d 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/JsonLogParser.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/JsonLogParser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParser.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParser.java index 3c9001eac..946bbdae8 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParser.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParserData.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParserData.java index 87ac449ef..211d3cea9 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParserData.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParserData.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParserFactory.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParserFactory.java index 7364fb9a7..36edef25d 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParserFactory.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/LogParserFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/NginxLogParser.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/NginxLogParser.java index 2f9314968..9915f2f3e 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/NginxLogParser.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/NginxLogParser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/RawLogParser.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/RawLogParser.java index 391f6df96..8a43bf416 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/RawLogParser.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/RawLogParser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/RegexLogParser.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/RegexLogParser.java index b89d9f220..8ae9ea691 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/RegexLogParser.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/RegexLogParser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/SeparatorLogParser.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/SeparatorLogParser.java index 07bcb6da3..9c5e142d5 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/SeparatorLogParser.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/parse/SeparatorLogParser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.parse; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/ConfigUtils.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/ConfigUtils.java index 325352917..0e98b3b71 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/ConfigUtils.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/ConfigUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.utils; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/DateUtils.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/DateUtils.java index ec3c77653..8dd1019a3 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/DateUtils.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/DateUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.utils; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/IndexUtils.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/IndexUtils.java index 67080ecf9..ac60bd101 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/IndexUtils.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/IndexUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.utils; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/KafkaUtils.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/KafkaUtils.java index 104fcd7a0..180f893f7 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/KafkaUtils.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/KafkaUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.utils; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/NetUtil.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/NetUtil.java index 4586725a0..019253da2 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/NetUtil.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/NetUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.utils; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/PinYin4jUtils.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/PinYin4jUtils.java index 74da5985b..93075b502 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/PinYin4jUtils.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/PinYin4jUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.utils; diff --git a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/SimilarUtils.java b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/SimilarUtils.java index 686c8a91f..3a3c3e1ee 100644 --- a/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/SimilarUtils.java +++ b/ozhera-log/log-common/src/main/java/org/apache/ozhera/log/utils/SimilarUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.utils; diff --git a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/DateUtilsTest.java b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/DateUtilsTest.java index 193c0f5f2..62ae51f6e 100644 --- a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/DateUtilsTest.java +++ b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/DateUtilsTest.java @@ -1,16 +1,19 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; \ No newline at end of file diff --git a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/IndexUtilsTest.java b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/IndexUtilsTest.java index a89e927cb..d20a3d67b 100644 --- a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/IndexUtilsTest.java +++ b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/IndexUtilsTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LineMessage.java b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LineMessage.java index 48e5391c3..7723fed88 100644 --- a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LineMessage.java +++ b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LineMessage.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LogParserFactoryTest.java b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LogParserFactoryTest.java index ac03dbeda..c7842868a 100644 --- a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LogParserFactoryTest.java +++ b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LogParserFactoryTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LogParserTest.java b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LogParserTest.java index 8601bedfe..9026b5352 100644 --- a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LogParserTest.java +++ b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/LogParserTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/NetUtilsTest.java b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/NetUtilsTest.java index f90e24b82..c807ac877 100644 --- a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/NetUtilsTest.java +++ b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/NetUtilsTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; @@ -30,7 +33,6 @@ public class NetUtilsTest { @Test public void testQueryIpWithDomain(){ -// String domain = "blog.csdn.net"; String domain = "open"; List ips = NetUtils.queryIpWithDomain(domain); log.info("result:{}",ips); diff --git a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/PathUtilsTest.java b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/PathUtilsTest.java index 690264c8d..022f04de6 100644 --- a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/PathUtilsTest.java +++ b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/PathUtilsTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/PinYin4jUtilsTest.java b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/PinYin4jUtilsTest.java index dfa76fc94..f39fc7d66 100644 --- a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/PinYin4jUtilsTest.java +++ b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/PinYin4jUtilsTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/SimilarityTest.java b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/SimilarityTest.java index 59cf8ed45..eafb934d7 100644 --- a/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/SimilarityTest.java +++ b/ozhera-log/log-common/src/test/java/org/apache/ozhera/log/common/SimilarityTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.common; diff --git a/ozhera-log/log-manager/Dockerfile b/ozhera-log/log-manager/Dockerfile index 6cc6ea101..fb28a0880 100644 --- a/ozhera-log/log-manager/Dockerfile +++ b/ozhera-log/log-manager/Dockerfile @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. FROM openjdk:21-jdk-bookworm ENV APP_HOME /opt/app diff --git a/ozhera-log/log-manager/pom.xml b/ozhera-log/log-manager/pom.xml index 1cd4d073e..9015576d2 100644 --- a/ozhera-log/log-manager/pom.xml +++ b/ozhera-log/log-manager/pom.xml @@ -1,4 +1,24 @@ + @@ -10,6 +30,7 @@ 4.0.0 log-manager + 1.3.3-SNAPSHOT 21 diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/Cache.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/Cache.java index 617f5097e..6b4d76d99 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/Cache.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/Cache.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.bootstrap; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/LogStoragePlugin.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/LogStoragePlugin.java index e49569952..22eb9a384 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/LogStoragePlugin.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/LogStoragePlugin.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.bootstrap; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/MiLogManagerBootstrap.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/MiLogManagerBootstrap.java index 5efdde94e..878e72036 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/MiLogManagerBootstrap.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/bootstrap/MiLogManagerBootstrap.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.bootstrap; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ErrorCode.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ErrorCode.java index e37cea687..f43252a38 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ErrorCode.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ErrorCode.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ExceptionCode.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ExceptionCode.java index 29d13757f..2f0ac1964 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ExceptionCode.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ExceptionCode.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ManagerConstant.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ManagerConstant.java index 53f3d1dbc..b0e138833 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ManagerConstant.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/ManagerConstant.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/MilogConfig.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/MilogConfig.java index 7236cc482..7ad7b96f4 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/MilogConfig.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/MilogConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Result.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Result.java index c285300a5..6fcbe5957 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Result.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Result.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Utils.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Utils.java index 2790236ef..548ab2833 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Utils.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Utils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Version.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Version.java index 56eef070d..cd50366ca 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Version.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/Version.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/context/MilogUserUtil.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/context/MilogUserUtil.java index 29732137d..5bb0128c9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/context/MilogUserUtil.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/context/MilogUserUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.context; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/context/MoneUserContext.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/context/MoneUserContext.java index f7e9c2976..9bad53228 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/context/MoneUserContext.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/context/MoneUserContext.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.context; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/exception/MilogManageException.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/exception/MilogManageException.java index 338af4ddd..a083be83f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/exception/MilogManageException.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/exception/MilogManageException.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.exception; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/helper/MilogAccessHelper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/helper/MilogAccessHelper.java index 070f8a128..c51e2a77a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/helper/MilogAccessHelper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/helper/MilogAccessHelper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.helper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/utils/ExportUtils.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/utils/ExportUtils.java index 26464fc03..7fe6e8ee3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/utils/ExportUtils.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/utils/ExportUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.utils; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/utils/ManagerUtil.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/utils/ManagerUtil.java index 750f79fa9..c0a7d647f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/utils/ManagerUtil.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/utils/ManagerUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.utils; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/HeraConfigValid.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/HeraConfigValid.java index 6fa6a77dc..a65427b31 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/HeraConfigValid.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/HeraConfigValid.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.validation; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/OpenSourceValid.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/OpenSourceValid.java index 2dbfcff97..f9ddf501d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/OpenSourceValid.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/OpenSourceValid.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.validation; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/ResourceValidation.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/ResourceValidation.java index de236f87c..4b4d497e9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/ResourceValidation.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/ResourceValidation.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.validation; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/StoreSpaceAuthValid.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/StoreSpaceAuthValid.java index fa999fc3a..c26948183 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/StoreSpaceAuthValid.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/StoreSpaceAuthValid.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.validation; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/StoreValidation.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/StoreValidation.java index f4d7df374..da54b4ff5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/StoreValidation.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/StoreValidation.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.common.validation; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/EsDataController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/EsDataController.java index 86a626127..582eb9c5e 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/EsDataController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/EsDataController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/LogAnalyseController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/LogAnalyseController.java index e9a3fd713..56d3ab6c5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/LogAnalyseController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/LogAnalyseController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/LogTemplateController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/LogTemplateController.java index f4ab337c1..c38aa8aba 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/LogTemplateController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/LogTemplateController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MIlogAgentManageController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MIlogAgentManageController.java index 8bfd8d375..23e68062a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MIlogAgentManageController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MIlogAgentManageController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MiLogMetaManageController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MiLogMetaManageController.java index 08e98ae76..7817643c7 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MiLogMetaManageController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MiLogMetaManageController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MiLogResourceController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MiLogResourceController.java index 47c10a045..21d14dd8c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MiLogResourceController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MiLogResourceController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogConfigController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogConfigController.java index bb6f4e201..a43e60267 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogConfigController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogConfigController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogDictionaryController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogDictionaryController.java index edeea462d..3abe06007 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogDictionaryController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogDictionaryController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogLoginController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogLoginController.java index 092b9184e..1d38953fb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogLoginController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogLoginController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogMiddlewareConfigController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogMiddlewareConfigController.java index 447a11583..27173e371 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogMiddlewareConfigController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogMiddlewareConfigController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStatisticController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStatisticController.java index dc6ff144c..31069a787 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStatisticController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStatisticController.java @@ -1,19 +1,21 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ - package org.apache.ozhera.log.manager.controller; import org.apache.ozhera.log.common.Result; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStoreSpaceAuthController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStoreSpaceAuthController.java index d41123796..ae8babb8a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStoreSpaceAuthController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStoreSpaceAuthController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStreamController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStreamController.java index c645b1123..cdeb4ef56 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStreamController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/MilogStreamController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/StreamPartitionController.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/StreamPartitionController.java index efc161e98..df62f69ff 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/StreamPartitionController.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/StreamPartitionController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/interceptor/HttpRequestInterceptor.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/interceptor/HttpRequestInterceptor.java index d793914cc..6eb196ace 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/interceptor/HttpRequestInterceptor.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/controller/interceptor/HttpRequestInterceptor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.controller.interceptor; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/LogStreamBalanceConfigDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/LogStreamBalanceConfigDao.java index c2b390af5..896ada7c6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/LogStreamBalanceConfigDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/LogStreamBalanceConfigDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogAppMiddlewareRelDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogAppMiddlewareRelDao.java index 69f4b9811..3896bf61d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogAppMiddlewareRelDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogAppMiddlewareRelDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogAppTopicRelDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogAppTopicRelDao.java index f532c9e86..2df3b6ab1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogAppTopicRelDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogAppTopicRelDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLockDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLockDao.java index 2faa0794c..5af870d4b 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLockDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLockDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogProcessDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogProcessDao.java index b59c08ff5..e4457a0f5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogProcessDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogProcessDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogTailDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogTailDao.java index 8ff915681..5594aa4de 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogTailDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogTailDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogstoreDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogstoreDao.java index 0f002d642..e4515ee61 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogstoreDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogLogstoreDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogMachineDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogMachineDao.java index c3254f084..b2d09d0b3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogMachineDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogMachineDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogMiddlewareConfigDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogMiddlewareConfigDao.java index 6d5dc242a..3be2fc04b 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogMiddlewareConfigDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogMiddlewareConfigDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogRegionAvailableZoneDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogRegionAvailableZoneDao.java index 0132a3956..a05284702 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogRegionAvailableZoneDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogRegionAvailableZoneDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogSpaceDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogSpaceDao.java index 3a492f8b6..1aab395a4 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogSpaceDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogSpaceDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogStoreSpaceAuthDao.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogStoreSpaceAuthDao.java index d2eb5416a..dc8af7c29 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogStoreSpaceAuthDao.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/dao/MilogStoreSpaceAuthDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/AnalyseLog.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/AnalyseLog.java index 33cfaf8e0..9a93fe862 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/AnalyseLog.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/AnalyseLog.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/ClusterIndexVO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/ClusterIndexVO.java index 21d9aff61..375897b1d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/ClusterIndexVO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/ClusterIndexVO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Down.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Down.java index 27c720f98..037dcea28 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Down.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Down.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/EsCluster.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/EsCluster.java index 3d72c1044..84343732c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/EsCluster.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/EsCluster.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/EsIndexTemplate.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/EsIndexTemplate.java index 2ae1c9b88..3cb191586 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/EsIndexTemplate.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/EsIndexTemplate.java @@ -1,22 +1,30 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.xiaomi.youpin.docean.anno.Service; +import com.xiaomi.youpin.docean.common.StringUtils; +import com.xiaomi.youpin.docean.plugin.es.EsService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.apache.ozhera.log.api.enums.LogTypeEnum; import org.apache.ozhera.log.common.Es; import org.apache.ozhera.log.manager.common.exception.MilogManageException; @@ -28,11 +36,6 @@ import org.apache.ozhera.log.manager.model.vo.CreateIndexTemplatePropertyCommand; import org.apache.ozhera.log.manager.model.vo.CreateOrUpdateLogStoreCmd; import org.apache.ozhera.log.manager.model.vo.UpdateIndexTemplateCommand; -import com.xiaomi.youpin.docean.anno.Service; -import com.xiaomi.youpin.docean.common.StringUtils; -import com.xiaomi.youpin.docean.plugin.es.EsService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections.CollectionUtils; import org.elasticsearch.action.admin.indices.alias.Alias; import org.elasticsearch.client.indices.CreateIndexRequest; import org.elasticsearch.client.indices.CreateIndexResponse; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogProcess.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogProcess.java index 6c361189d..d2a443d77 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogProcess.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogProcess.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogStore.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogStore.java index 0396024f5..d01cebdd9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogStore.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogStore.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogTail.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogTail.java index 22af200b2..960fed54d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogTail.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogTail.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogTemplate.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogTemplate.java index 37a21c219..f23fce0d0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogTemplate.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/LogTemplate.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/SearchLog.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/SearchLog.java index a78ae60df..f06dd3384 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/SearchLog.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/SearchLog.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Store.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Store.java index 371e6f674..d453f1efd 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Store.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Store.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Tpc.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Tpc.java index 950aeaac1..39657110e 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Tpc.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/Tpc.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/TraceLog.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/TraceLog.java index 4181f2b2a..ad1fc4aa5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/TraceLog.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/TraceLog.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/AggrCalcu.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/AggrCalcu.java index b2aa97303..6d9666313 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/AggrCalcu.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/AggrCalcu.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain.analyse; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/AggrCalcuStrategy.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/AggrCalcuStrategy.java index 36c5bc73a..beb3cf7c1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/AggrCalcuStrategy.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/AggrCalcuStrategy.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain.analyse; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/DateGroupStrategy.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/DateGroupStrategy.java index 8fe2822d9..8ec0fdc60 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/DateGroupStrategy.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/DateGroupStrategy.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain.analyse; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/FieldStrategy.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/FieldStrategy.java index 52cee0304..28b0192ac 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/FieldStrategy.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/domain/analyse/FieldStrategy.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain.analyse; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/job/EsIndexJob.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/job/EsIndexJob.java index 5d9e704c2..f30dfe34c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/job/EsIndexJob.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/job/EsIndexJob.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.job; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/job/TailLogCountJob.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/job/TailLogCountJob.java index 2d5a08dbf..ca77cc5a4 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/job/TailLogCountJob.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/job/TailLogCountJob.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.job; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseDashboardGraphRefMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseDashboardGraphRefMapper.java index e1dbe7bbd..880169ec3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseDashboardGraphRefMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseDashboardGraphRefMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseDashboardMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseDashboardMapper.java index f6028967a..e133533b9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseDashboardMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseDashboardMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseGraphMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseGraphMapper.java index 84400ef80..537344fb4 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseGraphMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseGraphMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseGraphTypeMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseGraphTypeMapper.java index 82b730709..9dd192b27 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseGraphTypeMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogAnalyseGraphTypeMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogEsClusterMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogEsClusterMapper.java index 35e6af156..40eb2ed70 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogEsClusterMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogEsClusterMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogEsIndexMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogEsIndexMapper.java index f9a21375b..abc60aa97 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogEsIndexMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogEsIndexMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogCountMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogCountMapper.java index 7e78b461d..90eba4c40 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogCountMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogCountMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogNumAlertMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogNumAlertMapper.java index ab2b247e8..c70968f98 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogNumAlertMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogNumAlertMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogProcessMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogProcessMapper.java index a8883bd63..6bd5d9dd0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogProcessMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogProcessMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogSearchSaveMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogSearchSaveMapper.java index af87f6b18..181ec4cac 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogSearchSaveMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogSearchSaveMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogTemplateDetailMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogTemplateDetailMapper.java index da5044d78..719747e8a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogTemplateDetailMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogTemplateDetailMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogTemplateMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogTemplateMapper.java index 850a692ea..3569e30a9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogTemplateMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogTemplateMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogstailMapper.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogstailMapper.java index 4aac724df..63f895735 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogstailMapper.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/mapper/MilogLogstailMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AccessMilogParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AccessMilogParam.java index f644f5876..c43a759ce 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AccessMilogParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AccessMilogParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AppTopicParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AppTopicParam.java index b58328e17..3fe75682e 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AppTopicParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AppTopicParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AutoAccessLogParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AutoAccessLogParam.java index 291556393..442f9dda7 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AutoAccessLogParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/AutoAccessLogParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/BatchQueryParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/BatchQueryParam.java index e5dc012d3..381a13bf1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/BatchQueryParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/BatchQueryParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/CalcuAggrParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/CalcuAggrParam.java index d7f5e7872..efcbb4f99 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/CalcuAggrParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/CalcuAggrParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/EsStatisticParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/EsStatisticParam.java index 127d0b868..ea968d446 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/EsStatisticParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/EsStatisticParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/IpPartitionBalance.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/IpPartitionBalance.java index b9b0c1cf2..ebcdd3ba3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/IpPartitionBalance.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/IpPartitionBalance.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/LogTailParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/LogTailParam.java index 5161deb7a..42ae870bd 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/LogTailParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/LogTailParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachineParamParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachineParamParam.java index adbea63f7..19a8e6330 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachineParamParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachineParamParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachinePartitionBalance.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachinePartitionBalance.java index ac1616f73..06fbee9ec 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachinePartitionBalance.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachinePartitionBalance.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachineQueryParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachineQueryParam.java index df929c2b2..6455479e1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachineQueryParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MachineQueryParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareAddParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareAddParam.java index 9c0c0b4a6..bc442215a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareAddParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareAddParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareQueryParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareQueryParam.java index 8e9987057..dcad442c6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareQueryParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareQueryParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareUpdateParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareUpdateParam.java index 56f8d6680..0ed34c017 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareUpdateParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MiddlewareUpdateParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogAgentIpParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogAgentIpParam.java index ddb213fba..8ce0d0312 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogAgentIpParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogAgentIpParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogDictionaryParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogDictionaryParam.java index 616dbe2d6..52338e802 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogDictionaryParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogDictionaryParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogLogstoreBo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogLogstoreBo.java index ddef8abb6..07ae9ffca 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogLogstoreBo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogLogstoreBo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogPageParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogPageParam.java index 2844c6f60..4c9c67f6c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogPageParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MilogPageParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MlogParseParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MlogParseParam.java index ffe3b35b1..6df2e571c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MlogParseParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/MlogParseParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/RegionZoneBo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/RegionZoneBo.java index b871e54bd..d927985af 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/RegionZoneBo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/RegionZoneBo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/RocketMqStatisticParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/RocketMqStatisticParam.java index 542a4e6e9..e38f00f00 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/RocketMqStatisticParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/RocketMqStatisticParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/SpacePartitionBalance.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/SpacePartitionBalance.java index 412ae8616..0e783fbc7 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/SpacePartitionBalance.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/SpacePartitionBalance.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/StoreSpaceAuth.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/StoreSpaceAuth.java index d7b381756..31ff53799 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/StoreSpaceAuth.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/bo/StoreSpaceAuth.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.bo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogQuery.java index 77bdc3121..d6f8a21a9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogQuery.java @@ -37,6 +37,7 @@ public class LogQuery implements Serializable { private String sortKey = "timestamp"; private Boolean asc = false; private Long[] appIds; + private String statField; public LogQuery() { } diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/BaseService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/BaseService.java index 5f4da1c58..f588cd26b 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/BaseService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/BaseService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/CommonRocketMqService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/CommonRocketMqService.java index 8552377ce..dc33530cc 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/CommonRocketMqService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/CommonRocketMqService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsDataBaseService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsDataBaseService.java index 8a610fdb9..7a66bdc8d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsDataBaseService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsDataBaseService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsDataService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsDataService.java index a434b2dbd..5938f4fd8 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsDataService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsDataService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsIndexOperateService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsIndexOperateService.java index a49cb156f..9d1d36082 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsIndexOperateService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsIndexOperateService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsIndexTemplateService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsIndexTemplateService.java index d5afa247f..6edf9d7d3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsIndexTemplateService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/EsIndexTemplateService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeraAppEnvService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeraAppEnvService.java index e58d51754..9d8fd0e6a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeraAppEnvService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeraAppEnvService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeraAppService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeraAppService.java index f8183fb24..6757ecfbb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeraAppService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeraAppService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeralogHomePageService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeralogHomePageService.java index f954abc17..c48bf3cec 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeralogHomePageService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/HeralogHomePageService.java @@ -1,19 +1,21 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ - package org.apache.ozhera.log.manager.service; import org.apache.ozhera.log.common.Result; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogEsClusterService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogEsClusterService.java index 0d3f9e3c0..bb6776496 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogEsClusterService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogEsClusterService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogEsIndexService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogEsIndexService.java index fb973d4bc..43dce9965 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogEsIndexService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogEsIndexService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogLogSearchSaveService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogLogSearchSaveService.java index f3744e8d4..c958ca134 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogLogSearchSaveService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/IMilogLogSearchSaveService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogAnalyseService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogAnalyseService.java index bb010b417..3e4e57830 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogAnalyseService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogAnalyseService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogCountService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogCountService.java index 045e1015f..d6ce882b0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogCountService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogCountService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogQueryService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogQueryService.java index 270d35e13..f4b8ef8dc 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogQueryService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogQueryService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogSearchSaveService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogSearchSaveService.java index e4ab32ecc..699a7723f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogSearchSaveService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogSearchSaveService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogSpaceService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogSpaceService.java index 50532b8c4..02fd8fc1f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogSpaceService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogSpaceService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogStoreService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogStoreService.java index b0c4eb2c3..83b4098eb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogStoreService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogStoreService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTailService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTailService.java index 99aef3d5a..f9d2f60aa 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTailService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTailService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTemplateService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTemplateService.java index 3cba68701..64c3cc36f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTemplateService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/LogTemplateService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MiLogMetaManageService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MiLogMetaManageService.java index 85bb1dc0b..53a136a75 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MiLogMetaManageService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MiLogMetaManageService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogAppMiddlewareRelService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogAppMiddlewareRelService.java index 2d49aa197..d655776a5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogAppMiddlewareRelService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogAppMiddlewareRelService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogConfigNacosService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogConfigNacosService.java index 2f5f62ec9..b18440f8c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogConfigNacosService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogConfigNacosService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogDictionaryService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogDictionaryService.java index e464698b4..97902ab2c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogDictionaryService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogDictionaryService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogMachineService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogMachineService.java index fa1e18b51..2cd9dbe78 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogMachineService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogMachineService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogMiddlewareConfigService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogMiddlewareConfigService.java index 857288148..0c42ff0f0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogMiddlewareConfigService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogMiddlewareConfigService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogStoreSpaceAuthService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogStoreSpaceAuthService.java index 50e643c84..7685d2e51 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogStoreSpaceAuthService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogStoreSpaceAuthService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogStreamService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogStreamService.java index 6e299459e..2a84e5e14 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogStreamService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MilogStreamService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MqConfigService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MqConfigService.java index 3732c7a6d..44f3cd069 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MqConfigService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/MqConfigService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/SpaceAuthService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/SpaceAuthService.java index 000ca23bc..79559c115 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/SpaceAuthService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/SpaceAuthService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/StatisticsService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/StatisticsService.java index 4525d944d..2ef158a06 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/StatisticsService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/StatisticsService.java @@ -1,19 +1,21 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ - package org.apache.ozhera.log.manager.service; import org.apache.ozhera.log.common.Result; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/StreamPartitionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/StreamPartitionService.java index d0ef65756..04029af37 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/StreamPartitionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/StreamPartitionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/ConfigLogTypeProcessor.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/ConfigLogTypeProcessor.java index be2ab2291..7567ef195 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/ConfigLogTypeProcessor.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/ConfigLogTypeProcessor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.bind; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/DataSourceLogTypeProcessor.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/DataSourceLogTypeProcessor.java index ef06d0c19..30f3809f5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/DataSourceLogTypeProcessor.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/DataSourceLogTypeProcessor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.bind; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/LogTypeProcessor.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/LogTypeProcessor.java index a5f435a6a..1c7c38eea 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/LogTypeProcessor.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/LogTypeProcessor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.bind; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/LogTypeProcessorFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/LogTypeProcessorFactory.java index e46cc81d3..dbdf73bc4 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/LogTypeProcessorFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/LogTypeProcessorFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.bind; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/Processor.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/Processor.java index f8b55cf00..28be2e17d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/Processor.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/Processor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.bind; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/package-info.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/package-info.java index 39394b26e..16f055245 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/package-info.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/bind/package-info.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ /** * @description diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/consumer/MioneRocketMqConsumer.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/consumer/MioneRocketMqConsumer.java index b6a2a3fcc..52ca5be13 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/consumer/MioneRocketMqConsumer.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/consumer/MioneRocketMqConsumer.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.consumer; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/consumer/RocketMqConsumer.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/consumer/RocketMqConsumer.java index c634ea398..0f7edd941 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/consumer/RocketMqConsumer.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/consumer/RocketMqConsumer.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.consumer; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/HeraEnvIpService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/HeraEnvIpService.java index 09128f5d0..5b74938ce 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/HeraEnvIpService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/HeraEnvIpService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.env; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/HeraEnvIpServiceFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/HeraEnvIpServiceFactory.java index d3a31babf..53c4c1281 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/HeraEnvIpServiceFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/HeraEnvIpServiceFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.env; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/MoneHeraEnvIpService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/MoneHeraEnvIpService.java index be675fdcd..1f03c4078 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/MoneHeraEnvIpService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/env/MoneHeraEnvIpService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.env; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentService.java index db7a437a0..2e950e121 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.agent; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentServiceFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentServiceFactory.java index 109c0f446..bb5ec5d11 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentServiceFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentServiceFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.agent; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentServiceImpl.java index fd2552e6e..79d5e16fb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/agent/MilogAgentServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.agent; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/CommonExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/CommonExtensionService.java index 49e702958..f0e1086be 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/CommonExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/CommonExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/CommonExtensionServiceFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/CommonExtensionServiceFactory.java index a7b13f332..02efa952c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/CommonExtensionServiceFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/CommonExtensionServiceFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/DefaultCommonExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/DefaultCommonExtensionService.java index 27baf57b4..947782d56 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/DefaultCommonExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/common/DefaultCommonExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.common; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DefaultDictionaryExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DefaultDictionaryExtensionService.java index f6415d5c1..aed5c6ca2 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DefaultDictionaryExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DefaultDictionaryExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.dictionary; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DictionaryExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DictionaryExtensionService.java index fd112e06d..ffdc11f5a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DictionaryExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DictionaryExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.dictionary; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DictionaryExtensionServiceFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DictionaryExtensionServiceFactory.java index 3edc2a41e..cb4941f56 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DictionaryExtensionServiceFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/dictionary/DictionaryExtensionServiceFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.dictionary; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/DefaultResourceExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/DefaultResourceExtensionService.java index 4cdceb042..b686aee68 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/DefaultResourceExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/DefaultResourceExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.resource; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/ResourceExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/ResourceExtensionService.java index e618812a7..939bf6444 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/ResourceExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/ResourceExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.resource; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/ResourceExtensionServiceFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/ResourceExtensionServiceFactory.java index 462dc7ae7..fb44d3577 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/ResourceExtensionServiceFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/resource/ResourceExtensionServiceFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.resource; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/DefaultStoreExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/DefaultStoreExtensionService.java index b0bd993c3..c7b48938f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/DefaultStoreExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/DefaultStoreExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.store; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/DorisLogStorageService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/DorisLogStorageService.java index a4bc0960b..2bdc2d815 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/DorisLogStorageService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/DorisLogStorageService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.store; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/EsLogStorageService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/EsLogStorageService.java index a6c963fc2..30863970e 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/EsLogStorageService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/EsLogStorageService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.store; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/LogStorageService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/LogStorageService.java index a964f4678..bb08d1597 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/LogStorageService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/LogStorageService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.store; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/StoreExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/StoreExtensionService.java index 4a4f2f809..057e04466 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/StoreExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/StoreExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.store; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/StoreExtensionServiceFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/StoreExtensionServiceFactory.java index ea8c0da79..a2d2ef8dd 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/StoreExtensionServiceFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/store/StoreExtensionServiceFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.store; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/DefaultTailExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/DefaultTailExtensionService.java index 50ebb3640..42a77b714 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/DefaultTailExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/DefaultTailExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.tail; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/TailExtensionService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/TailExtensionService.java index 6b1fd2f9d..3f81fafda 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/TailExtensionService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/TailExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.tail; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/TailExtensionServiceFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/TailExtensionServiceFactory.java index 7b9fa49bc..db4b18c8f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/TailExtensionServiceFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/extension/tail/TailExtensionServiceFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.extension.tail; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/AgentConfigServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/AgentConfigServiceImpl.java index f4ba6e415..d14e7857d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/AgentConfigServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/AgentConfigServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsDataServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsDataServiceImpl.java index 290da7853..601c8e4c0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsDataServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsDataServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsIndexOperateServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsIndexOperateServiceImpl.java index 5cbed9058..092e2b5cb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsIndexOperateServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsIndexOperateServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsIndexTemplateServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsIndexTemplateServiceImpl.java index 5a4049ea3..b909c0193 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsIndexTemplateServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/EsIndexTemplateServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeraAppEnvServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeraAppEnvServiceImpl.java index c5f0f1d77..0c6f6e703 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeraAppEnvServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeraAppEnvServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeraAppServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeraAppServiceImpl.java index 6cb59741c..08e4ab518 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeraAppServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeraAppServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeralogHomePageServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeralogHomePageServiceImpl.java index 34420eb41..d4c8373fb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeralogHomePageServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/HeralogHomePageServiceImpl.java @@ -1,19 +1,21 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ - package org.apache.ozhera.log.manager.service.impl; import com.google.common.collect.Lists; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/KafkaMqConfigService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/KafkaMqConfigService.java index 307422399..748bf3fc2 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/KafkaMqConfigService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/KafkaMqConfigService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogAnalyseService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogAnalyseService.java index a30f6162f..fa5a41290 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogAnalyseService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogAnalyseService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogCountServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogCountServiceImpl.java index 823cb34ac..c828b2ba1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogCountServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogCountServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogProcessServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogProcessServiceImpl.java index ec1963e72..c07cd6465 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogProcessServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogProcessServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogQueryServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogQueryServiceImpl.java index 413c35342..292ebd19a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogQueryServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogQueryServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogSearchSaveServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogSearchSaveServiceImpl.java index 9e8dfc4de..2fa00c94a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogSearchSaveServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogSearchSaveServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogSpaceServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogSpaceServiceImpl.java index 8d9940ec6..abaf72aaf 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogSpaceServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogSpaceServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogStoreServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogStoreServiceImpl.java index 0d08b4fae..5a9b99ebf 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogStoreServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogStoreServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImpl.java index 227e3a2ec..7d975ce02 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImpl.java index d10eade49..9d2187af8 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MiLogMetaManageServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MiLogMetaManageServiceImpl.java index 73c9c13a2..034d7a744 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MiLogMetaManageServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MiLogMetaManageServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogAppMiddlewareRelServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogAppMiddlewareRelServiceImpl.java index 022c80a67..185c77562 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogAppMiddlewareRelServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogAppMiddlewareRelServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogConfigNacosServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogConfigNacosServiceImpl.java index b1db78bcb..eb22b7c94 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogConfigNacosServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogConfigNacosServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogDictionaryServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogDictionaryServiceImpl.java index 87bea5e7b..5bc9fd303 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogDictionaryServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogDictionaryServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogEsClusterServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogEsClusterServiceImpl.java index 5d794be10..89047cb07 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogEsClusterServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogEsClusterServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogEsIndexServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogEsIndexServiceImpl.java index 7c8594066..2f136ec5c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogEsIndexServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogEsIndexServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogLogSearchSaveServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogLogSearchSaveServiceImpl.java index ef60bfb0e..95378745d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogLogSearchSaveServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogLogSearchSaveServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogMachineServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogMachineServiceImpl.java index 2a8a94b1e..8dd717dea 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogMachineServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogMachineServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogMiddlewareConfigServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogMiddlewareConfigServiceImpl.java index ab54833f1..7a765fb9d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogMiddlewareConfigServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogMiddlewareConfigServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogOpenServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogOpenServiceImpl.java index 66f22cb7d..ab0f1790a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogOpenServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogOpenServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogStoreSpaceAuthServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogStoreSpaceAuthServiceImpl.java index fad7b9e2d..61064d180 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogStoreSpaceAuthServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogStoreSpaceAuthServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogStreamServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogStreamServiceImpl.java index 8d5af6bba..76e2a6c76 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogStreamServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/MilogStreamServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/RocketMqConfigService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/RocketMqConfigService.java index 8dfb54cc0..f7ddd7168 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/RocketMqConfigService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/RocketMqConfigService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StatisticsServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StatisticsServiceImpl.java index f10066924..87f6b9f5d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StatisticsServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StatisticsServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StreamPartitionServiceImpl.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StreamPartitionServiceImpl.java index 567f38a12..64a1b26f7 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StreamPartitionServiceImpl.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/StreamPartitionServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/TpcSpaceAuthService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/TpcSpaceAuthService.java index b833c3a0e..2a8d0a6f6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/TpcSpaceAuthService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/impl/TpcSpaceAuthService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/AnalyseGraphTypeService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/AnalyseGraphTypeService.java index 4bb9c0d39..9c90bd6cd 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/AnalyseGraphTypeService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/AnalyseGraphTypeService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.init_sql; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/HeraLogTemplateService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/HeraLogTemplateService.java index 5dc97282b..0731a49e3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/HeraLogTemplateService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/HeraLogTemplateService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.init_sql; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/NcosConfigSqlService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/NcosConfigSqlService.java index 859372a00..90a1a672c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/NcosConfigSqlService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/NcosConfigSqlService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.init_sql; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/package-info.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/package-info.java index 237261837..3a6b9fe64 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/package-info.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/init_sql/package-info.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.init_sql; /** diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/listener/AutoLogAccessListener.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/listener/AutoLogAccessListener.java index 9ca5b66c2..67a006293 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/listener/AutoLogAccessListener.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/listener/AutoLogAccessListener.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.listener; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/Converter.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/Converter.java index 2f8160a9b..9c2905289 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/Converter.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/Converter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/DynamicConfigProvider.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/DynamicConfigProvider.java index eceea5663..3c70150d9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/DynamicConfigProvider.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/DynamicConfigProvider.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/DynamicConfigPublisher.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/DynamicConfigPublisher.java index 34690cb31..a0f057837 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/DynamicConfigPublisher.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/DynamicConfigPublisher.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/FetchStreamMachineService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/FetchStreamMachineService.java index 0d82098e1..9877cc208 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/FetchStreamMachineService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/FetchStreamMachineService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/InitService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/InitService.java index 8f6a84681..89d04e8b9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/InitService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/InitService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/MultipleNacosConfig.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/MultipleNacosConfig.java index 87ff78d3e..54388f4fd 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/MultipleNacosConfig.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/MultipleNacosConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/NacosFetchStreamMachineService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/NacosFetchStreamMachineService.java index fe54f941f..5bc60cb40 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/NacosFetchStreamMachineService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/NacosFetchStreamMachineService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/SpaceConfigNacosProvider.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/SpaceConfigNacosProvider.java index f8c555b2f..ee69ce30f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/SpaceConfigNacosProvider.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/SpaceConfigNacosProvider.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/SpaceConfigNacosPublisher.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/SpaceConfigNacosPublisher.java index a540f001e..4298c02dd 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/SpaceConfigNacosPublisher.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/SpaceConfigNacosPublisher.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/StreamConfigNacosProvider.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/StreamConfigNacosProvider.java index 2265d6020..2768249ce 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/StreamConfigNacosProvider.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/StreamConfigNacosProvider.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/StreamConfigNacosPublisher.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/StreamConfigNacosPublisher.java index 8a6876daf..ca7509d64 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/StreamConfigNacosPublisher.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/nacos/impl/StreamConfigNacosPublisher.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.nacos.impl; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/LogPathMapping.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/LogPathMapping.java index cf99ea1d1..111a61431 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/LogPathMapping.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/LogPathMapping.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.path; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/LogPathMappingFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/LogPathMappingFactory.java index b253acc64..6ee66726f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/LogPathMappingFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/LogPathMappingFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.path; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/MoneLogPathMapping.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/MoneLogPathMapping.java index ade84a2f6..feef1c8e3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/MoneLogPathMapping.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/path/MoneLogPathMapping.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.path; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/AndAllStatementMatchParse.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/AndAllStatementMatchParse.java index 32ba400c2..03b165b15 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/AndAllStatementMatchParse.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/AndAllStatementMatchParse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/MustNotStatementMatchParse.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/MustNotStatementMatchParse.java index 663c2d140..c5b05bd0c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/MustNotStatementMatchParse.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/MustNotStatementMatchParse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/MustStatementMatchParse.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/MustStatementMatchParse.java index 12c415e5f..4f52ecc1d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/MustStatementMatchParse.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/MustStatementMatchParse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/NotAllStatementMatchParse.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/NotAllStatementMatchParse.java index a55ead632..660c33bbf 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/NotAllStatementMatchParse.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/NotAllStatementMatchParse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OperatorData.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OperatorData.java index 64e5b44da..9adc39462 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OperatorData.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OperatorData.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OperatorSlice.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OperatorSlice.java index 4eb873266..7a517dc9f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OperatorSlice.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OperatorSlice.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OrAllStatementMatchParse.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OrAllStatementMatchParse.java index e54dc9696..dac011275 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OrAllStatementMatchParse.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OrAllStatementMatchParse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OrStatementMatchParse.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OrStatementMatchParse.java index 31458ef34..4be552ee0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OrStatementMatchParse.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/OrStatementMatchParse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/QueryEntity.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/QueryEntity.java index 14c44dcae..0931b2510 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/QueryEntity.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/QueryEntity.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/StatementMatchParse.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/StatementMatchParse.java index b7084dc67..800fdcb5a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/StatementMatchParse.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/StatementMatchParse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/StatementMatchParseFactory.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/StatementMatchParseFactory.java index fff6061cf..f5cf4e10c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/StatementMatchParseFactory.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/service/statement/StatementMatchParseFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.statement; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUser.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUser.java index 1fcf28258..6a71310e9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUser.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.user; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUserDetailService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUserDetailService.java index 47b5d6bfe..dac8880e9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUserDetailService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUserDetailService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.user; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUtil.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUtil.java index 00a9e34e0..2d565ef2a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUtil.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/MoneUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.user; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/UseDetailInfo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/UseDetailInfo.java index 4cf981a5d..10feed6d6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/UseDetailInfo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/UseDetailInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.user; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/UserIDService.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/UserIDService.java index 16937e2f0..6ee9b241f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/UserIDService.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/user/UserIDService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.user; diff --git a/ozhera-log/log-manager/src/main/resources/config.properties b/ozhera-log/log-manager/src/main/resources/config.properties index 122546ccc..f5559794a 100644 --- a/ozhera-log/log-manager/src/main/resources/config.properties +++ b/ozhera-log/log-manager/src/main/resources/config.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. nacosAddr=${nacosAddr} defaultNacosAddres=${defaultNacosAddres} nacos_config_dataid=${nacos_config_dataid} diff --git a/ozhera-log/log-manager/src/main/resources/config/open.properties b/ozhera-log/log-manager/src/main/resources/config/open.properties index 4b7a2636e..c1827fefd 100644 --- a/ozhera-log/log-manager/src/main/resources/config/open.properties +++ b/ozhera-log/log-manager/src/main/resources/config/open.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. nacosAddr=nacos:80 defaultNacosAddres=nacos:80 diff --git a/ozhera-log/log-manager/src/main/resources/log.sql b/ozhera-log/log-manager/src/main/resources/log.sql index f97a51d11..01df753c3 100644 --- a/ozhera-log/log-manager/src/main/resources/log.sql +++ b/ozhera-log/log-manager/src/main/resources/log.sql @@ -1,4 +1,21 @@ - +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; diff --git a/ozhera-log/log-manager/src/main/resources/logback.xml b/ozhera-log/log-manager/src/main/resources/logback.xml index 26a914d6e..2b5ddab07 100644 --- a/ozhera-log/log-manager/src/main/resources/logback.xml +++ b/ozhera-log/log-manager/src/main/resources/logback.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseDashboardGraphRefMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseDashboardGraphRefMapper.xml index 53b491a95..21e46941e 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseDashboardGraphRefMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseDashboardGraphRefMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseDashboardMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseDashboardMapper.xml index 60f01cc17..64f5ff02b 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseDashboardMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseDashboardMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseGraphMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseGraphMapper.xml index 8398f13b8..aacb82074 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseGraphMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseGraphMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseGraphTypeMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseGraphTypeMapper.xml index a0c17e45c..db88167ca 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseGraphTypeMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogAnalyseGraphTypeMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogEsClusterMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogEsClusterMapper.xml index b71e13732..cb5af4934 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogEsClusterMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogEsClusterMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogEsIndexMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogEsIndexMapper.xml index 463e9628d..fb8808838 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogEsIndexMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogEsIndexMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogCountMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogCountMapper.xml index fbd25d047..651c4c25f 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogCountMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogCountMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogNumAlertMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogNumAlertMapper.xml index fd8b365c4..50fb7226c 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogNumAlertMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogNumAlertMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogProcessMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogProcessMapper.xml index ff243f680..483a0300c 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogProcessMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogProcessMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogSearchSaveMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogSearchSaveMapper.xml index c1d6e4274..b7c118791 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogSearchSaveMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogSearchSaveMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogTemplateDetailMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogTemplateDetailMapper.xml index 4cc68d4bc..2f6c85513 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogTemplateDetailMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogTemplateDetailMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogTemplateMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogTemplateMapper.xml index 893c9a528..ff3e16de7 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogTemplateMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogTemplateMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogstailMapper.xml b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogstailMapper.xml index c2448b7df..d5132e59c 100644 --- a/ozhera-log/log-manager/src/main/resources/mapper/MilogLogstailMapper.xml +++ b/ozhera-log/log-manager/src/main/resources/mapper/MilogLogstailMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-log/log-manager/src/main/resources/sql/log-data.sql b/ozhera-log/log-manager/src/main/resources/sql/log-data.sql index 3ac9c60f6..d06cb66a4 100644 --- a/ozhera-log/log-manager/src/main/resources/sql/log-data.sql +++ b/ozhera-log/log-manager/src/main/resources/sql/log-data.sql @@ -1,18 +1,21 @@ /* - Navicat Premium Data Transfer - - Source Server : milog - Source Server Type : MySQL - Source Server Version : 50725 - Source Host : 127.0.0.1:4100 - Source Schema : milog - - Target Server Type : MySQL - Target Server Version : 50725 - File Encoding : 65001 - - Date: 29/11/2022 11:36:55 -*/ + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; diff --git a/ozhera-log/log-manager/src/main/resources/sql/log.sql b/ozhera-log/log-manager/src/main/resources/sql/log.sql index c306fa037..5b0076a55 100644 --- a/ozhera-log/log-manager/src/main/resources/sql/log.sql +++ b/ozhera-log/log-manager/src/main/resources/sql/log.sql @@ -1,18 +1,21 @@ /* - Navicat Premium Data Transfer - - Source Server : milog - Source Server Type : MySQL - Source Server Version : 50725 - Source Host : 127.0.0.1:4100 - Source Schema : milog - - Target Server Type : MySQL - Target Server Version : 50725 - File Encoding : 65001 - - Date: 29/11/2022 11:36:26 -*/ + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ SET NAMES utf8mb4; SET diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/AgentHearJobTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/AgentHearJobTest.java index df838e6fb..4032a6eb2 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/AgentHearJobTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/AgentHearJobTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/CodeGenerator.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/CodeGenerator.java index 01b286691..dbc429709 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/CodeGenerator.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/CodeGenerator.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/CommonTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/CommonTest.java index 36dada285..477eada56 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/CommonTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/CommonTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/DevoraFlinkTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/DevoraFlinkTest.java index 93cec170c..c2ffda02e 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/DevoraFlinkTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/DevoraFlinkTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/FunctionalInterfaceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/FunctionalInterfaceTest.java index ae4a09c71..8f76ff189 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/FunctionalInterfaceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/FunctionalInterfaceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/HttpClientTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/HttpClientTest.java index 3d000d383..911b3877f 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/HttpClientTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/HttpClientTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/ManagerUtilTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/ManagerUtilTest.java index 70f3f017d..468433df9 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/ManagerUtilTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/ManagerUtilTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/MilogAccessHelperTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/MilogAccessHelperTest.java index 559799d0f..7cfaa9d08 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/MilogAccessHelperTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/MilogAccessHelperTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/RateLimiterTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/RateLimiterTest.java index 5cc1adf57..bb857122c 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/RateLimiterTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/RateLimiterTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/TestHttpClient.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/TestHttpClient.java new file mode 100644 index 000000000..5cb85b144 --- /dev/null +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/TestHttpClient.java @@ -0,0 +1,96 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.manager; + +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpRequestRetryHandler; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.impl.client.StandardHttpRequestRetryHandler; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; + +import java.io.IOException; +import java.io.InputStream; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2024/2/26 17:03 + */ +public class TestHttpClient { + + public static void main(String[] args) { + // 创建HTTP客户端并配置连接池 + PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); + connectionManager.setMaxTotal(4); + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(2000).setConnectionRequestTimeout(2000).setSocketTimeout(4000).build(); + HttpRequestRetryHandler retryHandler = new StandardHttpRequestRetryHandler(); + CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connectionManager).setDefaultRequestConfig(requestConfig).setRetryHandler(retryHandler).build(); + + // 创建线程池 + ExecutorService executorService = Executors.newFixedThreadPool(20); + + try { + for (int i = 0; i < 100; i++) { + // 提交任务给线程池 + executorService.execute(() -> { + // 创建GET请求 + HttpGet httpGet = new HttpGet("http://localhost:9905/nacos/#/configeditor?serverId=center&dataId=hera_log_manager_open&group=DEFAULT_GROUP&namespace=&edasAppName=&edasAppId=&searchDataId=&searchGroup="); + + try { + // 执行请求 + CloseableHttpResponse response = httpClient.execute(httpGet); + try { + // 获取响应实体 + HttpEntity entity = response.getEntity(); + if (entity != null) { + // 处理响应内容,这里简单打印响应的状态码和内容 + System.out.println("Response status: " + response.getStatusLine()); + System.out.println("Response content: " + entity.getContent()); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (null != response) { + response.close(); + } + } catch (IOException var19) { + var19.printStackTrace(); + } + + } + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } finally { + // 关闭线程池 + executorService.shutdown(); + } + } +} diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/bootstrap/LogStoragePluginTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/bootstrap/LogStoragePluginTest.java index b83b66edc..80c713b8c 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/bootstrap/LogStoragePluginTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/bootstrap/LogStoragePluginTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.bootstrap; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/dao/LogStoreDaoTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/dao/LogStoreDaoTest.java index b40f8cdf3..1d4f5c2ad 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/dao/LogStoreDaoTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/dao/LogStoreDaoTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.dao; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/AnalyseLogTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/AnalyseLogTest.java index f4360a90a..e941fe7ac 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/AnalyseLogTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/AnalyseLogTest.java @@ -1,59 +1,46 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.log.manager.domain; -// -//import com.xiaomi.mone.log.manager.model.dto.LogAnalyseDataDTO; -//import com.xiaomi.mone.log.manager.model.vo.LogAnalyseDataQuery; -//import com.xiaomi.youpin.docean.Ioc; -//import org.junit.Before; -//import org.junit.Test; -// -//import java.io.IOException; -// -//public class AnalyseLogTest { -// private AnalyseLog analyseLog; -// -// @Before -// public void pushBean() { -// Ioc.ins().init("com.xiaomi"); -// analyseLog = Ioc.ins().getBean(AnalyseLog.class); -// } -// -// @Test -// public void getData() throws IOException { -// LogAnalyseDataQuery query = new LogAnalyseDataQuery(); -// query.setGraphId(1l); -// query.setStartTime(1661858725000l); -// query.setEndTime(1661862325000l); +package org.apache.ozhera.log.manager.domain; + +import com.xiaomi.youpin.docean.Ioc; +import org.apache.ozhera.log.manager.model.vo.LogAnalyseDataQuery; +import org.junit.Before; +import org.junit.Test; + +import java.io.IOException; + +public class AnalyseLogTest { + private AnalyseLog analyseLog; + + @Before + public void pushBean() { + Ioc.ins().init("com.xiaomi"); + analyseLog = Ioc.ins().getBean(AnalyseLog.class); + } + + @Test + public void getData() throws IOException { + LogAnalyseDataQuery query = new LogAnalyseDataQuery(); + query.setGraphId(1l); + query.setStartTime(1661858725000l); + query.setEndTime(1661862325000l); // LogAnalyseDataDTO data = analyseLog.getData(query); // System.out.println(data); -// } -//} \ No newline at end of file + } +} \ No newline at end of file diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/EsClusterTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/EsClusterTest.java index 82d479e5c..df2417cef 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/EsClusterTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/EsClusterTest.java @@ -1,55 +1,42 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.log.manager.domain; -// -//import com.xiaomi.mone.log.common.Constant; -//import com.xiaomi.youpin.docean.Ioc; -//import org.junit.Assert; -//import org.junit.Before; -//import org.junit.Test; -// -//public class EsClusterTest { -// -// private EsCluster esCluster; -// -// @Before -// public void pushBean() { -// Ioc.ins().init("com.xiaomi"); -// esCluster = Ioc.ins().getBean(EsCluster.class); -// } -// -// @Test -// public void getByRegion() { -// Assert.assertNull(esCluster.getByRegion("")); -// Assert.assertNull(esCluster.getByRegion(null)); +package org.apache.ozhera.log.manager.domain; + +import com.xiaomi.youpin.docean.Ioc; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class EsClusterTest { + + private EsCluster esCluster; + + @Before + public void pushBean() { + Ioc.ins().init("com.xiaomi"); + esCluster = Ioc.ins().getBean(EsCluster.class); + } + + @Test + public void getByRegion() { + Assert.assertNull(esCluster.getByRegion("")); + Assert.assertNull(esCluster.getByRegion(null)); // System.out.println(esCluster.getByRegion(Constant.ES_REGION_EROUP)); -// } -//} \ No newline at end of file + } +} \ No newline at end of file diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/LogProcessTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/LogProcessTest.java index 432b5bdaa..18aba1ef2 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/LogProcessTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/LogProcessTest.java @@ -1,77 +1,68 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.log.manager.domain; -// -//import com.xiaomi.mone.log.api.model.vo.UpdateLogProcessCmd; -//import com.xiaomi.youpin.docean.Ioc; -//import org.junit.Before; -//import org.junit.Test; -// -//import java.util.ArrayList; -//import java.util.List; -// -//public class LogProcessTest { -// private LogProcess logProcess; -// -// @Before -// public void pushBean() { -// Ioc.ins().init("com.xiaomi"); -// logProcess = Ioc.ins().getBean(LogProcess.class); -// } -// -// @Test -// public void updateAndGetLogProcess() { -// for (int j = 0; j < 3; j++) { -// String ip = "127.0.0.1." + j; -// UpdateLogProcessCmd cmd = new UpdateLogProcessCmd(); -// List collectDetailList = new ArrayList<>(); -// for (int i = 0; i < 10; i++) { -// UpdateLogProcessCmd.CollectDetail detail = new UpdateLogProcessCmd.CollectDetail(); -// detail.setAppId(i * 1l); -// detail.setAppName("appName"); -//// detail.setCollectTime(System.currentTimeMillis()); -//// detail.setPointer(i * 10l); -//// detail.setPath("home/so/server" + i + ".log"); -//// detail.setFileRowNumber( i * 10l); -//// detail.setPattern("/"); -//// collectDetailList.add(detail); -// } -// cmd.setIp(ip); -// cmd.setCollectList(collectDetailList); -// logProcess.updateLogProcess(cmd); -// } +package org.apache.ozhera.log.manager.domain; + +import com.xiaomi.youpin.docean.Ioc; +import org.apache.ozhera.log.api.model.vo.UpdateLogProcessCmd; +import org.jetbrains.annotations.NotNull; +import org.junit.Before; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +public class LogProcessTest { + private LogProcess logProcess; + + @Before + public void pushBean() { + Ioc.ins().init("com.xiaomi"); + logProcess = Ioc.ins().getBean(LogProcess.class); + } + + @Test + public void updateAndGetLogProcess() { + for (int j = 0; j < 3; j++) { + UpdateLogProcessCmd cmd = getUpdateLogProcessCmd(j); + logProcess.updateLogProcess(cmd); + } // logProcess.getAgentLogProcess("127.0.0.1").forEach(System.out::println); // System.out.println("======================"); // logProcess.getAgentLogProcess("127.0.0.1").forEach(System.out::println); // System.out.println("======================"); // logProcess.getAgentLogProcess("127.0.0.1").forEach(System.out::println); -// } -//} \ No newline at end of file + } + + @NotNull + private static UpdateLogProcessCmd getUpdateLogProcessCmd(int j) { + String ip = "127.0.0.1." + j; + UpdateLogProcessCmd cmd = new UpdateLogProcessCmd(); + List collectDetailList = new ArrayList<>(); + for (int i = 0; i < 10; i++) { + UpdateLogProcessCmd.CollectDetail detail = new UpdateLogProcessCmd.CollectDetail(); + detail.setAppId(i * 1l); + detail.setAppName("appName"); + detail.setPath("home/so/server" + i + ".log"); + collectDetailList.add(detail); + } + cmd.setIp(ip); + cmd.setCollectList(collectDetailList); + return cmd; + } +} \ No newline at end of file diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/LogTemplateTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/LogTemplateTest.java index 575591ccf..3e326652a 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/LogTemplateTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/LogTemplateTest.java @@ -1,27 +1,31 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain; +import com.xiaomi.youpin.docean.Ioc; import org.junit.Test; public class LogTemplateTest { @Test public void createAppTemplate() { -// Ioc.ins().init("com.xiaomi"); -// LogTemplate logTemplate = Ioc.ins().getBean(LogTemplate.class); + Ioc.ins().init("com.xiaomi"); + LogTemplate logTemplate = Ioc.ins().getBean(LogTemplate.class); // logTemplate.createAppTemplate(); } } \ No newline at end of file diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/analyse/TopTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/analyse/TopTest.java index ebbf44fee..c5a48285d 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/analyse/TopTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/domain/analyse/TopTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.domain.analyse; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/esParse/StatementMatchParseFactoryTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/esParse/StatementMatchParseFactoryTest.java index ae6d152c2..d4c841b29 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/esParse/StatementMatchParseFactoryTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/esParse/StatementMatchParseFactoryTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.esParse; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/esParse/StatementMatchParseTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/esParse/StatementMatchParseTest.java index 4f688a6a1..d33299b21 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/esParse/StatementMatchParseTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/esParse/StatementMatchParseTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.esParse; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/filter/cons/RateLimitConsTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/filter/cons/RateLimitConsTest.java index 8c0dd30c8..b1f3b2106 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/filter/cons/RateLimitConsTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/filter/cons/RateLimitConsTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.filter.cons; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/mapper/MilogLogProcessMapperTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/mapper/MilogLogProcessMapperTest.java index 931c38b9c..0c5b5bd14 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/mapper/MilogLogProcessMapperTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/mapper/MilogLogProcessMapperTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.mapper; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/AlertProcessorTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/AlertProcessorTest.java index 4845bb721..8d4def348 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/AlertProcessorTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/AlertProcessorTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/DorisLogStorageServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/DorisLogStorageServiceTest.java index 47c78e10a..d8d070ba1 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/DorisLogStorageServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/DorisLogStorageServiceTest.java @@ -1,109 +1,111 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.manager.service; + +import com.google.gson.Gson; +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.log.manager.model.dto.LogStorageData; +import org.apache.ozhera.log.manager.service.extension.store.DorisLogStorageService; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import static org.apache.ozhera.log.manager.common.utils.ManagerUtil.getConfigFromNanos; + + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2023/11/10 19:16 */ -//package com.xiaomi.mone.log.manager.service; -// -//import com.google.gson.Gson; -//import com.xiaomi.mone.log.manager.model.dto.LogStorageData; -//import com.xiaomi.mone.log.manager.service.extension.store.DorisLogStorageService; -//import com.xiaomi.youpin.docean.Ioc; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.Assert; -//import org.junit.Before; -//import org.junit.Test; -// -//import java.util.Map; -// -//import static com.xiaomi.mone.log.manager.common.utils.ManagerUtil.getConfigFromNanos; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2023/11/10 19:16 -// */ -//@Slf4j -//public class DorisLogStorageServiceTest { -// -// private DorisLogStorageService dorisLogStorageService; -// private Gson gson; -// -// @Before -// public void before() { -// getConfigFromNanos(); -// Ioc.ins().init("com.xiaomi"); -// dorisLogStorageService = Ioc.ins().getBean(DorisLogStorageService.class); -// gson = new Gson(); -// } -// -// @Test -// public void buildTableName(){ -// Long clusterId = 1L; -// Long storeId = null; -// String tableName = dorisLogStorageService.buildTableName(clusterId, storeId); -// Assert.assertNotNull(tableName); -// } -// -// @Test -// public void createTableTest() throws Exception { -// LogStorageData logStorageData = new LogStorageData(); -// logStorageData.setClusterId(120002L); -// logStorageData.setStoreId(1000234L); -// logStorageData.setLogStoreName("测试logStore存储"); -// logStorageData.setKeys("timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,mid:2,originMid:2,maxRole:2,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3"); -// logStorageData.setColumnTypes("date,keyword,keyword,text,text,keyword,keyword,text,keyword,text,text,text,keyword,keyword,keyword,keyword,keyword,keyword,long"); +@Slf4j +public class DorisLogStorageServiceTest { + + private DorisLogStorageService dorisLogStorageService; + private Gson gson; + + @Before + public void before() { + getConfigFromNanos(); + Ioc.ins().init("com.xiaomi"); + dorisLogStorageService = Ioc.ins().getBean(DorisLogStorageService.class); + gson = new Gson(); + } + + @Test + public void buildTableName() { + Long clusterId = 1L; + Long storeId = null; + String tableName = dorisLogStorageService.buildTableName(clusterId, storeId); + Assert.assertNotNull(tableName); + } + + @Test + public void createTableTest() throws Exception { + LogStorageData logStorageData = new LogStorageData(); + logStorageData.setClusterId(120002L); + logStorageData.setStoreId(1000234L); + logStorageData.setLogStoreName("测试logStore存储"); + logStorageData.setKeys("timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,mid:2,originMid:2,maxRole:2,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3"); + logStorageData.setColumnTypes("date,keyword,keyword,text,text,keyword,keyword,text,keyword,text,text,text,keyword,keyword,keyword,keyword,keyword,keyword,long"); // boolean table = dorisLogStorageService.createTable(logStorageData); // Assert.assertTrue(table); -// -// } -// -// @Test -// public void testBuildFieldMap() { -// String keys = "timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,mid:2,originMid:2,maxRole:2,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3"; -// String columnTypes = "date,keyword,keyword,text,text,keyword,keyword,text,keyword,text,text,text,keyword,keyword,keyword,keyword,keyword,keyword,long"; + + } + + @Test + public void testBuildFieldMap() { + String keys = "timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,mid:2,originMid:2,maxRole:2,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3"; + String columnTypes = "date,keyword,keyword,text,text,keyword,keyword,text,keyword,text,text,text,keyword,keyword,keyword,keyword,keyword,keyword,long"; // Map fieldMap = dorisLogStorageService.buildFieldMap(keys, columnTypes); // log.info("result:{}", gson.toJson(fieldMap)); // Assert.assertNotNull(fieldMap); -// } -// -// @Test -// public void updateTableTest() throws Exception { -// String keys = "timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,mid:2,originMid:2,maxRole:2,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3"; -// String columnTypes = "date,keyword,keyword,text,text,keyword,keyword,text,keyword,text,text,text,keyword,keyword,keyword,keyword,keyword,keyword,long"; -// String updateKeys = "timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,mid:2,originMid:2,maxRole:2,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3,test2:1"; -// String updateColumnTypes = "date,keyword,keyword,text,text,keyword,keyword,text,keyword,text,text,text,keyword,keyword,keyword,keyword,keyword,keyword,long,text"; -// LogStorageData logStorageData = new LogStorageData(); -// logStorageData.setClusterId(120002L); -// logStorageData.setStoreId(10005L); -// logStorageData.setLogStoreName("测试logStore存储"); -// logStorageData.setKeys(keys); -// logStorageData.setColumnTypes(columnTypes); -// logStorageData.setUpdateKeys(updateKeys); -// logStorageData.setUpdateColumnTypes(updateColumnTypes); + } + + @Test + public void updateTableTest() throws Exception { + String keys = "timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,mid:2,originMid:2,maxRole:2,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3"; + String columnTypes = "date,keyword,keyword,text,text,keyword,keyword,text,keyword,text,text,text,keyword,keyword,keyword,keyword,keyword,keyword,long"; + String updateKeys = "timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,mid:2,originMid:2,maxRole:2,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3,test2:1"; + String updateColumnTypes = "date,keyword,keyword,text,text,keyword,keyword,text,keyword,text,text,text,keyword,keyword,keyword,keyword,keyword,keyword,long,text"; + LogStorageData logStorageData = new LogStorageData(); + logStorageData.setClusterId(120002L); + logStorageData.setStoreId(10005L); + logStorageData.setLogStoreName("测试logStore存储"); + logStorageData.setKeys(keys); + logStorageData.setColumnTypes(columnTypes); + logStorageData.setUpdateKeys(updateKeys); + logStorageData.setUpdateColumnTypes(updateColumnTypes); // boolean table = dorisLogStorageService.updateTable(logStorageData); // Assert.assertTrue(table); -// } -// -// @Test -// public void deleteTableTest() throws Exception { -// LogStorageData logStorageData = new LogStorageData(); -// logStorageData.setClusterId(120002L); -// logStorageData.setStoreId(10005L); -// logStorageData.setLogStoreName("测试logStore存储"); + } + + @Test + public void deleteTableTest() throws Exception { + LogStorageData logStorageData = new LogStorageData(); + logStorageData.setClusterId(120002L); + logStorageData.setStoreId(10005L); + logStorageData.setLogStoreName("测试logStore存储"); // boolean table = dorisLogStorageService.deleteTable(logStorageData); // Assert.assertTrue(table); -// } -// -//} + } + +} diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/EsDataServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/EsDataServiceTest.java index a4c909785..111106ac5 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/EsDataServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/EsDataServiceTest.java @@ -1,66 +1,67 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.manager.service; + +import com.google.common.collect.Lists; +import com.google.gson.Gson; +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.log.manager.model.vo.LogQuery; +import org.apache.ozhera.log.manager.service.impl.EsDataServiceImpl; +import org.junit.Before; +import org.junit.Test; + +import static org.apache.ozhera.log.manager.common.utils.ManagerUtil.getConfigFromNanos; + + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2023/11/14 11:24 */ -//package com.xiaomi.mone.log.manager.service; -// -//import com.google.common.collect.Lists; -//import com.google.gson.Gson; -//import com.xiaomi.mone.log.common.Result; -//import com.xiaomi.mone.log.manager.model.dto.LogDTO; -//import com.xiaomi.mone.log.manager.model.vo.LogQuery; -//import com.xiaomi.mone.log.manager.service.impl.EsDataServiceImpl; -//import com.xiaomi.youpin.docean.Ioc; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.Assert; -//import org.junit.Before; -//import org.junit.Test; -// -//import static com.xiaomi.mone.log.manager.common.utils.ManagerUtil.getConfigFromNanos; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2023/11/14 11:24 -// */ -//@Slf4j -//public class EsDataServiceTest { -// private EsDataServiceImpl esDataService; -// private Gson gson; -// -// @Before -// public void before() { -// getConfigFromNanos(); -// Ioc.ins().init("com.xiaomi"); -// esDataService = Ioc.ins().getBean(EsDataServiceImpl.class); -// gson = new Gson(); -// } -// -// @Test -// public void testQuery() { -// LogQuery logQuery = new LogQuery(); -// logQuery.setStoreId(120042L); -// logQuery.setTailIds(Lists.newArrayList(90028L)); -// logQuery.setTail("hera-app"); -// logQuery.setStartTime(1699427646178L); -// logQuery.setEndTime(1699958631197L); -// logQuery.setPage(1); -// logQuery.setPageSize(100); -// logQuery.setFullTextSearch("level=\"ERROR\""); -// +@Slf4j +public class EsDataServiceTest { + private EsDataServiceImpl esDataService; + private Gson gson; + + @Before + public void before() { + getConfigFromNanos(); + Ioc.ins().init("com.xiaomi"); + esDataService = Ioc.ins().getBean(EsDataServiceImpl.class); + gson = new Gson(); + } + + @Test + public void testQuery() { + LogQuery logQuery = new LogQuery(); + logQuery.setStoreId(120042L); + logQuery.setTailIds(Lists.newArrayList(90028L)); + logQuery.setTail("hera-app"); + logQuery.setStartTime(1699427646178L); + logQuery.setEndTime(1699958631197L); + logQuery.setPage(1); + logQuery.setPageSize(100); + logQuery.setFullTextSearch("level=\"ERROR\""); + // Result logDTOResult = esDataService.logQuery(logQuery); // Assert.assertNotNull(logDTOResult); -// } -//} + } +} diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/FlinkAlphaServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/FlinkAlphaServiceTest.java index 91f226d8e..00c8f08ed 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/FlinkAlphaServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/FlinkAlphaServiceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/KafkaMqConfigServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/KafkaMqConfigServiceTest.java index 22ac6fab3..94f08dc5c 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/KafkaMqConfigServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/KafkaMqConfigServiceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/MilogAppMiddlewareRelDaoTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/MilogAppMiddlewareRelDaoTest.java index 08af32682..b360fe2ba 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/MilogAppMiddlewareRelDaoTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/MilogAppMiddlewareRelDaoTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/SendAlertLinkTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/SendAlertLinkTest.java index 76d3ed5e2..4f39fd706 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/SendAlertLinkTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/SendAlertLinkTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/StatisticsServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/StatisticsServiceTest.java index 77269dcc0..31b3ef215 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/StatisticsServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/StatisticsServiceTest.java @@ -1,75 +1,65 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.manager.service; + +import com.google.gson.Gson; +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.log.common.Result; +import org.apache.ozhera.log.manager.model.dto.EsStatisticsKeyWord; +import org.apache.ozhera.log.manager.model.vo.LogQuery; +import org.apache.ozhera.log.manager.service.impl.StatisticsServiceImpl; +import org.junit.Before; +import org.junit.Test; + +import java.util.List; + +import static org.apache.ozhera.log.manager.common.utils.ManagerUtil.getConfigFromNanos; +import static org.apache.ozhera.log.manager.user.MoneUserDetailService.GSON; + + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2023/6/9 14:38 */ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.log.manager.service; -// -//import com.google.gson.Gson; -//import com.xiaomi.mone.log.common.Result; -//import com.xiaomi.mone.log.manager.model.dto.EsStatisticsKeyWord; -//import com.xiaomi.mone.log.manager.model.vo.LogQuery; -//import com.xiaomi.youpin.docean.Ioc; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.Before; -//import org.junit.Test; -// -//import java.util.List; -// -//import static com.xiaomi.mone.log.common.Constant.GSON; -//import static com.xiaomi.mone.log.manager.common.utils.ManagerUtil.getConfigFromNanos; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2023/6/9 14:38 -// */ -//@Slf4j -//public class StatisticsServiceTest { -// -// private StatisticsServiceImpl statisticsService; -// private Gson gson; -// -// @Before -// public void before() { -// getConfigFromNanos(); -// Ioc.ins().init("com.xiaomi"); -// statisticsService = Ioc.ins().getBean(StatisticsServiceImpl.class); -// gson = new Gson(); -// } -// -// @Test -// public void queryEsStatisticsRationTest() { -// String str = "{\"spaceId\":\"34\",\"storeId\":81,\"area\":\"cn\",\"tail\":\"\",\"logstore\":\"tesla_gateway\",\"startTime\":1686813900596,\"endTime\":1686817500999,\"fullTextSearch\":\"\",\"page\":1,\"pageSize\":20,\"beginSortValue\":null,\"sortKey\":\"timestamp\",\"asc\":\"false\",\"appIds\":[452,1512,1512,754,1512,1512,1512,4,4,4,4,1512,1512]}"; -// LogQuery logQuery = GSON.fromJson(str, LogQuery.class); -// Result> esStatisticsRation = statisticsService.queryEsStatisticsRation(logQuery); -// log.info("result:{}", GSON.toJson(esStatisticsRation)); -// } -// -//} +@Slf4j +public class StatisticsServiceTest { + + private StatisticsServiceImpl statisticsService; + private Gson gson; + + @Before + public void before() { + getConfigFromNanos(); + Ioc.ins().init("com.xiaomi"); + statisticsService = Ioc.ins().getBean(StatisticsServiceImpl.class); + gson = new Gson(); + } + + @Test + public void queryEsStatisticsRationTest() { + String str = "{\"spaceId\":\"34\",\"storeId\":81,\"area\":\"cn\",\"tail\":\"\",\"logstore\":\"tesla_gateway\",\"startTime\":1686813900596,\"endTime\":1686817500999,\"fullTextSearch\":\"\",\"page\":1,\"pageSize\":20,\"beginSortValue\":null,\"sortKey\":\"timestamp\",\"asc\":\"false\",\"appIds\":[452,1512,1512,754,1512,1512,1512,4,4,4,4,1512,1512]}"; + LogQuery logQuery = GSON.fromJson(str, LogQuery.class); + Result> esStatisticsRation = statisticsService.queryEsStatisticsRation(logQuery); + log.info("result:{}", GSON.toJson(esStatisticsRation)); + } + +} diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/TpcTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/TpcTest.java index 93ed4561e..e9e5c6699 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/TpcTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/TpcTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/EsIndexTemplateServiceImplTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/EsIndexTemplateServiceImplTest.java index ba96e19e7..299b8e7d3 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/EsIndexTemplateServiceImplTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/EsIndexTemplateServiceImplTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogProcessServiceImplTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogProcessServiceImplTest.java index 30ce3d978..88854e7d6 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogProcessServiceImplTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogProcessServiceImplTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogStoreServiceImplTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogStoreServiceImplTest.java index db9fe0ea0..85aaa0a71 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogStoreServiceImplTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogStoreServiceImplTest.java @@ -1,59 +1,63 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.manager.service.impl; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.log.common.Result; +import org.apache.ozhera.log.manager.model.vo.LogStoreParam; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import static org.apache.ozhera.log.manager.common.utils.ManagerUtil.getConfigFromNanos; + + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2023/11/14 11:27 */ -//package com.xiaomi.mone.log.manager.service.impl; -// -//import com.google.gson.Gson; -//import com.google.gson.GsonBuilder; -//import com.xiaomi.mone.log.common.Result; -//import com.xiaomi.mone.log.manager.model.vo.LogStoreParam; -//import com.xiaomi.youpin.docean.Ioc; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.Assert; -//import org.junit.Before; -//import org.junit.Test; -// -//import static com.xiaomi.mone.log.manager.common.utils.ManagerUtil.getConfigFromNanos; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2023/11/14 11:27 -// */ -//@Slf4j -//public class LogStoreServiceImplTest { -// -// private LogStoreServiceImpl logStoreService; -// private Gson gson; -// -// @Before -// public void before() { -// getConfigFromNanos(); -// Ioc.ins().init("com.xiaomi"); -// logStoreService = Ioc.ins().getBean(LogStoreServiceImpl.class); -// GsonBuilder gsonBuilder = new GsonBuilder(); -// gsonBuilder.serializeSpecialFloatingPointValues(); -// gson = gsonBuilder.create(); -// } -// -// @Test -// public void createStoreTest() { -// String createStr = "{\"spaceId\":2,\"logType\":1,\"logstoreName\":\"测试创建2doris\",\"shardCnt\":1,\"esResourceId\":120002,\"mqResourceId\":null,\"selectCustomIndex\":false,\"keysName\":\"\",\"storePeriod\":7,\"machineRoom\":\"cn\",\"keyList\":\"timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3\",\"columnTypeList\":\"date,keyword,keyword,text,text,keyword,keyword,text,keyword,keyword,keyword,keyword,keyword,keyword,keyword,long\"}"; -// LogStoreParam logStoreParam = gson.fromJson(createStr, LogStoreParam.class); -// Result stringResult = logStoreService.newLogStore(logStoreParam); -// Assert.assertNotNull(stringResult); -// } -//} +@Slf4j +public class LogStoreServiceImplTest { + + private LogStoreServiceImpl logStoreService; + private Gson gson; + + @Before + public void before() { + getConfigFromNanos(); + Ioc.ins().init("com.xiaomi"); + logStoreService = Ioc.ins().getBean(LogStoreServiceImpl.class); + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.serializeSpecialFloatingPointValues(); + gson = gsonBuilder.create(); + } + + @Test + public void createStoreTest() { + String createStr = "{\"spaceId\":2,\"logType\":1,\"logstoreName\":\"测试创建2doris\",\"shardCnt\":1,\"esResourceId\":120002,\"mqResourceId\":null,\"selectCustomIndex\":false,\"keysName\":\"\",\"storePeriod\":7,\"machineRoom\":\"cn\",\"keyList\":\"timestamp:1,level:1,traceId:1,threadName:1,className:1,line:1,methodName:1,message:1,podName:1,logstore:3,logsource:3,mqtopic:3,mqtag:3,logip:3,tail:3,linenumber:3\",\"columnTypeList\":\"date,keyword,keyword,text,text,keyword,keyword,text,keyword,keyword,keyword,keyword,keyword,keyword,keyword,long\"}"; + LogStoreParam logStoreParam = gson.fromJson(createStr, LogStoreParam.class); + Result stringResult = logStoreService.newLogStore(logStoreParam); + Assert.assertNotNull(stringResult); + } +} diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImplTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImplTest.java index 32fa9a757..5ac048e8a 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImplTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogTailServiceImplTest.java @@ -1,83 +1,72 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.manager.service.impl; + +import com.google.gson.Gson; +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.log.api.enums.LogStructureEnum; +import org.apache.ozhera.log.common.Result; +import org.apache.ozhera.log.manager.model.bo.MlogParseParam; +import org.junit.Before; +import org.junit.Test; + +import static org.apache.ozhera.log.manager.common.utils.ManagerUtil.getConfigFromNanos; + + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2023/6/13 15:06 */ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.log.manager.service.impl; -// -//import com.google.gson.Gson; -//import com.xiaomi.mone.log.api.enums.LogStructureEnum; -//import com.xiaomi.mone.log.common.Result; -//import com.xiaomi.mone.log.manager.model.bo.MlogParseParam; -//import com.xiaomi.youpin.docean.Ioc; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.Before; -//import org.junit.Test; -// -//import static com.xiaomi.mone.log.manager.common.utils.ManagerUtil.getConfigFromNanos; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2023/6/13 15:06 -// */ -//@Slf4j -//public class LogTailServiceImplTest { -// -// private LogTailServiceImpl logTailService; -// private Gson gson; -// -// @Before -// public void before() { -// getConfigFromNanos(); -// Ioc.ins().init("com.xiaomi"); -// logTailService = Ioc.ins().getBean(LogTailServiceImpl.class); -// gson = new Gson(); -// } -// -// @Test -// public void deleteConfigRemoteTest() { -// Long spaceId = 2L; -// Long id = 284L; -// String motorRoomEn = "cn"; -// LogStructureEnum logStructureEnum = LogStructureEnum.TAIL; -// logTailService.deleteConfigRemote(spaceId, id, motorRoomEn, logStructureEnum); -// log.info("deleteConfigRemoteTest"); -// } -// -// @Test -// public void parseExampleTest() { -// MlogParseParam mlogParseParam = new MlogParseParam(); -// mlogParseParam.setParseType(5); -// mlogParseParam.setParseScript("%s-[%s]-[%s]-%s-[%s]-[%s]-[%s]-%s"); -// mlogParseParam.setMsg("2023-07-19 09:48:54.178 [dk-fdf] [127.0.0.1] INFO [http-nio-8051-exec-166] [com.xiaomi.duokan.api.fiction.common.aspect.PerfCountAspectImpl#doAround:57] [f17c2f4e2f1d29d5015931e682abe400] FictionFeignClient.batchQueryFictionScore costTime:4"); -// Result objectResult = logTailService.parseExample(mlogParseParam); -// log.info("result:{}", objectResult); -// } -//} +@Slf4j +public class LogTailServiceImplTest { + + private LogTailServiceImpl logTailService; + private Gson gson; + + @Before + public void before() { + getConfigFromNanos(); + Ioc.ins().init("com.xiaomi"); + logTailService = Ioc.ins().getBean(LogTailServiceImpl.class); + gson = new Gson(); + } + + @Test + public void deleteConfigRemoteTest() { + Long spaceId = 2L; + Long id = 284L; + String motorRoomEn = "cn"; + LogStructureEnum logStructureEnum = LogStructureEnum.TAIL; + logTailService.deleteConfigRemote(spaceId, id, motorRoomEn, logStructureEnum); + log.info("deleteConfigRemoteTest"); + } + + @Test + public void parseExampleTest() { + MlogParseParam mlogParseParam = new MlogParseParam(); + mlogParseParam.setParseType(5); + mlogParseParam.setParseScript("%s-[%s]-[%s]-%s-[%s]-[%s]-[%s]-%s"); + mlogParseParam.setMsg("2023-07-19 09:48:54.178 [dk-fdf] [127.0.0.1] INFO [http-nio-8051-exec-166] [com.xiaomi.duokan.api.fiction.common.aspect.PerfCountAspectImpl#doAround:57] [f17c2f4e2f1d29d5015931e682abe400] FictionFeignClient.batchQueryFictionScore costTime:4"); + Result objectResult = logTailService.parseExample(mlogParseParam); + log.info("result:{}", objectResult); + } +} diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImplTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImplTest.java index b8993848e..e5a6ede36 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImplTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/LogTemplateServiceImplTest.java @@ -1,63 +1,51 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.log.manager.service.impl; -// -//import com.xiaomi.mone.log.common.Result; -//import com.xiaomi.mone.log.manager.model.dto.LogTemplateDTO; -//import com.xiaomi.mone.log.manager.model.dto.LogTemplateDetailDTO; -//import com.xiaomi.youpin.docean.Ioc; -//import org.junit.Before; -//import org.junit.Test; -// -//import java.util.List; -// -//public class LogTemplateServiceImplTest { -// private LogTemplateServiceImpl logTemplateService; -// -// @Before -// public void initFiled() { -// Ioc.ins().init("com.xiaomi"); -// logTemplateService = Ioc.ins().getBean(LogTemplateServiceImpl.class); -// } -// -// @Test -// public void getLogTemplateList() { -// Result> logTemplateList = logTemplateService.getLogTemplateList("cn"); -// System.out.println(logTemplateList.getData()); -// } -// -// @Test -// public void getLogTemplateById() { -// Result logtemplate = logTemplateService.getLogTemplateById(84); -// System.out.println(logtemplate); -// } -// -//} \ No newline at end of file +package org.apache.ozhera.log.manager.service.impl; + +import com.xiaomi.youpin.docean.Ioc; +import org.apache.ozhera.log.common.Result; +import org.apache.ozhera.log.manager.model.dto.LogTemplateDTO; +import org.apache.ozhera.log.manager.model.dto.LogTemplateDetailDTO; +import org.junit.Before; +import org.junit.Test; + +import java.util.List; + +public class LogTemplateServiceImplTest { + private LogTemplateServiceImpl logTemplateService; + + @Before + public void initFiled() { + Ioc.ins().init("com.xiaomi"); + logTemplateService = Ioc.ins().getBean(LogTemplateServiceImpl.class); + } + + @Test + public void getLogTemplateList() { + Result> logTemplateList = logTemplateService.getLogTemplateList("cn"); + System.out.println(logTemplateList.getData()); + } + + @Test + public void getLogTemplateById() { + Result logtemplate = logTemplateService.getLogTemplateById(84); + System.out.println(logtemplate); + } + +} \ No newline at end of file diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MiLogMetaManageServiceImplTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MiLogMetaManageServiceImplTest.java index e2b1ae561..6671e6b4e 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MiLogMetaManageServiceImplTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MiLogMetaManageServiceImplTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogAgentServiceImplTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogAgentServiceImplTest.java index 015e61fcf..b8d26c885 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogAgentServiceImplTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogAgentServiceImplTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogLogTailServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogLogTailServiceTest.java index 4cc195397..49a944a7d 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogLogTailServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogLogTailServiceTest.java @@ -1,64 +1,81 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; +import com.google.common.collect.Lists; +import com.google.gson.Gson; +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.log.manager.mapper.MilogLogTemplateMapper; +import org.apache.ozhera.log.manager.service.bind.LogTypeProcessor; +import org.apache.ozhera.log.manager.service.bind.LogTypeProcessorFactory; +import org.junit.Before; +import org.junit.Test; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + /** * @author wtt * @version 1.0 * @description * @date 2022/3/28 20:47 */ -//@Slf4j -//public class MilogLogTailServiceTest { -// -// private Gson gson = new Gson(); -// private LogTailServiceImpl milogLogtailService; -// private LogTypeProcessorFactory logTypeProcessorFactory; -// private MilogLogTemplateMapper milogLogTemplateMapper; -// -// @Before -// public void init() { -// Ioc.ins().init("com.xiaomi"); -// milogLogtailService = Ioc.ins().getBean(LogTailServiceImpl.class); -// logTypeProcessorFactory = Ioc.ins().getBean(LogTypeProcessorFactory.class); -// milogLogTemplateMapper = Ioc.ins().getBean(MilogLogTemplateMapper.class); -// } -// -// -// @Test -// public void testFactory() { -// logTypeProcessorFactory.setMilogLogTemplateMapper(milogLogTemplateMapper); -// LogTypeProcessor logTypeProcessor = logTypeProcessorFactory.getLogTypeProcessor(); +@Slf4j +public class MilogLogTailServiceTest { + + private Gson gson = new Gson(); + private LogTailServiceImpl milogLogtailService; + private LogTypeProcessorFactory logTypeProcessorFactory; + private MilogLogTemplateMapper milogLogTemplateMapper; + + @Before + public void init() { + Ioc.ins().init("com.xiaomi"); + milogLogtailService = Ioc.ins().getBean(LogTailServiceImpl.class); + logTypeProcessorFactory = Ioc.ins().getBean(LogTypeProcessorFactory.class); + milogLogTemplateMapper = Ioc.ins().getBean(MilogLogTemplateMapper.class); + } + + + @Test + public void testFactory() { + logTypeProcessorFactory.setMilogLogTemplateMapper(milogLogTemplateMapper); + LogTypeProcessor logTypeProcessor = logTypeProcessorFactory.getLogTypeProcessor(); // boolean supportedConsume = logTypeProcessor.supportedConsume(LogTypeEnum.APP_LOG_MULTI.getType()); // log.info("supportedConsume:{}", supportedConsume); -// } -// -// @Test -// public void getList() { -// Ioc.ins().init("com.xiaomi"); -// Long tailId = 620L; -// List podList = Lists.newArrayList("127.0.0.1", "127.0.0.1"); -//// milogLogtailService.k8sPodIpsSend(tailId, podList, Collections.EMPTY_LIST, 1); -// } -// -// @Test -// public void test_stream() { -// List list = Lists.newArrayList("1", "2", "3", "4", "10"); -// List newList = list.stream().filter(s -> !Objects.equals(s, "3")).collect(Collectors.toList()); -// System.out.println(list); -// } -// -//} + } + + @Test + public void getList() { + Ioc.ins().init("com.xiaomi"); + Long tailId = 620L; + List podList = Lists.newArrayList("127.0.0.1", "127.0.0.1"); +// milogLogtailService.k8sPodIpsSend(tailId, podList, Collections.EMPTY_LIST, 1); + } + + @Test + public void test_stream() { + List list = Lists.newArrayList("1", "2", "3", "4", "10"); + List newList = list.stream().filter(s -> !Objects.equals(s, "3")).collect(Collectors.toList()); + System.out.println(list); + } + +} diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogMiddlewareConfigServiceImplTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogMiddlewareConfigServiceImplTest.java index 61e77043a..82c4df72c 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogMiddlewareConfigServiceImplTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogMiddlewareConfigServiceImplTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogOpenServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogOpenServiceTest.java index 3910b0bdd..a34053dc3 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogOpenServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MilogOpenServiceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MqConfigServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MqConfigServiceTest.java index 5ba021855..37c2b465c 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MqConfigServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/MqConfigServiceTest.java @@ -1,140 +1,123 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.manager.service.impl; + +import com.google.gson.Gson; +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.junit.Test; + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2021/9/23 15:11 */ -///* -// * Copyright (C) 2020 Xiaomi Corporation -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -//package com.xiaomi.mone.log.manager.service.impl; -// -//import com.google.gson.Gson; -//import com.xiaomi.mone.log.manager.model.dto.DictionaryDTO; -//import com.xiaomi.mone.log.manager.model.dto.RocketMqResponseDTO; -//import com.xiaomi.mone.log.manager.model.pojo.MilogAppMiddlewareRel; -//import com.xiaomi.youpin.docean.Ioc; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.Test; -// -//import java.util.List; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2021/9/23 15:11 -// */ -//@Slf4j -//public class MqConfigServiceTest { -// -// private Gson gson = new Gson(); -// -// String ak = ""; -// String sk = "/"; -// String serviceUrl = "http://127.0.0.1"; -// String nameServer = "127.0.0.1:9876"; -// String authorization = ""; -// String orgId = ""; -// String teamId = ""; -// Long appId = 23L; -// String appName = "wudalang"; -// String source = "china"; -// Long spaceId = 234L; -// Long storeId = 456L; -// Long tailId = 789L; -// -// @Test -// public void testTalosCreateTopic() { -// Ioc.ins().init("com.xiaomi"); -// } -// -// -// @Test -// public void testTalosCreateTopicTag() { -// Ioc.ins().init("com.xiaomi"); -// } -// -// @Test -// public void testRocketmqCreateTopicTag() { -// Ioc.ins().init("com.xiaomi"); -// RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); -// String nameServer = "127.0.0.1:9876"; +@Slf4j +public class MqConfigServiceTest { + + private Gson gson = new Gson(); + + String ak = ""; + String sk = "/"; + String serviceUrl = "http://127.0.0.1"; + String nameServer = "127.0.0.1:9876"; + String authorization = ""; + String orgId = ""; + String teamId = ""; + Long appId = 23L; + String appName = "wudalang"; + String source = "china"; + Long spaceId = 234L; + Long storeId = 456L; + Long tailId = 789L; + + @Test + public void testTalosCreateTopic() { + Ioc.ins().init("com.xiaomi"); + } + + + @Test + public void testTalosCreateTopicTag() { + Ioc.ins().init("com.xiaomi"); + } + + @Test + public void testRocketmqCreateTopicTag() { + Ioc.ins().init("com.xiaomi"); + RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); + String nameServer = "127.0.0.1:9876"; // List commonTagTopic = mqConfigService.createCommonTagTopic( // ak, sk, nameServer, serviceUrl, "", orgId, teamId); // log.info("assemble common topic tag:{}", gson.toJson(commonTagTopic)); -// } -// -// @Test -// public void testTalosQueryTopic() { -// Ioc.ins().init("com.xiaomi"); -// } -// -// @Test -// public void testRockerMqQueryTopic() { -// Ioc.ins().init("com.xiaomi"); -// RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); + } + + @Test + public void testTalosQueryTopic() { + Ioc.ins().init("com.xiaomi"); + } + + @Test + public void testRockerMqQueryTopic() { + Ioc.ins().init("com.xiaomi"); + RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); // List dictionaryDTOS = mqConfigService.queryExistsTopic(ak, sk, "", serviceUrl, "", orgId, teamId); // System.out.println(dictionaryDTOS); -// } -// -// @Test -// public void testMqChooseTopic() { -// Ioc.ins().init("com.xiaomi"); -// RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); + } + + @Test + public void testMqChooseTopic() { + Ioc.ins().init("com.xiaomi"); + RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); // MilogAppMiddlewareRel.Config config = mqConfigService.generateConfig(ak, sk, nameServer, serviceUrl, authorization, orgId, teamId, appId, appName, source, 12L); // System.out.println(config); -// } -// -// -// @Test -// public void testMqCreateGroup() { -// Ioc.ins().init("com.xiaomi"); -// RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); + } + + + @Test + public void testMqCreateGroup() { + Ioc.ins().init("com.xiaomi"); + RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); // boolean isSuccess = mqConfigService.createSubscribeGroup(serviceUrl, authorization, orgId, spaceId, storeId, tailId, null); // System.out.println(isSuccess); -// } -// -// @Test -// public void testQuerySubGroup() { -// Ioc.ins().init("com.xiaomi"); -// RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); + } + + @Test + public void testQuerySubGroup() { + Ioc.ins().init("com.xiaomi"); + RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); // List subGroupList = mqConfigService.querySubGroupList(serviceUrl, authorization, orgId); // System.out.println(gson.toJson(subGroupList)); -// } -// -// @Test -// public void testMqDeleteGroup() { -// Ioc.ins().init("com.xiaomi"); -// RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); + } + + @Test + public void testMqDeleteGroup() { + Ioc.ins().init("com.xiaomi"); + RocketMqConfigService mqConfigService = Ioc.ins().getBean(RocketMqConfigService.class); // boolean isSuccess = mqConfigService.deleteSubscribeGroup(serviceUrl, authorization, orgId, spaceId, storeId, tailId); // System.out.println(isSuccess); -// } -// -// @Test -// public void testTalosDeleteTopic() { -// String topicName = ""; -// Ioc.ins().init("com.xiaomi"); -// } -//} + } + + @Test + public void testTalosDeleteTopic() { + String topicName = ""; + Ioc.ins().init("com.xiaomi"); + } +} diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/TraceLogServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/TraceLogServiceTest.java index 73b231d8a..623eca140 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/TraceLogServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/service/impl/TraceLogServiceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.service.impl; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/ConfigNacosServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/ConfigNacosServiceTest.java index 7ed6ceed4..b6afcffd6 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/ConfigNacosServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/ConfigNacosServiceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.test; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/CustomObjectTypeAdapter.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/CustomObjectTypeAdapter.java index 23ab26506..25376c42e 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/CustomObjectTypeAdapter.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/CustomObjectTypeAdapter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.test; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/IntrospectorTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/IntrospectorTest.java index 54e77600c..088953cb5 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/IntrospectorTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/IntrospectorTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.test; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/MilogConfigServiceTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/MilogConfigServiceTest.java index 95dc8377b..7a2f49895 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/MilogConfigServiceTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/MilogConfigServiceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.test; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/SimpleTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/SimpleTest.java index aaf65b5d9..8cb97b5ea 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/SimpleTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/SimpleTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.test; diff --git a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/StreamTest.java b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/StreamTest.java index 27a2d978a..2b0b434a8 100644 --- a/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/StreamTest.java +++ b/ozhera-log/log-manager/src/test/java/org/apache/ozhera/log/manager/test/StreamTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.test; diff --git a/ozhera-log/log-stream/Dockerfile b/ozhera-log/log-stream/Dockerfile index 552188e17..37673c747 100644 --- a/ozhera-log/log-stream/Dockerfile +++ b/ozhera-log/log-stream/Dockerfile @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. FROM openjdk:21-jdk-bookworm ENV APP_HOME /opt/app diff --git a/ozhera-log/log-stream/pom.xml b/ozhera-log/log-stream/pom.xml index 1442fa04c..3f584e93d 100644 --- a/ozhera-log/log-stream/pom.xml +++ b/ozhera-log/log-stream/pom.xml @@ -1,4 +1,24 @@ + @@ -10,6 +30,7 @@ 4.0.0 log-stream + 1.3-SNAPSHOT 21 diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/bootstrap/MiLogStreamBootstrap.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/bootstrap/MiLogStreamBootstrap.java index 8f7790f19..83eab9885 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/bootstrap/MiLogStreamBootstrap.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/bootstrap/MiLogStreamBootstrap.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.bootstrap; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/bootstrap/StreamManage.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/bootstrap/StreamManage.java index 82f81a9f8..4810d9f0b 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/bootstrap/StreamManage.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/bootstrap/StreamManage.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.bootstrap; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/LogStreamConstants.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/LogStreamConstants.java index fc9be0785..5923260e9 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/LogStreamConstants.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/LogStreamConstants.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.common; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/SinkJobEnum.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/SinkJobEnum.java index c25d0eda0..1961a1434 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/SinkJobEnum.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/SinkJobEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.common; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/util/StreamUtils.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/util/StreamUtils.java index 11a3f5944..9700d7630 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/util/StreamUtils.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/common/util/StreamUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.common.util; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java index 8dce18c90..0e97d9b32 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.config; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/MilogConfigListener.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/MilogConfigListener.java index 345fcda30..e9bf51568 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/MilogConfigListener.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/MilogConfigListener.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.config; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/exception/StreamException.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/exception/StreamException.java index 0dfc729b7..3f8be4282 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/exception/StreamException.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/exception/StreamException.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.exception; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/JobManager.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/JobManager.java index 869dc4e03..447419d56 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/JobManager.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/JobManager.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogConfig.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogConfig.java index 35c7e42f2..7a714ee69 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogConfig.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogDataTransfer.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogDataTransfer.java index cc79718e0..1bcdb0b06 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogDataTransfer.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogDataTransfer.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogSendFilter.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogSendFilter.java index 3231002e2..04cc7d289 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogSendFilter.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/LogSendFilter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/PullConfigJob.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/PullConfigJob.java index 9609c9a30..58717a350 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/PullConfigJob.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/PullConfigJob.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/ServiceRegistryService.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/ServiceRegistryService.java index d2e4cffaa..a73790e99 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/ServiceRegistryService.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/ServiceRegistryService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/SinkJobConfig.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/SinkJobConfig.java index 751245450..ec41152a7 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/SinkJobConfig.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/SinkJobConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/compensate/MqMessageDTO.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/compensate/MqMessageDTO.java index 25d1b2357..182ded364 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/compensate/MqMessageDTO.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/compensate/MqMessageDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.compensate; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/compensate/StreamCompensateTask.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/compensate/StreamCompensateTask.java index 64a3db8fd..0619473b2 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/compensate/StreamCompensateTask.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/compensate/StreamCompensateTask.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.compensate; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/CompensateMsgConsume.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/CompensateMsgConsume.java index d8072cc61..a44711e48 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/CompensateMsgConsume.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/CompensateMsgConsume.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/CompensateMsgConsumeProvider.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/CompensateMsgConsumeProvider.java index eff3306aa..7fae32231 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/CompensateMsgConsumeProvider.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/CompensateMsgConsumeProvider.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/DefaultLogSendFilter.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/DefaultLogSendFilter.java index d8cae72f8..427aa0346 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/DefaultLogSendFilter.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/DefaultLogSendFilter.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MQConfig.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MQConfig.java index f0163a6d3..1179f5dd4 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MQConfig.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MQConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MQPlugin.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MQPlugin.java index 23a3f5805..bf2edf44d 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MQPlugin.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MQPlugin.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageLifecycleManager.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageLifecycleManager.java index e105e11d4..cbadc5a5d 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageLifecycleManager.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageLifecycleManager.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSender.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSender.java index ae1ec5cf6..b3e81e54c 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSender.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSender.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSenderFactory.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSenderFactory.java index ea33f5ad5..00dbff4b3 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSenderFactory.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSenderFactory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSenderProvider.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSenderProvider.java index 4f3c99625..a6ae6ed41 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSenderProvider.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MessageSenderProvider.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MqMessagePostProcessing.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MqMessagePostProcessing.java index 5a473d07d..99223c91d 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MqMessagePostProcessing.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MqMessagePostProcessing.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MqMessageProduct.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MqMessageProduct.java index 28461809b..052e44fbb 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MqMessageProduct.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/MqMessageProduct.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/SinkJob.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/SinkJob.java index 620da7b68..b0ba1a791 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/SinkJob.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/SinkJob.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/SinkJobProvider.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/SinkJobProvider.java index 71448d8bd..2c3af8c8e 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/SinkJobProvider.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/SinkJobProvider.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/StreamCommonExtension.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/StreamCommonExtension.java index e1f5c844d..69b639755 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/StreamCommonExtension.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/StreamCommonExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DefaultMessageLifecycleManager.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DefaultMessageLifecycleManager.java index b2b978a34..bc42237d9 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DefaultMessageLifecycleManager.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DefaultMessageLifecycleManager.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.impl; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DefaultStreamCommonExtension.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DefaultStreamCommonExtension.java index 9dd41103b..07047a8e9 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DefaultStreamCommonExtension.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DefaultStreamCommonExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.impl; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DorisMessageSender.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DorisMessageSender.java index d51b4acdf..c079c8497 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DorisMessageSender.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/DorisMessageSender.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.impl; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/EsMessageSender.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/EsMessageSender.java index 9aa4f2ba9..2e53d620d 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/EsMessageSender.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/EsMessageSender.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.impl; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketCompensateMsgConsume.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketCompensateMsgConsume.java index 3cf6596a9..c1c0d762d 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketCompensateMsgConsume.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketCompensateMsgConsume.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.impl; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqCompensateMsgConsumeProvider.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqCompensateMsgConsumeProvider.java index 9a6f5310d..91e0778db 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqCompensateMsgConsumeProvider.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqCompensateMsgConsumeProvider.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.impl; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqMessagePostProcessing.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqMessagePostProcessing.java index 9d8d5883e..bad0a3cdd 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqMessagePostProcessing.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqMessagePostProcessing.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.impl; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqMessageProduct.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqMessageProduct.java index 4e0215695..d3f3c4cc2 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqMessageProduct.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/impl/RocketMqMessageProduct.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.impl; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaConfig.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaConfig.java index 340ac0a29..b9776d782 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaConfig.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.kafka; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaConsumerRunner.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaConsumerRunner.java index dceecd23d..08f036f9f 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaConsumerRunner.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaConsumerRunner.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.kafka; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaMqMessagePostProcessing.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaMqMessagePostProcessing.java index 99f74dfa9..23d901cf6 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaMqMessagePostProcessing.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaMqMessagePostProcessing.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.kafka; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaPlugin.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaPlugin.java index f1a6c321c..5ca068be3 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaPlugin.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaPlugin.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.kafka; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaSinkJob.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaSinkJob.java index d106ffaf1..32a1cb571 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaSinkJob.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaSinkJob.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.kafka; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaSinkJobProvider.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaSinkJobProvider.java index dead0738f..aaea9c174 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaSinkJobProvider.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/kafka/KafkaSinkJobProvider.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.kafka; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketMqSinkJob.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketMqSinkJob.java index 1fb9da829..93ef346b3 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketMqSinkJob.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketMqSinkJob.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.rocketmq; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketMqSinkJobProvider.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketMqSinkJobProvider.java index 851f21075..268c47230 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketMqSinkJobProvider.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketMqSinkJobProvider.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.rocketmq; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqConfig.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqConfig.java index df4ae2f99..6511c1ffc 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqConfig.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.rocketmq; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqPlugin.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqPlugin.java index 424e25ca1..a714226fa 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqPlugin.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/job/extension/rocketmq/RocketmqPlugin.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.job.extension.rocketmq; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsConfig.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsConfig.java index f6716060e..54bb98834 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsConfig.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.plugin.es; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsPlugin.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsPlugin.java index f3cb8ec34..0f50f4933 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsPlugin.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/es/EsPlugin.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.plugin.es; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/nacos/LevelFilterConfigListener.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/nacos/LevelFilterConfigListener.java index 0f6b49a24..1d376cf29 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/nacos/LevelFilterConfigListener.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/nacos/LevelFilterConfigListener.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.plugin.nacos; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/nacos/LogFilterConfig.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/nacos/LogFilterConfig.java index 706e6398d..bdf30e501 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/nacos/LogFilterConfig.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/plugin/nacos/LogFilterConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.plugin.nacos; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/sink/SinkChain.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/sink/SinkChain.java index f40414caa..a068052d9 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/sink/SinkChain.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/sink/SinkChain.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.sink; diff --git a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/sink/SinkProcessor.java b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/sink/SinkProcessor.java index 38466777a..dddda5996 100644 --- a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/sink/SinkProcessor.java +++ b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/sink/SinkProcessor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream.sink; diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/DorisTest.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/DorisTest.java index 72b60f50b..299da127d 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/DorisTest.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/DorisTest.java @@ -1,72 +1,78 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -//package com.xiaomi.mone.log.stream; -// -//import lombok.extern.slf4j.Slf4j; -//import org.junit.After; -//import org.junit.Before; -//import org.junit.Test; -// -//import java.sql.*; -//import java.time.Instant; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2023/11/7 10:25 -// */ -//@Slf4j -//public class DorisTest { -// -// private String driverUrl = "org.mariadb.jdbc.Driver"; -// private String url = "jdbc:mariadb://127.0.0.1:9030/demo"; -// private String user = "root"; -// private String password = ""; -// private String insertSQL = "INSERT INTO log_doris_test (date, message,timestamp) VALUES (?, ?,?)"; -// private Connection connection; -// private PreparedStatement preparedStatement; -// private Statement statement; -// -// @Before -// public void init() throws SQLException, ClassNotFoundException { -// Class.forName(driverUrl); +package org.apache.ozhera.log.stream; + +import lombok.extern.slf4j.Slf4j; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.Statement; +import java.time.Instant; + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2023/11/7 10:25 + */ +@Slf4j +public class DorisTest { + + private String driverUrl = "org.mariadb.jdbc.Driver"; + private String url = "jdbc:mariadb://127.0.0.1:9030/demo"; + private String user = "root"; + private String password = ""; + private String insertSQL = "INSERT INTO log_doris_test (date, message,timestamp) VALUES (?, ?,?)"; + private Connection connection; + private PreparedStatement preparedStatement; + private Statement statement; + + @Before + public void init() throws SQLException, ClassNotFoundException { + Class.forName(driverUrl); // connection = DriverManager.getConnection(url, user, password); // // 创建一个Statement对象 // statement = connection.createStatement(); // // preparedStatement = connection.prepareStatement(insertSQL); -// } -// -// @Test -// public void addData() throws SQLException { -// Long date = Instant.now().toEpochMilli(); -// for (int i = 0; i < 1000; i++) { -// preparedStatement.setInt(1, i); -// preparedStatement.setString(2, "2023-11-07 02:27:33,464|INFO ||Thread-6|com.xiaomi.data.push.rpc.RpcClient|?|serverIp:127.0.0.1 serverPort:9899"); -// preparedStatement.setLong(3, date); + } + + @Test + public void addData() throws SQLException { + Long date = Instant.now().toEpochMilli(); + for (int i = 0; i < 1000; i++) { + preparedStatement.setInt(1, i); + preparedStatement.setString(2, "2023-11-07 02:27:33,464|INFO ||Thread-6|com.xiaomi.data.push.rpc.RpcClient|?|serverIp:127.0.0.1 serverPort:9899"); + preparedStatement.setLong(3, date); // int rowsInserted = preparedStatement.executeUpdate(); // System.out.println("result:" + rowsInserted); -// } -// } -// -// @Test -// public void queryData() throws SQLException { -// // Execute SQL query -// String query = "SELECT * FROM log_doris_test"; + } + } + + @Test + public void queryData() throws SQLException { + // Execute SQL query + String query = "SELECT * FROM log_doris_test"; // ResultSet resultSet = statement.executeQuery(query); // // ResultSetMetaData metaData = resultSet.getMetaData(); @@ -86,54 +92,54 @@ // } // System.out.println("------"); // } -// } -// -// /** -// * Table creation test -// * -// * @throws SQLException -// */ -// @Test -// public void createTable() throws SQLException { -// -// String createTableSQL = "CREATE TABLE example_tbl3\n" + -// "(\n" + -// " `user_id` LARGEINT NOT NULL COMMENT \"user id\",\n" + -// " `date` DATE NOT NULL COMMENT \"\",\n" + -// " `city` VARCHAR(20) COMMENT \"\",\n" + -// " `age` SMALLINT COMMENT \"\",\n" + -// " `sex` TINYINT COMMENT \"\",\n" + -// " `last_visit_date` DATETIME REPLACE DEFAULT \"1970-01-01 00:00:00\" COMMENT \"\",\n" + -// " `cost` BIGINT SUM DEFAULT \"0\" COMMENT \"\",\n" + -// " `max_dwell_time` INT MAX DEFAULT \"0\" COMMENT \"\",\n" + -// " `min_dwell_time` INT MIN DEFAULT \"99999\" COMMENT \"\"\n" + -// ")\n" + -// "AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`)\n" + -// "DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" + -// "PROPERTIES (\n" + -// " \"replication_allocation\" = \"tag.location.default: 1\"\n" + -// ");"; -// + } + + /** + * Table creation test + * + * @throws SQLException + */ + @Test + public void createTable() throws SQLException { + + String createTableSQL = "CREATE TABLE example_tbl3\n" + + "(\n" + + " `user_id` LARGEINT NOT NULL COMMENT \"user id\",\n" + + " `date` DATE NOT NULL COMMENT \"\",\n" + + " `city` VARCHAR(20) COMMENT \"\",\n" + + " `age` SMALLINT COMMENT \"\",\n" + + " `sex` TINYINT COMMENT \"\",\n" + + " `last_visit_date` DATETIME REPLACE DEFAULT \"1970-01-01 00:00:00\" COMMENT \"\",\n" + + " `cost` BIGINT SUM DEFAULT \"0\" COMMENT \"\",\n" + + " `max_dwell_time` INT MAX DEFAULT \"0\" COMMENT \"\",\n" + + " `min_dwell_time` INT MIN DEFAULT \"99999\" COMMENT \"\"\n" + + ")\n" + + "AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`)\n" + + "DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" + + "PROPERTIES (\n" + + " \"replication_allocation\" = \"tag.location.default: 1\"\n" + + ");"; + // statement.execute(createTableSQL); -// log.info("Table created successfully."); -// } -// -// @Test -// public void deleteTable() throws SQLException { -// String tableName = "example_tbl2"; -// // construct SQL statements and delete tables -// String sql = "DROP TABLE " + tableName; -// -// // execute SQL statement to delete table + log.info("Table created successfully."); + } + + @Test + public void deleteTable() throws SQLException { + String tableName = "example_tbl2"; + // construct SQL statements and delete tables + String sql = "DROP TABLE " + tableName; + + // execute SQL statement to delete table // statement.executeUpdate(sql); -// -// log.info("Table " + tableName + " deleted successfully."); -// -// } -// -// @After -// public void shutDown() throws SQLException { + + log.info("Table " + tableName + " deleted successfully."); + + } + + @After + public void shutDown() throws SQLException { // preparedStatement.close(); // connection.close(); -// } -//} + } +} diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/EsPluginTest.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/EsPluginTest.java index 853fd955f..7f7e6f9c1 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/EsPluginTest.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/EsPluginTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream; diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/LogParserTest.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/LogParserTest.java index 1a891d876..7c9a86449 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/LogParserTest.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/LogParserTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream; diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MessageConsumeTest.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MessageConsumeTest.java index 675f34d54..9890b8d90 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MessageConsumeTest.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MessageConsumeTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream; diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MessageSenderFactoryTest.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MessageSenderFactoryTest.java index 8bad061ef..5b19fe22c 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MessageSenderFactoryTest.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MessageSenderFactoryTest.java @@ -1,95 +1,99 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ozhera.log.stream; + +import com.xiaomi.youpin.docean.Ioc; +import lombok.extern.slf4j.Slf4j; +import org.apache.ozhera.log.model.LogtailConfig; +import org.apache.ozhera.log.model.StorageInfo; +import org.apache.ozhera.log.stream.common.SinkJobEnum; +import org.apache.ozhera.log.stream.job.JobManager; +import org.apache.ozhera.log.stream.job.SinkJobConfig; +import org.junit.Before; +import org.junit.Test; + +import java.io.IOException; + +import static org.apache.ozhera.log.stream.common.util.StreamUtils.getConfigFromNacos; + + +/** + * @author wtt + * @version 1.0 + * @description + * @date 2023/11/14 17:02 */ -//package com.xiaomi.mone.log.stream; -// -//import com.xiaomi.mone.log.model.LogtailConfig; -//import com.xiaomi.mone.log.model.StorageInfo; -//import com.xiaomi.mone.log.stream.common.SinkJobEnum; -//import com.xiaomi.mone.log.stream.job.JobManager; -//import com.xiaomi.mone.log.stream.job.SinkJobConfig; -//import com.xiaomi.youpin.docean.Ioc; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.Before; -//import org.junit.Test; -// -//import java.io.IOException; -// -//import static com.xiaomi.mone.log.stream.common.util.StreamUtils.getConfigFromNacos; -// -///** -// * @author wtt -// * @version 1.0 -// * @description -// * @date 2023/11/14 17:02 -// */ -//@Slf4j -//public class MessageSenderFactoryTest { -// -// @Before -// public void init() { -// getConfigFromNacos(); -// Ioc.ins().init("com.xiaomi.mone.log.stream", "com.xiaomi.youpin.docean"); -// } -// -// @Test -// public void addDorisTest() throws IOException { -// SinkJobConfig sinkJobConfig = new SinkJobConfig(); -// sinkJobConfig.setLogSpaceId(2L); -// sinkJobConfig.setLogStoreId(120042L); -// sinkJobConfig.setLogTailId(90028L); -// sinkJobConfig.setTail("china_zzytest"); -// sinkJobConfig.setMqType("rocketmq"); -// sinkJobConfig.setAk(""); -// sinkJobConfig.setSk(""); -// sinkJobConfig.setClusterInfo(""); -// sinkJobConfig.setTopic("market-393-topic"); -// sinkJobConfig.setTag("test_server_log"); -// sinkJobConfig.setIndex("hera_log_doris_table_120002_120042"); -// sinkJobConfig.setKeyList("timestamp:date,level:keyword,traceId:keyword,threadName:text,className:text,line:keyword,methodName:keyword,message:keyword,logstore:keyword,logsource:keyword,mqtopic:keyword,mqtag:keyword,logip:keyword,tail:keyword,linenumber:long"); -// sinkJobConfig.setValueList("0,1,2,3,4,5,-1,6"); -// sinkJobConfig.setParseScript("|"); -// sinkJobConfig.setLogStoreName("测试创建dorfdgdfg"); -// sinkJobConfig.setTail("hera-app"); -// sinkJobConfig.setStorageType("doris"); -// sinkJobConfig.setParseType(2); -// sinkJobConfig.setJobType(SinkJobEnum.NORMAL_JOB.name()); -// StorageInfo storageInfo = new StorageInfo(); -// storageInfo.setAddr("jdbc:mysql://127.0.0.1:9030/demo"); -// storageInfo.setUser("root"); -// storageInfo.setPwd(""); -// sinkJobConfig.setStorageInfo(storageInfo); -// -// LogtailConfig logtailConfig = new LogtailConfig(); -// logtailConfig.setLogtailId(sinkJobConfig.getLogTailId()); -// logtailConfig.setTail(sinkJobConfig.getTail()); -// logtailConfig.setAk(sinkJobConfig.getAk()); -// logtailConfig.setSk(sinkJobConfig.getSk()); -// logtailConfig.setClusterInfo(sinkJobConfig.getClusterInfo()); -// logtailConfig.setConsumerGroup("subGroup_tags_2_125_90174"); -// logtailConfig.setTopic(sinkJobConfig.getTopic()); -// logtailConfig.setTag(sinkJobConfig.getTag()); -// logtailConfig.setParseType(sinkJobConfig.getParseType()); -// logtailConfig.setParseScript(sinkJobConfig.getParseScript()); -// logtailConfig.setValueList(sinkJobConfig.getValueList()); -// logtailConfig.setType(sinkJobConfig.getMqType()); -// -// JobManager jobManager = new JobManager(); +@Slf4j +public class MessageSenderFactoryTest { + + @Before + public void init() { + getConfigFromNacos(); + Ioc.ins().init("com.xiaomi.mone.log.stream", "com.xiaomi.youpin.docean"); + } + + @Test + public void addDorisTest() throws IOException { + SinkJobConfig sinkJobConfig = new SinkJobConfig(); + sinkJobConfig.setLogSpaceId(2L); + sinkJobConfig.setLogStoreId(120042L); + sinkJobConfig.setLogTailId(90028L); + sinkJobConfig.setTail("china_zzytest"); + sinkJobConfig.setMqType("rocketmq"); + sinkJobConfig.setAk(""); + sinkJobConfig.setSk(""); + sinkJobConfig.setClusterInfo(""); + sinkJobConfig.setTopic("market-393-topic"); + sinkJobConfig.setTag("test_server_log"); + sinkJobConfig.setIndex("hera_log_doris_table_120002_120042"); + sinkJobConfig.setKeyList("timestamp:date,level:keyword,traceId:keyword,threadName:text,className:text,line:keyword,methodName:keyword,message:keyword,logstore:keyword,logsource:keyword,mqtopic:keyword,mqtag:keyword,logip:keyword,tail:keyword,linenumber:long"); + sinkJobConfig.setValueList("0,1,2,3,4,5,-1,6"); + sinkJobConfig.setParseScript("|"); + sinkJobConfig.setLogStoreName("测试创建dorfdgdfg"); + sinkJobConfig.setTail("hera-app"); + sinkJobConfig.setStorageType("doris"); + sinkJobConfig.setParseType(2); + sinkJobConfig.setJobType(SinkJobEnum.NORMAL_JOB.name()); + StorageInfo storageInfo = new StorageInfo(); + storageInfo.setAddr("jdbc:mysql://127.0.0.1:9030/demo"); + storageInfo.setUser("root"); + storageInfo.setPwd(""); + sinkJobConfig.setStorageInfo(storageInfo); + + LogtailConfig logtailConfig = new LogtailConfig(); + logtailConfig.setLogtailId(sinkJobConfig.getLogTailId()); + logtailConfig.setTail(sinkJobConfig.getTail()); + logtailConfig.setAk(sinkJobConfig.getAk()); + logtailConfig.setSk(sinkJobConfig.getSk()); + logtailConfig.setClusterInfo(sinkJobConfig.getClusterInfo()); + logtailConfig.setConsumerGroup("subGroup_tags_2_125_90174"); + logtailConfig.setTopic(sinkJobConfig.getTopic()); + logtailConfig.setTag(sinkJobConfig.getTag()); + logtailConfig.setParseType(sinkJobConfig.getParseType()); + logtailConfig.setParseScript(sinkJobConfig.getParseScript()); + logtailConfig.setValueList(sinkJobConfig.getValueList()); + logtailConfig.setType(sinkJobConfig.getMqType()); + + JobManager jobManager = new JobManager(); // jobManager.startJob(logtailConfig, sinkJobConfig.getIndex(), sinkJobConfig.getKeyList(), // sinkJobConfig.getLogStoreName(), storageInfo, sinkJobConfig.getLogStoreId(), // sinkJobConfig.getLogSpaceId(), sinkJobConfig.getStorageType()); // System.in.read(); -// } -//} + } +} diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MqMessageCompensateTest.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MqMessageCompensateTest.java index 7ceedb9a7..924fbd33b 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MqMessageCompensateTest.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/MqMessageCompensateTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream; diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/PatterTest.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/PatterTest.java index 23f805653..2ba3d5085 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/PatterTest.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/PatterTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream; diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/StreamTest.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/StreamTest.java index ce41ad6ba..da74ae835 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/StreamTest.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/StreamTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream; diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/TestSinkChain.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/TestSinkChain.java index f5420ad24..11dd2d83c 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/TestSinkChain.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/TestSinkChain.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream; diff --git a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/TestSomething.java b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/TestSomething.java index a28c241cb..090c42c22 100644 --- a/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/TestSomething.java +++ b/ozhera-log/log-stream/src/test/java/org/apache/ozhera/log/stream/TestSomething.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.stream; diff --git a/ozhera-log/pom.xml b/ozhera-log/pom.xml index f5b508320..392fcbb0f 100644 --- a/ozhera-log/pom.xml +++ b/ozhera-log/pom.xml @@ -1,4 +1,24 @@ + @@ -170,23 +190,23 @@ - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - deploy - - sign - - - your key name - - - - + + + + + + + + + + + + + + + + + diff --git a/ozhera-operator/README.md b/ozhera-operator/README.md index f5c3ef830..c88eff6da 100644 --- a/ozhera-operator/README.md +++ b/ozhera-operator/README.md @@ -1,3 +1,23 @@ + # OzHeraOperator Overview OzHeraOperator is used to deploy the entire Apache OzHera(incubating) system with one click. diff --git a/ozhera-operator/README_CN.md b/ozhera-operator/README_CN.md index 003ae096b..560baffd1 100644 --- a/ozhera-operator/README_CN.md +++ b/ozhera-operator/README_CN.md @@ -1,3 +1,23 @@ + # OzHeraOperator概述 OzHeraOperator用于一键部署整个Apache OzHera(incubating)系统。 diff --git a/ozhera-operator/ozhera-operator-common/pom.xml b/ozhera-operator/ozhera-operator-common/pom.xml index a1e769304..6a30933f6 100644 --- a/ozhera-operator/ozhera-operator-common/pom.xml +++ b/ozhera-operator/ozhera-operator-common/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java index 828a0446b..88375f0b3 100644 --- a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java +++ b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ESIndexConst.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.common; diff --git a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ErrorCode.java b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ErrorCode.java index 08d247cf4..9d21a2bce 100644 --- a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ErrorCode.java +++ b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ErrorCode.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.common; diff --git a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/FileUtils.java b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/FileUtils.java index efdc6747e..d1c95fe11 100644 --- a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/FileUtils.java +++ b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/FileUtils.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.common; diff --git a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/HoConstant.java b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/HoConstant.java index 98b64551e..df59529a1 100644 --- a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/HoConstant.java +++ b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/HoConstant.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.common; diff --git a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/HttpClientUtil.java b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/HttpClientUtil.java index 05c8bac90..b31114099 100755 --- a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/HttpClientUtil.java +++ b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/HttpClientUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.common; diff --git a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ResourceTypeEnum.java b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ResourceTypeEnum.java index 0da050c16..c74c8d5bb 100644 --- a/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ResourceTypeEnum.java +++ b/ozhera-operator/ozhera-operator-common/src/main/java/org/apache/ozhera/operator/common/ResourceTypeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.common; diff --git a/ozhera-operator/ozhera-operator-server/Dockerfile b/ozhera-operator/ozhera-operator-server/Dockerfile index 7121ffead..adf39a897 100644 --- a/ozhera-operator/ozhera-operator-server/Dockerfile +++ b/ozhera-operator/ozhera-operator-server/Dockerfile @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. FROM openjdk:21-jdk-bookworm COPY ./target/ozhera-operator-server-1.0-jdk21.jar /home/work/ozhera-operator-server-1.0-SNAPSHOT.jar diff --git a/ozhera-operator/ozhera-operator-server/pom.xml b/ozhera-operator/ozhera-operator-server/pom.xml index 357af0b98..a11707c03 100644 --- a/ozhera-operator/ozhera-operator-server/pom.xml +++ b/ozhera-operator/ozhera-operator-server/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-operator/ozhera-operator-server/src/main/java/org/apache/ozhera/operator/HeraBootstrap.java b/ozhera-operator/ozhera-operator-server/src/main/java/org/apache/ozhera/operator/HeraBootstrap.java index 0318e6375..ba0f066b0 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/java/org/apache/ozhera/operator/HeraBootstrap.java +++ b/ozhera-operator/ozhera-operator-server/src/main/java/org/apache/ozhera/operator/HeraBootstrap.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator; diff --git a/ozhera-operator/ozhera-operator-server/src/main/java/org/apache/ozhera/operator/controller/OzHeraOperatorController.java b/ozhera-operator/ozhera-operator-server/src/main/java/org/apache/ozhera/operator/controller/OzHeraOperatorController.java index 2a22162a9..d87020fe6 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/java/org/apache/ozhera/operator/controller/OzHeraOperatorController.java +++ b/ozhera-operator/ozhera-operator-server/src/main/java/org/apache/ozhera/operator/controller/OzHeraOperatorController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.controller; diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/config.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/config.properties index d0176f2dd..a4cddeee2 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/config.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/config.properties @@ -1,2 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. log.path=/home/work/log/ozhera-operator crd=mone:run.mone.hera.operator.bo.HeraBootstrap:run.mone.hera.operator.bo.HeraBootstrapList:heraClient:HeraResourceEventHandler \ No newline at end of file diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/logback.xml b/ozhera-operator/ozhera-operator-server/src/main/resources/logback.xml index 447751d98..a01801722 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/logback.xml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/logback.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_auth.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_auth.yaml index b8e049cdb..ced21f5b1 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_auth.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_auth.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: Namespace metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_crd.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_crd.yaml index 974558431..29acda287 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_crd.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_crd.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. # mone bootstrap Custom resources # apply Install the entire mione system directly. apiVersion: apiextensions.k8s.io/v1 diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_deployment.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_deployment.yaml index 31e84edbd..1e53bd391 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_deployment.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/operator/ozhera_operator_deployment.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: Service metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/alertManager/ozhera_alertmanager.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/alertManager/ozhera_alertmanager.yaml index 785f0bfaf..af123efe3 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/alertManager/ozhera_alertmanager.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/alertManager/ozhera_alertmanager.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: ConfigMap metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/cadvisor/ozhera_cadvisor.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/cadvisor/ozhera_cadvisor.yaml index 3777542b9..96e38f6ee 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/cadvisor/ozhera_cadvisor.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/cadvisor/ozhera_cadvisor.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. kind: DaemonSet apiVersion: apps/v1 metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/demo/ozhera_demo_client.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/demo/ozhera_demo_client.yml index 95b22d495..91b7ea845 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/demo/ozhera_demo_client.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/demo/ozhera_demo_client.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/demo/ozhera_demo_server.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/demo/ozhera_demo_server.yml index ea2a44051..b6608791a 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/demo/ozhera_demo_server.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/demo/ozhera_demo_server.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/es/ozhera_es.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/es/ozhera_es.yaml index 2ac44aae8..f35ef9471 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/es/ozhera_es.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/es/ozhera_es.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: ConfigMap metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/grafana/ozhera_grafana.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/grafana/ozhera_grafana.yaml index 1a67f3a9b..edcab4150 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/grafana/ozhera_grafana.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/grafana/ozhera_grafana.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: ConfigMap metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/hera-app/ozhera_app.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/hera-app/ozhera_app.yml index abf62d432..e2768ec52 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/hera-app/ozhera_app.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/hera-app/ozhera_app.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/hera-fe/ozhera_fe.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/hera-fe/ozhera_fe.yml index 829c5420d..b231711c3 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/hera-fe/ozhera_fe.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/hera-fe/ozhera_fe.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-agent-server/ozhera_log_agent-server.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-agent-server/ozhera_log_agent-server.yml index b4db63806..12a813af7 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-agent-server/ozhera_log_agent-server.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-agent-server/ozhera_log_agent-server.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-manager/ozhera_log_manager.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-manager/ozhera_log_manager.yml index 6483f3739..4064215c6 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-manager/ozhera_log_manager.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-manager/ozhera_log_manager.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-stream/ozhera_log_stream.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-stream/ozhera_log_stream.yml index bd1fee9fe..59c0c4868 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-stream/ozhera_log_stream.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/log-stream/ozhera_log_stream.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mimonitor/ozhera_mimonitor.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mimonitor/ozhera_mimonitor.yml index ab91da199..7f3e6a7d2 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mimonitor/ozhera_mimonitor.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mimonitor/ozhera_mimonitor.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/ozhera_mysql.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/ozhera_mysql.yaml index 7301d9d75..cbcf244a9 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/ozhera_mysql.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/ozhera_mysql.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: PersistentVolume metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/grafana.sql b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/grafana.sql index ba05028b1..d4d52963c 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/grafana.sql +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/grafana.sql @@ -1,2 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ CREATE DATABASE IF NOT EXISTS `mione_hera_grafana` DEFAULT CHARACTER SET utf8mb4 ; \ No newline at end of file diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/hera.sql b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/hera.sql index 5ddc5584a..480178530 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/hera.sql +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/hera.sql @@ -1,3 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ CREATE DATABASE IF NOT EXISTS `hera` DEFAULT CHARACTER SET utf8mb4 ; diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/nacos.sql b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/nacos.sql index bbf8b83e9..de9253749 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/nacos.sql +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/nacos.sql @@ -1,3 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ CREATE DATABASE IF NOT EXISTS `nacos_standalone` DEFAULT CHARACTER SET utf8mb4 ; USE `nacos_standalone`; diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/tpc.sql b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/tpc.sql index c1bb738db..953a7ed07 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/tpc.sql +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/mysql/sql/tpc.sql @@ -1,3 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ CREATE DATABASE IF NOT EXISTS `mi_tpc` DEFAULT CHARACTER SET utf8mb4 ; diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_app_config_#_DEFAULT_GROUP.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_app_config_#_DEFAULT_GROUP.properties index 59b9b8d73..6bff461fe 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_app_config_#_DEFAULT_GROUP.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_app_config_#_DEFAULT_GROUP.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. spring.datasource.url=jdbc:mysql://${hera.datasource.url}/hera?characterEncoding=utf8&useSSL=false spring.datasource.username=${hera.datasource.username} spring.datasource.password=${hera.datasource.password} diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_log_manager_open_#_DEFAULT_GROUP.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_log_manager_open_#_DEFAULT_GROUP.properties index 45438bfa6..9579be16e 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_log_manager_open_#_DEFAULT_GROUP.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_log_manager_open_#_DEFAULT_GROUP.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. db_url=jdbc:mysql://${hera.datasource.url}/hera?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true db_user_name=${hera.datasource.username} db_pwd=${hera.datasource.password} diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_trace_config_#_DEFAULT_GROUP.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_trace_config_#_DEFAULT_GROUP.properties index 489811b5a..cf0e20e46 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_trace_config_#_DEFAULT_GROUP.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/hera_trace_config_#_DEFAULT_GROUP.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. query.env=staging query.excludeMethod=favicon.ico|ResourceHttpRequestHandler|ResponseFacade|Controller|Render|/*|EXISTS|PING query.exclude.httpServer=PUT|HTTP diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/log_stream_dataId_open_#_DEFAULT_GROUP.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/log_stream_dataId_open_#_DEFAULT_GROUP.properties index 565036420..88542cbec 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/log_stream_dataId_open_#_DEFAULT_GROUP.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/log_stream_dataId_open_#_DEFAULT_GROUP.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. rocketmq_namesrv_addr=${hera.rocketmq.nameserver} rocketmq_ak=${hera.rocketmq.ak} rocketmq_sk=${hera.rocketmq.sk} diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mi_tpc_#_DEFAULT_GROUP.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mi_tpc_#_DEFAULT_GROUP.properties index 679c3cbc5..af2468bbc 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mi_tpc_#_DEFAULT_GROUP.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mi_tpc_#_DEFAULT_GROUP.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. #0 memory 1 redis cache.type=1 redis.address=${hera.redis.url} diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mi_tpc_login_#_DEFAULT_GROUP.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mi_tpc_login_#_DEFAULT_GROUP.properties index 5bc674c2f..5e718bcd7 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mi_tpc_login_#_DEFAULT_GROUP.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mi_tpc_login_#_DEFAULT_GROUP.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. #0??(redis???????)?1redis cache.type=1 redis.address=${hera.redis.url} diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mimonitor_open_config_#_DEFAULT_GROUP.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mimonitor_open_config_#_DEFAULT_GROUP.properties index acd2e1b64..85bf3ed03 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mimonitor_open_config_#_DEFAULT_GROUP.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/mimonitor_open_config_#_DEFAULT_GROUP.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. # mysql数据源配置 spring.datasource.url=jdbc:mariadb://${hera.datasource.url}/hera?characterEncoding=utf8&useSSL=false spring.datasource.username=${hera.datasource.username} diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/ozhera_webhook_open_config_#_DEFAULT_GROUP.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/ozhera_webhook_open_config_#_DEFAULT_GROUP.properties index d7ae01a03..afaf2d563 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/ozhera_webhook_open_config_#_DEFAULT_GROUP.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/ozhera_webhook_open_config_#_DEFAULT_GROUP.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. nacos.username=nacos nacos.password=nacos tpc.url=http://mi-tpc:8097/backend/node/inner_list diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/prometheus_agent_open_config_#_DEFAULT_GROUP.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/prometheus_agent_open_config_#_DEFAULT_GROUP.properties index 31c077d1b..c25842955 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/prometheus_agent_open_config_#_DEFAULT_GROUP.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/config/prometheus_agent_open_config_#_DEFAULT_GROUP.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. #server dubbo.group=opensource-outer dubbo.protocol.id=dubbo diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/ozhera_nacos.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/ozhera_nacos.yml index e9acf1812..735b65dd1 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/ozhera_nacos.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/nacos/ozhera_nacos.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/node-exporter/ozhera_node-exporter.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/node-exporter/ozhera_node-exporter.yaml index 74e8869bb..b31664211 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/node-exporter/ozhera_node-exporter.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/node-exporter/ozhera_node-exporter.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. kind: DaemonSet apiVersion: apps/v1 metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/outer/ozhera_lb.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/outer/ozhera_lb.yml index 67ad16eef..61dac30dd 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/outer/ozhera_lb.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/outer/ozhera_lb.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: Service metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/outer/ozhera_nodeport.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/outer/ozhera_nodeport.yml index 5be44d29c..fa86347eb 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/outer/ozhera_nodeport.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/outer/ozhera_nodeport.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: Service metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus.yaml index daf70d020..ddcdd7f14 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. kind: ServiceAccount apiVersion: v1 metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus_agent.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus_agent.yaml index 7ef9bb7cb..35bdce36f 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus_agent.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus_agent.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. # For prometheus service use on the cloud apiVersion: apps/v1 kind: Deployment diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/redis/ozhera_redis.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/redis/ozhera_redis.yaml index 6b2028c5d..b175646c8 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/redis/ozhera_redis.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/redis/ozhera_redis.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: Service metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/rocketmq/ozhera_rocketmq.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/rocketmq/ozhera_rocketmq.yaml index e2fb9aefa..20ef7267a 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/rocketmq/ozhera_rocketmq.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/rocketmq/ozhera_rocketmq.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. kind: Deployment apiVersion: apps/v1 diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/sentinel/sentinbel-dashboard-ingress.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/sentinel/sentinbel-dashboard-ingress.yml index acca0b6c5..79f844f5f 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/sentinel/sentinbel-dashboard-ingress.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/sentinel/sentinbel-dashboard-ingress.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: networking.k8s.io/v1 kind: Ingress metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/sentinel/sentinel-dashboard.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/sentinel/sentinel-dashboard.yml index 4b4e393b3..138eb8e3a 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/sentinel/sentinel-dashboard.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/sentinel/sentinel-dashboard.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-fe/ozhera_tpc_fe.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-fe/ozhera_tpc_fe.yml index eafe5a5ac..4ee8be663 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-fe/ozhera_tpc_fe.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-fe/ozhera_tpc_fe.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-login-fe/ozhera_tpc_login_fe.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-login-fe/ozhera_tpc_login_fe.yml index 53cc7a4ca..5a57525ca 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-login-fe/ozhera_tpc_login_fe.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-login-fe/ozhera_tpc_login_fe.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-login/ozhera_tpc_login.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-login/ozhera_tpc_login.yml index 1b5bfac8a..cf1d87992 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-login/ozhera_tpc_login.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc-login/ozhera_tpc_login.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc/ozhera_tpc.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc/ozhera_tpc.yml index e76d13344..e444dd6f2 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc/ozhera_tpc.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/tpc/ozhera_tpc.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-es/ozhera_trace_etl_es.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-es/ozhera_trace_etl_es.yml index e3d4c4244..c7398f775 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-es/ozhera_trace_etl_es.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-es/ozhera_trace_etl_es.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-manager/ozhera_trace_etl_manager.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-manager/ozhera_trace_etl_manager.yml index 6ff4a146f..620aa7108 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-manager/ozhera_trace_etl_manager.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-manager/ozhera_trace_etl_manager.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-server/ozhera_trace_etl_server.yml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-server/ozhera_trace_etl_server.yml index acb6e53a6..7942434ec 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-server/ozhera_trace_etl_server.yml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/trace-etl-server/ozhera_trace_etl_server.yml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/alertManagerClusterDockerfile b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/alertManagerClusterDockerfile index dd1aa5a6a..4e785563f 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/alertManagerClusterDockerfile +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/alertManagerClusterDockerfile @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. FROM prom/alertmanager:v0.24.0 as alertmanager FROM selfflying/centos7.2:latest WORKDIR /home/work/alertmanager/bin/ diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/alertmanager-cluster.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/alertmanager-cluster.yaml index 1b36c51ee..6b43d5a2c 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/alertmanager-cluster.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/alertmanager-cluster.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: ConfigMap metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/startAlertManagerCluster.sh b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/startAlertManagerCluster.sh index b4664c04d..35ca4ba77 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/startAlertManagerCluster.sh +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/alertManagerCluster/startAlertManagerCluster.sh @@ -1,4 +1,18 @@ #!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. IFS=',' read -r -a peer_ips <<< "${PEER_ADDRESS}" str="--cluster.peer=" args="" diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmAgent.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmAgent.yaml index f3dd628f9..f600c8d9b 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmAgent.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmAgent.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmAlert.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmAlert.yaml index ed97356a6..01e0bae4f 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmAlert.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmAlert.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmInsert.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmInsert.yaml index 21b4f678a..f699a84f0 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmInsert.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmInsert.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: Service metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmSelect.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmSelect.yaml index 8e00a086f..42aa95f6a 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmSelect.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmSelect.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmStorage-pv.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmStorage-pv.yaml index 5e2fc9c9b..e0d57331c 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmStorage-pv.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmStorage-pv.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmStorage.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmStorage.yaml index 876224f1d..5df789968 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmStorage.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/vmCluster/vm-k8s-yaml/vmStorage.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/webhook/ozhera_webhook_server.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/webhook/ozhera_webhook_server.yaml index 305f2f6f3..e859e5a14 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/webhook/ozhera_webhook_server.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/webhook/ozhera_webhook_server.yaml @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. apiVersion: v1 kind: ConfigMap metadata: diff --git a/ozhera-operator/ozhera-operator-server/src/test/java/org/apache/ozhera/operator/test/SidecarTest.java b/ozhera-operator/ozhera-operator-server/src/test/java/org/apache/ozhera/operator/test/SidecarTest.java index bf41ec3da..f728cde90 100644 --- a/ozhera-operator/ozhera-operator-server/src/test/java/org/apache/ozhera/operator/test/SidecarTest.java +++ b/ozhera-operator/ozhera-operator-server/src/test/java/org/apache/ozhera/operator/test/SidecarTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.test; diff --git a/ozhera-operator/ozhera-operator-service/pom.xml b/ozhera-operator/ozhera-operator-service/pom.xml index 8a2596530..62a322157 100644 --- a/ozhera-operator/ozhera-operator-service/pom.xml +++ b/ozhera-operator/ozhera-operator-service/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraBootstrap.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraBootstrap.java index fc18d9a5d..6dcca828a 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraBootstrap.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraBootstrap.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.bo; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraBootstrapList.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraBootstrapList.java index b76165bf4..6477735b7 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraBootstrapList.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraBootstrapList.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.bo; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraObjectMeta.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraObjectMeta.java index ff958dfc4..42af6890b 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraObjectMeta.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraObjectMeta.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.bo; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraResource.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraResource.java index 4ef948b84..5a6b87e29 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraResource.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraResource.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.bo; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraSpec.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraSpec.java index 640ce687b..34138f348 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraSpec.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraSpec.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.bo; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraStatus.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraStatus.java index f5571db10..d9686fc16 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraStatus.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/HeraStatus.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.bo; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/PropConf.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/PropConf.java index d31d2027e..19fae596e 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/PropConf.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/PropConf.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.bo; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/dashboard/GrafanaApiKeyReq.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/dashboard/GrafanaApiKeyReq.java index 12fd90a6e..815605f3a 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/dashboard/GrafanaApiKeyReq.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/dashboard/GrafanaApiKeyReq.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.bo.dashboard; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/dashboard/GrafanaApiKeyRes.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/dashboard/GrafanaApiKeyRes.java index 685a85e87..fade3b75d 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/dashboard/GrafanaApiKeyRes.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/bo/dashboard/GrafanaApiKeyRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.bo.dashboard; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/common/K8sUtilBean.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/common/K8sUtilBean.java index 83c6d8c96..ead5fa1e4 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/common/K8sUtilBean.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/common/K8sUtilBean.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.common; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/DashboardDTO.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/DashboardDTO.java index d575a29bb..bd605f7ae 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/DashboardDTO.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/DashboardDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.dto; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/DeployStateDTO.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/DeployStateDTO.java index 5a7c324c4..8163d6b1a 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/DeployStateDTO.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/DeployStateDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.dto; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/HeraOperatorDefineDTO.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/HeraOperatorDefineDTO.java index 5b8840d5c..b675e4b96 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/HeraOperatorDefineDTO.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/HeraOperatorDefineDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.dto; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/OperatorStateDTO.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/OperatorStateDTO.java index 5862bda5f..085c9231d 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/OperatorStateDTO.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/OperatorStateDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.dto; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/PodStateDTO.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/PodStateDTO.java index b8629ed40..360ef1319 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/PodStateDTO.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/PodStateDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.dto; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/ServiceCheckResource.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/ServiceCheckResource.java index 97dcc1459..91ee33b8d 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/ServiceCheckResource.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/dto/ServiceCheckResource.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.dto; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java index 97163b5cd..3c594350e 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.handler; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/ESService.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/ESService.java index 62a23ad59..097b8a2f8 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/ESService.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/ESService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.service; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/HeraBootstrapInitService.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/HeraBootstrapInitService.java index 2f864b6cd..6e827718e 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/HeraBootstrapInitService.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/HeraBootstrapInitService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.service; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/IResource.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/IResource.java index 174bb1179..100454668 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/IResource.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/IResource.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.service; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/NacosService.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/NacosService.java index 04e995d13..f203922a3 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/NacosService.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/NacosService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.service; diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/RocketMQService.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/RocketMQService.java index 008eb33da..8d883892e 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/RocketMQService.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/RocketMQService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.service; diff --git a/ozhera-operator/ozhera-operator-service/src/test/java/org/apache/ozhera/operator/test/PlaceholderTest.java b/ozhera-operator/ozhera-operator-service/src/test/java/org/apache/ozhera/operator/test/PlaceholderTest.java index 26eabd99b..231bf8887 100644 --- a/ozhera-operator/ozhera-operator-service/src/test/java/org/apache/ozhera/operator/test/PlaceholderTest.java +++ b/ozhera-operator/ozhera-operator-service/src/test/java/org/apache/ozhera/operator/test/PlaceholderTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.operator.test; diff --git a/ozhera-operator/pom.xml b/ozhera-operator/pom.xml index 34c540c59..25eeab712 100644 --- a/ozhera-operator/pom.xml +++ b/ozhera-operator/pom.xml @@ -1,4 +1,24 @@ + From ad7b5d4037f8d66d46724b30fb72d7bf5675f6a6 Mon Sep 17 00:00:00 2001 From: gaoxh <32359336+gaoxh@users.noreply.github.com> Date: Wed, 20 Nov 2024 10:42:16 +0800 Subject: [PATCH 14/19] fix: update the copyright statement in the file header and add a notice file (#509) --- CONTRIBUTING.md | 21 ++ CONTRIBUTING_CN.md | 21 ++ HEADER | 2 +- NOTICE | 5 + README.md | 21 ++ README_CN.md | 21 ++ build.sh | 18 ++ docker-build.sh | 17 ++ ozhera-app/README.md | 19 ++ ozhera-app/README_cn.md | 19 ++ ozhera-app/app-api/pom.xml | 20 ++ .../api/message/HeraAppInfoModifyMessage.java | 25 +- .../app/api/message/HeraAppModifyType.java | 25 +- .../app/api/model/HeraAppBaseInfoModel.java | 25 +- .../api/model/HeraAppBaseInfoParticipant.java | 25 +- .../app/api/model/HeraAppBaseQuery.java | 25 +- .../ozhera/app/api/model/HeraAppEnvData.java | 25 +- .../ozhera/app/api/model/HeraAppMqInfo.java | 25 +- .../app/api/model/HeraAppRoleModel.java | 25 +- .../ozhera/app/api/model/HeraSimpleEnv.java | 25 +- .../group/HeraProjectGroupAppRequest.java | 25 +- .../group/HeraProjectGroupDataRequest.java | 25 +- .../project/group/HeraProjectGroupModel.java | 25 +- .../group/HeraProjectGroupUserModel.java | 25 +- .../project/group/ProjectGroupTreeNode.java | 25 +- .../ozhera/app/api/response/AppBaseInfo.java | 25 +- .../ozhera/app/api/response/PairResponse.java | 25 +- .../api/service/HeraAppEnvOutwardService.java | 25 +- .../app/api/service/HeraAppService.java | 25 +- .../app/api/service/HeraAuthorizationApi.java | 25 +- .../service/HeraProjectGroupServiceApi.java | 25 +- ozhera-app/app-common/pom.xml | 20 ++ .../apache/ozhera/app/common/Constant.java | 25 +- .../org/apache/ozhera/app/common/Result.java | 25 +- .../apache/ozhera/app/enums/AppTypeEnum.java | 25 +- .../apache/ozhera/app/enums/BizCodeEnum.java | 25 +- .../apache/ozhera/app/enums/CommonError.java | 25 +- .../apache/ozhera/app/enums/OperateEnum.java | 25 +- .../org/apache/ozhera/app/enums/PlatForm.java | 25 +- .../ozhera/app/enums/PlatFormTypeEnum.java | 25 +- .../ozhera/app/enums/ProjectTypeEnum.java | 25 +- .../apache/ozhera/app/enums/StatusEnum.java | 25 +- .../ozhera/app/exception/AppException.java | 25 +- .../apache/ozhera/app/model/BaseCommon.java | 25 +- .../ozhera/app/model/vo/HeraAppEnvVo.java | 25 +- .../ozhera/app/model/vo/HeraAppOperateVo.java | 25 +- .../ozhera/app/model/vo/HeraEnvIpVo.java | 25 +- .../apache/ozhera/app/model/vo/PodInfo.java | 25 +- .../ozhera/app/model/vo/TpcLabelRes.java | 25 +- .../ozhera/app/model/vo/TpcPageRes.java | 25 +- .../org/apache/ozhera/app/valid/AddGroup.java | 25 +- .../apache/ozhera/app/valid/UpdateGroup.java | 25 +- ozhera-app/app-server/Dockerfile | 15 ++ ozhera-app/app-server/pom.xml | 20 ++ .../org/apache/ozhera/app/AppBootstrap.java | 25 +- .../app/aop/OperateAppBaseInfoAspect.java | 25 +- .../apache/ozhera/app/config/BeanConfig.java | 25 +- .../ozhera/app/config/DataSourceConfig.java | 25 +- .../ozhera/app/config/DubboConfiguration.java | 25 +- .../apache/ozhera/app/config/MqConfig.java | 25 +- .../ozhera/app/config/RocketMqConfig.java | 25 +- .../ozhera/app/controller/AppController.java | 25 +- .../app/controller/HeraAppEnvController.java | 25 +- .../ozhera/app/controller/TestController.java | 25 +- .../AppExceptionControllerAdvice.java | 25 +- .../ozhera/app/job/HeraAppEnvIpJob.java | 25 +- .../app/response/AppResponseAdvice.java | 25 +- .../app/response/anno/OriginalResponse.java | 25 +- .../resources/application-open.properties | 15 ++ .../src/main/resources/application.properties | 15 ++ .../src/main/resources/logback-spring.xml | 20 ++ .../apache/ozhera/app/test/AppBaseTest.java | 37 +-- .../app/test/EnvIpFetchServiceTest.java | 34 +-- .../app/test/HeraAppEnvControllerTest.java | 29 ++- .../test/HeraAppEnvOutwardServiceTest.java | 25 +- .../ozhera/app/test/HeraProjectGroupTest.java | 43 ++-- .../apache/ozhera/app/test/RocketMqTest.java | 29 ++- .../ozhera/app/test/SpringBootFeatTest.java | 25 +- .../org/apache/ozhera/app/test/UserBean.java | 25 +- ozhera-app/app-service/pom.xml | 20 ++ .../ozhera/app/auth/AuthorizationService.java | 25 +- .../ozhera/app/config/NacosConfiguration.java | 25 +- .../apache/ozhera/app/dao/HeraAppRoleDao.java | 25 +- .../ozhera/app/dao/HeraBaseInfoDao.java | 25 +- .../app/dao/HeraProjectGroupAppDao.java | 25 +- .../ozhera/app/dao/HeraProjectGroupDao.java | 25 +- .../app/dao/HeraProjectGroupUserDao.java | 25 +- .../app/dao/mapper/HeraAppBaseInfoMapper.java | 25 +- .../app/dao/mapper/HeraAppEnvMapper.java | 26 +- .../dao/mapper/HeraAppExcessInfoMapper.java | 26 +- .../app/dao/mapper/HeraAppRoleMapper.java | 26 +- .../dao/mapper/HeraProjectGroupAppMapper.java | 26 +- .../dao/mapper/HeraProjectGroupMapper.java | 26 +- .../mapper/HeraProjectGroupUserMapper.java | 26 +- .../ozhera/app/model/HeraAppBaseInfo.java | 25 +- .../app/model/HeraAppBaseInfoExample.java | 25 +- .../apache/ozhera/app/model/HeraAppEnv.java | 25 +- .../ozhera/app/model/HeraAppExcessInfo.java | 25 +- .../apache/ozhera/app/model/HeraAppRole.java | 25 +- .../ozhera/app/model/HeraAppRoleExample.java | 25 +- .../ozhera/app/model/HeraMetaDataPort.java | 25 +- .../ozhera/app/model/HeraProjectGroup.java | 25 +- .../ozhera/app/model/HeraProjectGroupApp.java | 25 +- .../app/model/HeraProjectGroupAppExample.java | 25 +- .../app/model/HeraProjectGroupExample.java | 25 +- .../app/model/HeraProjectGroupUser.java | 25 +- .../model/HeraProjectGroupUserExample.java | 25 +- .../apache/ozhera/app/redis/RedisService.java | 25 +- .../ozhera/app/service/HeraAppEnvService.java | 25 +- .../app/service/HeraAppRoleService.java | 25 +- .../app/service/env/DefaultEnvIpFetch.java | 25 +- .../service/env/DefaultHttpEnvIpFetch.java | 25 +- .../service/env/DefaultNacosEnvIpFetch.java | 25 +- .../ozhera/app/service/env/EnvIpFetch.java | 25 +- .../extension/AppTypeServiceExtension.java | 25 +- .../impl/DefaultAppTypeServiceExtension.java | 25 +- .../impl/AuthorizationServiceImpl.java | 25 +- .../service/impl/HeraAppBaseInfoService.java | 25 +- .../impl/HeraAppEnvOutwardServiceImpl.java | 25 +- .../service/impl/HeraAppEnvServiceImpl.java | 25 +- .../app/service/impl/HeraAppServiceImpl.java | 25 +- .../impl/HeraProjectGroupServiceImpl.java | 25 +- .../service/mq/RocketMqHeraAppConsumer.java | 25 +- .../service/mq/RocketMqHeraAppProducer.java | 25 +- .../app/service/mq/model/HeraAppMessage.java | 25 +- .../group/HeraProjectGroupService.java | 25 +- .../project/group/TreeQueryBuilder.java | 25 +- .../ozhera/app/util/AppTypeTransferUtil.java | 25 +- .../mapper/HeraAppBaseInfoMapper.xml | 20 ++ .../resources/mapper/HeraAppRoleMapper.xml | 20 ++ .../mapper/HeraProjectGroupAppMapper.xml | 20 ++ .../mapper/HeraProjectGroupMapper.xml | 20 ++ .../mapper/HeraProjectGroupUserMapper.xml | 20 ++ ozhera-app/pom.xml | 20 ++ ozhera-intelligence/README.md | 21 ++ ozhera-intelligence/README_cn.md | 21 ++ .../ozhera-intelligence-domain/pom.xml | 20 ++ .../domain/rootanalysis/LogParam.java | 25 +- .../domain/rootanalysis/LogPromptResult.java | 25 +- .../domain/rootanalysis/MarkDownParam.java | 25 +- .../rootanalysis/MetricsPromptResult.java | 25 +- .../rootanalysis/MetricsQueryParam.java | 25 +- .../rootanalysis/TracePromptResult.java | 25 +- .../domain/rootanalysis/TraceQueryParam.java | 25 +- .../ozhera-intelligence-server/pom.xml | 20 ++ .../bootstrap/IntelligenceBootStrap.java | 25 +- .../controller/RootAnalysisController.java | 25 +- .../src/main/resources/application.properties | 15 ++ .../config/opensource-outer.properties | 15 ++ .../src/main/resources/logback.xml | 20 ++ .../ozhera-intelligence-service/pom.xml | 20 ++ .../intelligence/service/LogService.java | 25 +- .../intelligence/service/MetricsService.java | 25 +- .../intelligence/service/PromptService.java | 25 +- .../service/RootAnalysisConst.java | 25 +- .../service/RootAnalysisService.java | 25 +- .../intelligence/service/TraceService.java | 25 +- ozhera-intelligence/pom.xml | 20 ++ ozhera-monitor/Dockerfile | 15 ++ ozhera-monitor/README.md | 21 ++ ozhera-monitor/README_cn.md | 21 ++ ozhera-monitor/ozhera-monitor-api/pom.xml | 20 ++ .../org/apache/ozhera/monitor/service/AA.java | 25 +- .../org/apache/ozhera/monitor/service/AB.java | 25 +- .../monitor/service/AlertGroupFacade.java | 25 +- .../service/AppCapacityAutoAdjustService.java | 25 +- .../ozhera/monitor/service/Grafana.java | 25 +- .../monitor/service/GrafanaApiService.java | 25 +- .../monitor/service/MiFeiShuService.java | 25 +- .../ozhera/monitor/service/NoticeService.java | 25 +- .../monitor/service/SendSmsService.java | 25 +- .../monitor/service/bo/AlertGroupQryInfo.java | 25 +- .../service/bo/AppCapacityAutoAdjustBo.java | 25 +- .../service/bo/CapacityAdjustCause.java | 25 +- .../service/bo/CapacityAdjustNoticeParam.java | 25 +- .../service/bo/CapacityAdjustType.java | 25 +- .../ozhera/monitor/service/bo/CensusInfo.java | 25 +- ozhera-monitor/ozhera-monitor-common/pom.xml | 20 ++ .../ozhera/monitor/DashboardConstant.java | 25 +- .../ozhera/monitor/result/ErrorCode.java | 25 +- .../ozhera/monitor/result/ExceptionCode.java | 25 +- .../apache/ozhera/monitor/result/Result.java | 25 +- .../monitor/result/TemplateAppType.java | 26 +- .../monitor/result/TemplateLanguage.java | 25 +- .../monitor/result/TemplatePlatform.java | 26 +- .../apache/ozhera/monitor/utils/AesUtil.java | 65 ----- .../ozhera/monitor/utils/CommonUtil.java | 25 +- .../ozhera/monitor/utils/ConstUtil.java | 25 +- .../ozhera/monitor/utils/FreeMarkerUtil.java | 25 +- .../src/main/resources/eventflow.ftl | 20 ++ ozhera-monitor/ozhera-monitor-server/pom.xml | 20 ++ .../monitor/aop/HeraRequestMapping.java | 25 +- .../monitor/aop/HeraRequestMappingAspect.java | 25 +- .../monitor/bootstrap/MiMonitorBootstrap.java | 25 +- .../monitor/config/BeanConfiguration.java | 26 +- .../monitor/config/DataSourceConfig.java | 25 +- .../monitor/config/DubboConfiguration.java | 26 +- .../monitor/config/FilterConfiguration.java | 25 +- .../ozhera/monitor/config/RedisConfig.java | 26 +- .../controller/AlarmAutoConfigController.java | 26 +- .../monitor/controller/AlarmController.java | 26 +- .../controller/AlarmStrategyController.java | 26 +- .../controller/AlertGroupController.java | 26 +- .../controller/AlertHistoryController.java | 26 +- .../controller/AppMonitorController.java | 26 +- .../controller/AuthorizationController.java | 26 +- .../controller/GrafanaMappingController.java | 26 +- .../controller/GrafanaTemplateController.java | 26 +- .../HeraProjectGroupController.java | 26 +- .../controller/PrometheusController.java | 26 +- .../controller/QualityMarketController.java | 26 +- .../RulePromQLTemplateController.java | 26 +- .../controller/ScrapeJobController.java | 26 +- .../controller/ServiceMarketController.java | 26 +- .../monitor/controller/TestController.java | 26 +- .../monitor/controller/UserController.java | 26 +- .../controller/model/PromQueryRangeParam.java | 26 +- .../monitor/controller/model/TimeUnit.java | 26 +- .../monitor/filter/AuthorizationFilter.java | 26 +- .../listener/ApplicationStartedListener.java | 26 +- .../application-opensource-outer.properties | 14 + .../src/main/resources/application.properties | 14 + .../src/main/resources/error/401.htm | 21 ++ .../src/main/resources/log4j.properties | 15 ++ .../src/main/resources/logback.xml | 20 ++ .../src/main/resources/zookeeper.properties | 15 ++ .../ozhera/monitor/AlertGroupServiceTest.java | 83 ------ .../org/apache/ozhera/monitor/AlertTest.java | 174 ------------- .../monitor/AppAlarmStrategyDaoImplTest.java | 114 --------- .../ozhera/monitor/AppMonitorDaoTest.java | 158 ------------ .../ozhera/monitor/AppMonitorServiceTest.java | 240 ------------------ .../apache/ozhera/monitor/FreeMarkerTest.java | 26 +- ozhera-monitor/ozhera-monitor-service/pom.xml | 20 ++ .../ozhera/monitor/bo/AlarmAlertLevel.java | 26 +- .../monitor/bo/AlarmCheckDataCount.java | 26 +- .../ozhera/monitor/bo/AlarmPresetMetrics.java | 26 +- .../monitor/bo/AlarmRuleMetricType.java | 26 +- .../monitor/bo/AlarmRuleTemplateType.java | 26 +- .../ozhera/monitor/bo/AlarmRuleType.java | 26 +- .../ozhera/monitor/bo/AlarmSendInterval.java | 26 +- .../ozhera/monitor/bo/AlarmStrategyInfo.java | 26 +- .../ozhera/monitor/bo/AlarmStrategyParam.java | 26 +- .../ozhera/monitor/bo/AlarmStrategyType.java | 26 +- .../ozhera/monitor/bo/AlertGroupInfo.java | 26 +- .../ozhera/monitor/bo/AlertGroupParam.java | 25 +- .../ozhera/monitor/bo/AlertHistory.java | 25 +- .../monitor/bo/AlertHistoryDetailed.java | 25 +- .../ozhera/monitor/bo/AlertHistoryParam.java | 25 +- .../apache/ozhera/monitor/bo/AppLanguage.java | 25 +- .../monitor/bo/AppMonitorConfigType.java | 25 +- .../org/apache/ozhera/monitor/bo/AppType.java | 25 +- .../apache/ozhera/monitor/bo/AppViewType.java | 25 +- .../ozhera/monitor/bo/AppendLabelType.java | 25 +- .../apache/ozhera/monitor/bo/AreaType.java | 25 +- .../ozhera/monitor/bo/BasicUrlType.java | 25 +- .../ozhera/monitor/bo/DashboardDTO.java | 25 +- .../ozhera/monitor/bo/GrafanaApiKeyReq.java | 25 +- .../ozhera/monitor/bo/GrafanaApiKeyRes.java | 25 +- .../monitor/bo/GrafanaBlackListParam.java | 25 +- .../monitor/bo/GrafanaCreateDashboardRes.java | 25 +- .../bo/GrafanaCreateDataSourceInnerRes.java | 25 +- .../bo/GrafanaCreateDataSourceReq.java | 25 +- .../bo/GrafanaCreateDataSourceRes.java | 25 +- .../ozhera/monitor/bo/GrafanaFolderReq.java | 25 +- .../ozhera/monitor/bo/GrafanaFolderRes.java | 25 +- .../monitor/bo/GrafanaGetDataSourceRes.java | 25 +- .../monitor/bo/GrafanaGetFolderRes.java | 25 +- .../monitor/bo/GrafanaInterfaceRes.java | 25 +- .../apache/ozhera/monitor/bo/HeraReqInfo.java | 25 +- .../monitor/bo/InterfaceMetricTypes.java | 25 +- .../ozhera/monitor/bo/InterfaceNameEnum.java | 25 +- .../ozhera/monitor/bo/MetricLabelKind.java | 25 +- .../apache/ozhera/monitor/bo/MetricsRule.java | 25 +- .../apache/ozhera/monitor/bo/MetricsUnit.java | 25 +- .../ozhera/monitor/bo/ModuleNameEnum.java | 25 +- .../ozhera/monitor/bo/OperLogAction.java | 25 +- .../org/apache/ozhera/monitor/bo/Pair.java | 25 +- .../apache/ozhera/monitor/bo/PlatForm.java | 25 +- .../ozhera/monitor/bo/PlatFormType.java | 25 +- .../ozhera/monitor/bo/PresetMetricLabels.java | 25 +- .../ozhera/monitor/bo/ReqErrorMetrics.java | 25 +- .../ozhera/monitor/bo/ReqSlowMetrics.java | 25 +- .../monitor/bo/ResourceUsageMetrics.java | 25 +- .../monitor/bo/RulePromQLTemplateInfo.java | 25 +- .../monitor/bo/RulePromQLTemplateParam.java | 25 +- .../ozhera/monitor/bo/RuleStatusType.java | 25 +- .../ozhera/monitor/bo/SendAlertGroupKey.java | 25 +- .../org/apache/ozhera/monitor/bo/Triple.java | 25 +- .../apache/ozhera/monitor/bo/UserInfo.java | 25 +- .../ozhera/monitor/bo/serviceMarketType.java | 25 +- .../ozhera/monitor/config/MqConfig.java | 25 +- .../monitor/config/NacosConfiguration.java | 26 +- .../monitor/config/RestTemplateConfig.java | 26 +- .../ozhera/monitor/dao/AlertGroupDao.java | 25 +- .../monitor/dao/AlertManagerRulesDao.java | 25 +- .../ozhera/monitor/dao/AppAlarmRuleDao.java | 25 +- .../monitor/dao/AppAlarmRuleTemplateDao.java | 25 +- .../monitor/dao/AppAlarmStrategyDao.java | 25 +- .../monitor/dao/AppCapacityAutoAdjustDao.java | 25 +- .../dao/AppCapacityAutoAdjustRecordDao.java | 25 +- .../monitor/dao/AppGrafanaMappingDao.java | 25 +- .../monitor/dao/AppMonitorConfigDao.java | 25 +- .../ozhera/monitor/dao/AppMonitorDao.java | 25 +- .../monitor/dao/AppQualityMarketDao.java | 25 +- .../ozhera/monitor/dao/AppScrapeJobDao.java | 25 +- .../monitor/dao/AppServiceMarketDao.java | 25 +- .../monitor/dao/GrafanaBlackListDao.java | 25 +- .../monitor/dao/GrafanaTemplateDao.java | 25 +- .../ozhera/monitor/dao/HeraAppRoleDao.java | 25 +- .../ozhera/monitor/dao/HeraOperLogDao.java | 26 +- .../monitor/dao/RulePromQLTemplateDao.java | 26 +- .../dao/impl/AppAlarmStrategyDaoImpl.java | 25 +- .../dao/mapper/AlertManagerRulesMapper.java | 25 +- .../dao/mapper/AppAlarmRuleMapper.java | 25 +- .../mapper/AppAlarmRuleTemplateMapper.java | 25 +- .../mapper/AppCapacityAutoAdjustMapper.java | 25 +- .../AppCapacityAutoAdjustRecordMapper.java | 25 +- .../dao/mapper/AppGrafanaBlackListMapper.java | 25 +- .../dao/mapper/AppGrafanaMappingMapper.java | 25 +- .../dao/mapper/AppMonitorConfigMapper.java | 25 +- .../monitor/dao/mapper/AppMonitorMapper.java | 25 +- .../dao/mapper/AppQualityMarketMapper.java | 25 +- .../dao/mapper/AppScrapeJobMapper.java | 25 +- .../dao/mapper/AppServiceMarketMapper.java | 25 +- .../dao/mapper/GrafanaTemplateMapper.java | 25 +- .../monitor/dao/mapper/HeraAppRoleMapper.java | 26 +- .../monitor/dao/model/AlarmHealthQuery.java | 26 +- .../monitor/dao/model/AlarmHealthResult.java | 26 +- .../monitor/dao/model/AlarmStrategy.java | 26 +- .../ozhera/monitor/dao/model/AlertGroup.java | 26 +- .../monitor/dao/model/AlertGroupMember.java | 26 +- .../monitor/dao/model/AlertManagerRules.java | 25 +- .../dao/model/AlertManagerRulesExample.java | 26 +- .../monitor/dao/model/AppAlarmRule.java | 26 +- .../dao/model/AppAlarmRuleExample.java | 26 +- .../dao/model/AppAlarmRuleTemplate.java | 26 +- .../model/AppAlarmRuleTemplateExample.java | 26 +- .../dao/model/AppCapacityAutoAdjust.java | 26 +- .../model/AppCapacityAutoAdjustExample.java | 25 +- .../model/AppCapacityAutoAdjustRecord.java | 25 +- .../AppCapacityAutoAdjustRecordExample.java | 25 +- .../dao/model/AppGrafanaBlackList.java | 25 +- .../dao/model/AppGrafanaBlackListExample.java | 25 +- .../monitor/dao/model/AppGrafanaMapping.java | 25 +- .../dao/model/AppGrafanaMappingExample.java | 25 +- .../ozhera/monitor/dao/model/AppMonitor.java | 25 +- .../monitor/dao/model/AppMonitorConfig.java | 25 +- .../dao/model/AppMonitorConfigExample.java | 25 +- .../monitor/dao/model/AppMonitorExample.java | 25 +- .../monitor/dao/model/AppQualityMarket.java | 25 +- .../dao/model/AppQualityMarketExample.java | 25 +- .../monitor/dao/model/AppScrapeJob.java | 25 +- .../dao/model/AppScrapeJobExample.java | 25 +- .../monitor/dao/model/AppServiceMarket.java | 25 +- .../dao/model/AppServiceMarketExample.java | 25 +- .../monitor/dao/model/AppWithRules.java | 25 +- .../monitor/dao/model/GrafanaTemplate.java | 25 +- .../dao/model/GrafanaTemplateExample.java | 25 +- .../ozhera/monitor/dao/model/HeraAppRole.java | 25 +- .../monitor/dao/model/HeraAppRoleExample.java | 25 +- .../ozhera/monitor/dao/model/HeraOperLog.java | 25 +- .../monitor/dao/model/PrometheusJob.java | 25 +- .../monitor/dao/model/RulePromQLTemplate.java | 25 +- .../dao/model/TeslaAlarmHealthResult.java | 25 +- .../ozhera/monitor/enums/BasicAlarmLevel.java | 26 +- .../monitor/enums/KeyCenterRequestType.java | 26 +- .../monitor/pojo/AlarmPresetMetricsPOJO.java | 26 +- .../ozhera/monitor/pojo/BasicUrlTypePOJO.java | 26 +- .../monitor/pojo/MetricLabelKindPOJO.java | 26 +- .../monitor/pojo/ReqErrorMetricsPOJO.java | 26 +- .../monitor/pojo/ReqSlowMetricsPOJO.java | 25 +- .../monitor/service/AlarmStrategyService.java | 25 +- .../monitor/service/AlertGroupService.java | 25 +- .../monitor/service/AlertHistoryService.java | 25 +- .../monitor/service/AppAlarmService.java | 25 +- .../service/AppGrafanaMappingService.java | 25 +- .../service/AppMonitorConfigService.java | 25 +- .../monitor/service/AppMonitorService.java | 25 +- .../monitor/service/ComputeTimerService.java | 25 +- .../service/GrafanaBlackListService.java | 25 +- .../monitor/service/GrafanaService.java | 25 +- .../monitor/service/HeraBaseInfoService.java | 25 +- .../monitor/service/HeraDashboardService.java | 25 +- .../monitor/service/QualityMarketService.java | 25 +- .../monitor/service/ResourceUsageService.java | 25 +- .../service/RulePromQLTemplateService.java | 25 +- .../monitor/service/ServiceMarketService.java | 25 +- .../alertmanager/AlarmExprService.java | 26 +- .../service/alertmanager/AlertManager.java | 26 +- .../alertmanager/AlertServiceAdapt.java | 26 +- .../impl/AlarmExprServiceOuter.java | 26 +- .../alertmanager/impl/AlertManagerImpl.java | 26 +- .../aop/action/HeraRequestMappingAction.java | 25 +- ...HeraRequestMappingActionAlertGroupAdd.java | 25 +- ...aRequestMappingActionAlertGroupDelete.java | 25 +- ...eraRequestMappingActionAlertGroupEdit.java | 25 +- .../action/HeraRequestMappingActionArg0.java | 25 +- .../action/HeraRequestMappingActionArg1.java | 25 +- .../action/HeraRequestMappingActionArg2.java | 26 +- .../action/HeraRequestMappingActionArg3.java | 22 +- .../HeraRequestMappingActionRuleDelete.java | 26 +- .../HeraRequestMappingActionRuleEdit.java | 26 +- .../HeraRequestMappingActionStrategyAdd.java | 26 +- ...eraRequestMappingActionStrategyDelete.java | 26 +- .../HeraRequestMappingActionStrategyEdit.java | 26 +- ...eraRequestMappingActionStrategyEnable.java | 26 +- .../context/HeraRequestMappingContext.java | 26 +- ...aRequestMappingActionAlertGroupHelper.java | 26 +- ...eraRequestMappingActionStrategyHelper.java | 26 +- .../api/AlarmPresetMetricsService.java | 25 +- .../service/api/AlarmServiceExtension.java | 25 +- .../service/api/AlertHelperExtension.java | 25 +- .../service/api/AppAlarmServiceExtension.java | 25 +- .../AppGrafanaMappingServiceExtension.java | 25 +- .../api/AppMonitorServiceExtension.java | 25 +- .../api/ComputeTimerServiceExtension.java | 25 +- .../service/api/EsExtensionService.java | 25 +- .../service/api/GrafanaServiceExtension.java | 25 +- .../monitor/service/api/IAMService.java | 25 +- .../service/api/MetricsLabelKindService.java | 25 +- .../api/PrometheusServiceExtension.java | 25 +- .../service/api/ReqErrorMetricsService.java | 25 +- .../service/api/ReqSlowMetricsService.java | 25 +- .../service/api/ServiceMarketExtension.java | 25 +- .../monitor/service/api/TeslaService.java | 25 +- .../impl/AlarmPresetMetricsServiceImpl.java | 25 +- .../impl/AppAlarmServiceExtensionImpl.java | 25 +- ...AppGrafanaMappingServiceExtensionImpl.java | 25 +- .../impl/AppMonitorServiceExtensionImpl.java | 25 +- .../ComputeTimerServiceExtensionImpl.java | 25 +- .../api/impl/GrafanaServiceExtensionImpl.java | 26 +- .../service/api/impl/IAMServiceImpl.java | 26 +- .../api/impl/MetricsLabelKindServiceImpl.java | 26 +- .../api/impl/PrometheusServiceImpl.java | 26 +- .../api/impl/ReqErrorMetricsServiceImpl.java | 26 +- .../api/impl/ReqSlowMetricsServiceImpl.java | 25 +- .../service/api/impl/ServiceMarketImpl.java | 25 +- .../service/api/impl/TeslaServiceImpl.java | 25 +- .../service/doris/DorisSearchService.java | 25 +- .../service/es/EsExtensionServiceImpl.java | 25 +- .../ozhera/monitor/service/es/EsService.java | 25 +- .../extension/MetricDetailService.java | 26 +- .../extension/MetricsExtensionService.java | 25 +- .../PlatFormTypeExtensionService.java | 25 +- .../impl/MerticDetailServiceImpl.java | 25 +- .../impl/MetricsExtensionServiceImpl.java | 25 +- .../PlatFormTypeExtensionServiceImpl.java | 25 +- .../monitor/service/helper/AlertHelper.java | 26 +- .../helper/AlertHelperExtensionImpl.java | 26 +- .../service/helper/AlertUrlHelper.java | 26 +- .../monitor/service/helper/ProjectHelper.java | 26 +- .../monitor/service/helper/RedisHelper.java | 25 +- .../ozhera/monitor/service/http/MoneSpec.java | 26 +- .../monitor/service/http/RequestParam.java | 26 +- .../service/http/RestTemplateService.java | 26 +- .../ozhera/monitor/service/impl/AAImpl.java | 26 +- .../ozhera/monitor/service/impl/ABImpl.java | 26 +- .../impl/AlarmStrategyServiceImpl.java | 25 +- .../service/impl/AlertGroupServiceImpl.java | 25 +- .../service/impl/AlertHistoryServiceImpl.java | 25 +- .../service/impl/AppAlarmServiceImpl.java | 25 +- .../impl/AppGrafanaMappingServiceImpl.java | 25 +- .../impl/AppMonitorConfigServiceImpl.java | 25 +- .../service/impl/AppMonitorServiceImpl.java | 25 +- .../service/impl/ComputeTimerServiceImpl.java | 25 +- .../service/impl/GrafanaApiServiceImpl.java | 26 +- .../impl/GrafanaBlackListServiceImpl.java | 25 +- .../monitor/service/impl/GrafanaImpl.java | 26 +- .../service/impl/GrafanaServiceImpl.java | 25 +- .../service/impl/HeraBaseInfoServiceImpl.java | 25 +- .../impl/HeraDashboardServiceImpl.java | 25 +- .../impl/QualityMarketServiceImpl.java | 25 +- .../impl/ResourceUsageServiceImpl.java | 25 +- .../impl/RulePromQLTemplateServiceImpl.java | 25 +- .../impl/ServiceMarketServiceImpl.java | 25 +- .../CapacityAdjustMessageService.java | 26 +- .../model/AlarmUnhealthFeishuRequest.java | 26 +- .../service/model/AlertManagerRule.java | 26 +- .../service/model/AppMonitorModel.java | 26 +- .../service/model/AppMonitorRequest.java | 26 +- .../ozhera/monitor/service/model/Area.java | 26 +- .../model/CapacityAdjustRecordRequest.java | 26 +- .../ozhera/monitor/service/model/Env.java | 26 +- .../monitor/service/model/EnvMapping.java | 26 +- .../service/model/GrafanaResponse.java | 26 +- .../service/model/HeraAppBaseQuery.java | 26 +- .../service/model/HeraAppRoleQuery.java | 26 +- .../service/model/MutiGrafanaResponse.java | 26 +- .../monitor/service/model/PageData.java | 26 +- .../monitor/service/model/ProjectInfo.java | 26 +- .../service/model/QualityMarketQuery.java | 26 +- .../ozhera/monitor/service/model/Region.java | 26 +- .../service/model/ResourceUsageMessage.java | 26 +- .../service/model/ServiceMarketQuery.java | 26 +- .../monitor/service/model/UserInfo.java | 26 +- .../service/model/alarm/duty/DutyGroup.java | 26 +- .../service/model/alarm/duty/DutyInfo.java | 26 +- .../model/alarm/duty/ShiftUserInfo.java | 26 +- .../service/model/alarm/duty/UserInfo.java | 26 +- .../model/middleware/DbInstanceQuery.java | 26 +- .../service/model/middleware/MiddleType.java | 26 +- .../middleware/MiddlewareInstanceInfo.java | 26 +- .../service/model/mifaas/ModuleInfo.java | 26 +- .../project/group/ProjectGroupRequest.java | 26 +- .../model/prometheus/AlarmAlertTeamData.java | 26 +- .../model/prometheus/AlarmRuleData.java | 26 +- .../model/prometheus/AlarmRuleDataRemote.java | 26 +- .../model/prometheus/AlarmRuleQuery.java | 26 +- .../model/prometheus/AlarmRuleRequest.java | 26 +- .../prometheus/AlarmRuleTemplateRequest.java | 26 +- .../prometheus/AlarmTemplateResponse.java | 26 +- .../model/prometheus/AlertEventData.java | 26 +- .../model/prometheus/AlertTeamData.java | 26 +- .../model/prometheus/AlertTeamQuery.java | 26 +- .../prometheus/AppAlarmRuleTemplateQuery.java | 26 +- .../model/prometheus/AppRulesQuery.java | 26 +- .../model/prometheus/AppWithAlarmRules.java | 26 +- .../model/prometheus/CreateTemplateParam.java | 26 +- .../model/prometheus/EsIndexDataType.java | 26 +- .../service/model/prometheus/Metric.java | 26 +- .../service/model/prometheus/MetricData.java | 26 +- .../model/prometheus/MetricDataSet.java | 26 +- .../model/prometheus/MetricDataSetVector.java | 26 +- .../model/prometheus/MetricDataVector.java | 26 +- .../model/prometheus/MetricDetail.java | 26 +- .../model/prometheus/MetricDetailQuery.java | 26 +- .../service/model/prometheus/MetricKind.java | 26 +- .../model/prometheus/MetricResponse.java | 26 +- .../prometheus/MetricResponseVector.java | 26 +- .../model/prometheus/MetricStandardData.java | 26 +- .../prometheus/MetricStandardDataSet.java | 26 +- .../prometheus/MetricStandardResponse.java | 26 +- .../service/model/prometheus/MiLogQuery.java | 26 +- .../model/prometheus/ProjectAlarmInfo.java | 26 +- .../service/model/prometheus/ServiceQps.java | 26 +- .../model/prometheus/TeslaApiGroupInfo.java | 26 +- .../service/model/prometheus/TeslaMetric.java | 26 +- .../model/prometheus/TeslaMetricData.java | 26 +- .../model/prometheus/TeslaMetricDataSet.java | 26 +- .../model/prometheus/TeslaMetricResponse.java | 26 +- .../service/model/redis/AppAlarmData.java | 26 +- .../project/group/ProjectGroupService.java | 26 +- .../service/prometheus/AlarmService.java | 26 +- .../prometheus/AlarmServiceExtensionImpl.java | 26 +- .../prometheus/GrafanaTemplateService.java | 26 +- .../service/prometheus/JobService.java | 26 +- .../service/prometheus/MetricSuffix.java | 26 +- .../monitor/service/prometheus/PromQL.java | 26 +- .../service/prometheus/PrometheusService.java | 26 +- .../rocketmq/RocketMqHeraMonitorConsumer.java | 26 +- .../service/rocketmq/RocketMqProducer.java | 26 +- .../rocketmq/model/HeraAppMessage.java | 26 +- .../rocketmq/model/RocketMqReceiver.java | 26 +- .../monitor/service/scrapeJob/ScrapeJob.java | 26 +- .../service/scrapeJob/ScrapeJobAdapt.java | 26 +- .../service/scrapeJob/impl/ScrapeJobImpl.java | 26 +- .../service/serverless/ServerLessService.java | 26 +- .../impl/ServerLessServiceImpl.java | 26 +- .../user/IdmMoneUserDetailService.java | 26 +- .../monitor/service/user/IdmResponse.java | 26 +- .../monitor/service/user/LocalUser.java | 26 +- .../ozhera/monitor/service/user/MoneUser.java | 26 +- .../service/user/MoneUserDetailService.java | 26 +- .../monitor/service/user/UseDetailInfo.java | 26 +- .../service/user/UserConfigService.java | 26 +- .../src/main/resources/generatorConfig.xml | 20 ++ .../src/main/resources/grafana.ftl | 18 ++ .../src/main/resources/grafana_jaeger.ftl | 18 ++ .../src/main/resources/grafana_mifaas.ftl | 18 ++ .../heraGrafanaTemplate/dockerMonitor.ftl | 18 ++ .../dubboConsumerMarket.ftl | 18 ++ .../dubboConsumerOverview.ftl | 18 ++ .../dubboProviderMarket.ftl | 18 ++ .../dubboProviderOverview.ftl | 18 ++ .../resources/heraGrafanaTemplate/golang.ftl | 18 ++ .../grafanaInterfaceList.ftl | 19 ++ .../grpcConsumerMarket.ftl | 19 ++ .../grpcConsumerOverview.ftl | 19 ++ .../grpcProviderMarket.ftl | 19 ++ .../grpcProviderOverview.ftl | 18 ++ .../resources/heraGrafanaTemplate/heraSLA.ftl | 18 ++ .../heraGrafanaTemplate/httpServerMarket.ftl | 18 ++ .../httpServerOverview.ftl | 18 ++ .../heraGrafanaTemplate/jaegerQuery.ftl | 18 ++ .../heraGrafanaTemplate/nodeMonitor.ftl | 18 ++ .../resourceUtilization.ftl | 18 ++ .../heraGrafanaTemplate/serviceMarket.ftl | 18 ++ .../resources/heraGrafanaTemplate/vmAlert.ftl | 18 ++ .../heraGrafanaTemplate/vmCluster.ftl | 18 ++ .../customizeScrapeJob.ftl | 18 ++ .../heraScrapeJobTemplate/dockerScrapeJob.ftl | 18 ++ .../golangRuntimeScrapeJob.ftl | 18 ++ .../jaegerQueryScrapeJob.ftl | 18 ++ .../heraScrapeJobTemplate/jvmScrapeJob.ftl | 18 ++ .../heraScrapeJobTemplate/nodeScrapeJob.ftl | 18 ++ .../heraScrapeJobTemplate/vm/vmAgentJob.ftl | 18 ++ .../heraScrapeJobTemplate/vm/vmAlertJob.ftl | 18 ++ .../heraScrapeJobTemplate/vm/vmInsertJob.ftl | 18 ++ .../heraScrapeJobTemplate/vm/vmSelectJob.ftl | 18 ++ .../heraScrapeJobTemplate/vm/vmStorageJob.ftl | 18 ++ .../dao/mapper/AlertManagerRulesMapper.xml | 20 ++ .../monitor/dao/mapper/AppAlarmRuleMapper.xml | 20 ++ .../dao/mapper/AppAlarmRuleTemplateMapper.xml | 20 ++ .../mapper/AppCapacityAutoAdjustMapper.xml | 20 ++ .../AppCapacityAutoAdjustRecordMapper.xml | 20 ++ .../dao/mapper/AppGrafanaBlackListMapper.xml | 20 ++ .../dao/mapper/AppMonitorConfigMapper.xml | 20 ++ .../monitor/dao/mapper/AppMonitorMapper.xml | 20 ++ .../dao/mapper/AppQualityMarketMapper.xml | 20 ++ .../monitor/dao/mapper/AppScrapeJobMapper.xml | 20 ++ .../dao/mapper/AppServiceMarketMapper.xml | 20 ++ .../dao/mapper/GrafanaTemplateMapper.xml | 20 ++ .../monitor/dao/mapper/HeraAppRoleMapper.xml | 20 ++ .../dao/mapper/appGrafanaMappingMapper.xml | 20 ++ .../src/main/resources/test.ftl | 18 ++ .../apache/ozhera/monitor/test/TestUtils.java | 26 +- ozhera-monitor/pom.xml | 20 ++ ozhera-monitor/sql | 19 ++ .../ozhera-webhook-server/dockerfile | 15 ++ ozhera-webhook/ozhera-webhook-server/pom.xml | 20 ++ .../org/apache/ozhera/webhook/Bootstrap.java | 26 +- .../ozhera/webhook/common/FileUtils.java | 26 +- .../ozhera/webhook/common/HttpClientUtil.java | 26 +- .../ozhera/webhook/common/K8sUtilBean.java | 26 +- .../webhook/config/NacosConfiguration.java | 26 +- .../webhook/controller/HealthController.java | 26 +- .../controller/HeraWebhookController.java | 26 +- .../ozhera/webhook/domain/JsonPatch.java | 26 +- .../ozhera/webhook/domain/k8s/Container.java | 26 +- .../ozhera/webhook/domain/k8s/Limits.java | 26 +- .../ozhera/webhook/domain/k8s/Requests.java | 26 +- .../ozhera/webhook/domain/k8s/Resource.java | 26 +- .../webhook/domain/k8s/VolumeMount.java | 26 +- .../ozhera/webhook/domain/tpc/TpcAppInfo.java | 26 +- .../webhook/domain/tpc/TpcAppRequest.java | 26 +- .../webhook/domain/tpc/TpcEnvRequest.java | 26 +- .../webhook/service/HeraWebhookService.java | 25 +- .../service/impl/HeraWebhookServiceImpl.java | 25 +- .../src/main/resources/application.properties | 15 ++ .../hera_init/webhook/csr/webhook_csr.yaml | 15 ++ .../webhook/hera_webhook_config.yaml | 15 ++ .../src/main/resources/logback.xml | 20 ++ ozhera-webhook/pom.xml | 20 ++ pom.xml | 20 ++ .../application-integration-document.md | 21 ++ .../application-integration-document_cn.md | 21 ++ readme/best-practices/deployment.md | 21 ++ readme/best-practices/deployment_cn.md | 21 ++ readme/custom-tracking/custom-tracking.md | 21 ++ readme/custom-tracking/custom-tracking_cn.md | 21 ++ readme/deploy/ozhera-deploy-document.md | 21 ++ readme/deploy/ozhera-deploy-document_cn.md | 21 ++ readme/optimization/metrics-optimization.md | 21 ++ .../optimization/metrics-optimization_cn.md | 21 ++ readme/user-manual/user-manual-document.md | 21 ++ readme/user-manual/user-manual-document_cn.md | 21 ++ 656 files changed, 9886 insertions(+), 6694 deletions(-) create mode 100644 NOTICE delete mode 100644 ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/AesUtil.java delete mode 100644 ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AlertGroupServiceTest.java delete mode 100644 ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AlertTest.java delete mode 100644 ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppAlarmStrategyDaoImplTest.java delete mode 100644 ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppMonitorDaoTest.java delete mode 100644 ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppMonitorServiceTest.java diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 26eb8ac15..131d24300 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,24 @@ + + # Contributing to the Apache OzHera(incubating) Project If you’re interested in identifying vulnerabilities or improving the Apache OzHera(incubating) project, we warmly welcome your involvement. Below is a guide to help you get started with contributing. diff --git a/CONTRIBUTING_CN.md b/CONTRIBUTING_CN.md index dd5627dc9..12e7852cd 100644 --- a/CONTRIBUTING_CN.md +++ b/CONTRIBUTING_CN.md @@ -1,3 +1,24 @@ + + # 为 Apache OzHera(incubating) 做贡献 如果您有兴趣寻找关于 Apache OzHera(incubating) 的漏洞,或是希望帮助提升项目质量,我们会非常欢迎您的加入。以下是为您提供的贡献指南列表。 diff --git a/HEADER b/HEADER index 722097550..042f3ce1f 100644 --- a/HEADER +++ b/HEADER @@ -15,4 +15,4 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ \ No newline at end of file + */ diff --git a/NOTICE b/NOTICE new file mode 100644 index 000000000..6ef77a02e --- /dev/null +++ b/NOTICE @@ -0,0 +1,5 @@ +Apache OzHera (incubating) +Copyright 2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). \ No newline at end of file diff --git a/README.md b/README.md index 550e7f3b6..0255c9232 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,24 @@ + + # Apache OzHera(Incubating)

    diff --git a/README_CN.md b/README_CN.md index c1ce341e2..69d689f23 100644 --- a/README_CN.md +++ b/README_CN.md @@ -1,3 +1,24 @@ + + # Apache OzHera(Incubating)

    diff --git a/build.sh b/build.sh index 435dbb90b..57efb0910 100644 --- a/build.sh +++ b/build.sh @@ -1,4 +1,22 @@ #!/bin/bash + +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + # This script builds the project and creates a Docker image. # Build the project. diff --git a/docker-build.sh b/docker-build.sh index 2571d7be4..4dd98e362 100644 --- a/docker-build.sh +++ b/docker-build.sh @@ -1,4 +1,21 @@ #!/bin/bash +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + # This script builds the project and creates a Docker image. mvn clean package -DskipTests=true # docker login info diff --git a/ozhera-app/README.md b/ozhera-app/README.md index aef29b8c1..7919e0066 100644 --- a/ozhera-app/README.md +++ b/ozhera-app/README.md @@ -1,3 +1,22 @@ + + # ozhera-app ozhera-app is a microservice that manages the basic data of monitoring applications and is the data service center of the entire Apache OzHera(incubating) monitoring system. Provides unified application data for link tracing, logs, and metric monitoring, and manages global configuration information. diff --git a/ozhera-app/README_cn.md b/ozhera-app/README_cn.md index 8979a96a6..d76e78815 100644 --- a/ozhera-app/README_cn.md +++ b/ozhera-app/README_cn.md @@ -1,3 +1,22 @@ + + # ozhera-app ozhera-app 是管理监控应用基础数据的微服务,是整个Apache OzHera(incubating)监控体系的数据服务中心, 为链路追踪、日志、指标监控提供一致性的统一应用数据,同时管理着全局的配置信息。 diff --git a/ozhera-app/app-api/pom.xml b/ozhera-app/app-api/pom.xml index 80ec1d8f6..bd62c7248 100644 --- a/ozhera-app/app-api/pom.xml +++ b/ozhera-app/app-api/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/message/HeraAppInfoModifyMessage.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/message/HeraAppInfoModifyMessage.java index ec14d7bce..638e8ac44 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/message/HeraAppInfoModifyMessage.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/message/HeraAppInfoModifyMessage.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.message; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/message/HeraAppModifyType.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/message/HeraAppModifyType.java index bf6e51ab8..bdfa6dd23 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/message/HeraAppModifyType.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/message/HeraAppModifyType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.message; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseInfoModel.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseInfoModel.java index 175fefc41..5664757dd 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseInfoModel.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseInfoModel.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseInfoParticipant.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseInfoParticipant.java index ff07ce01d..416145add 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseInfoParticipant.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseInfoParticipant.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseQuery.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseQuery.java index c2f34e530..a7e1ce7af 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseQuery.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppBaseQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppEnvData.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppEnvData.java index a458d75c4..ef61981e1 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppEnvData.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppEnvData.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppMqInfo.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppMqInfo.java index 29062e571..fafa77125 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppMqInfo.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppMqInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppRoleModel.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppRoleModel.java index 8633567bf..f45c20dd7 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppRoleModel.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraAppRoleModel.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraSimpleEnv.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraSimpleEnv.java index 948eafff6..da931d9b5 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraSimpleEnv.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/HeraSimpleEnv.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupAppRequest.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupAppRequest.java index 9f94274fe..987a973e7 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupAppRequest.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupAppRequest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model.project.group; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupDataRequest.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupDataRequest.java index b3aae318a..f55068a51 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupDataRequest.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupDataRequest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model.project.group; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupModel.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupModel.java index 716a900a3..2eda402bf 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupModel.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupModel.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model.project.group; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupUserModel.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupUserModel.java index 93ab4852c..c47d5a304 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupUserModel.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/HeraProjectGroupUserModel.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model.project.group; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/ProjectGroupTreeNode.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/ProjectGroupTreeNode.java index e2e99863a..9880831d2 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/ProjectGroupTreeNode.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/model/project/group/ProjectGroupTreeNode.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.model.project.group; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/response/AppBaseInfo.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/response/AppBaseInfo.java index 4a9b5a473..916b15834 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/response/AppBaseInfo.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/response/AppBaseInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.response; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/response/PairResponse.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/response/PairResponse.java index 336468139..d0dc41428 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/response/PairResponse.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/response/PairResponse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.response; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAppEnvOutwardService.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAppEnvOutwardService.java index 64dfdd55e..6625e09b7 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAppEnvOutwardService.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAppEnvOutwardService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.service; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAppService.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAppService.java index 02a8b54d2..464753d65 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAppService.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAppService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.service; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAuthorizationApi.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAuthorizationApi.java index d4cb35425..bb3e7ebab 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAuthorizationApi.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraAuthorizationApi.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.service; diff --git a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraProjectGroupServiceApi.java b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraProjectGroupServiceApi.java index f97bba1cd..fad659e20 100644 --- a/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraProjectGroupServiceApi.java +++ b/ozhera-app/app-api/src/main/java/org/apache/ozhera/app/api/service/HeraProjectGroupServiceApi.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.api.service; diff --git a/ozhera-app/app-common/pom.xml b/ozhera-app/app-common/pom.xml index 3ed682cbd..9b028c457 100644 --- a/ozhera-app/app-common/pom.xml +++ b/ozhera-app/app-common/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/common/Constant.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/common/Constant.java index 252a4339a..c51355ea1 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/common/Constant.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/common/Constant.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.common; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/common/Result.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/common/Result.java index eb0805b36..78b90d168 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/common/Result.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/common/Result.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.common; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/AppTypeEnum.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/AppTypeEnum.java index bb4865a63..fb184bcca 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/AppTypeEnum.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/AppTypeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.enums; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/BizCodeEnum.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/BizCodeEnum.java index 6c9417bf2..b7b81c1e4 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/BizCodeEnum.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/BizCodeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.enums; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/CommonError.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/CommonError.java index e19b901a2..827cab10f 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/CommonError.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/CommonError.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.enums; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/OperateEnum.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/OperateEnum.java index c47f65847..4b36bc96e 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/OperateEnum.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/OperateEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.enums; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/PlatForm.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/PlatForm.java index 29ddacaf8..0af19937b 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/PlatForm.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/PlatForm.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.enums; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/PlatFormTypeEnum.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/PlatFormTypeEnum.java index b43d6d394..a6136b482 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/PlatFormTypeEnum.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/PlatFormTypeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.enums; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/ProjectTypeEnum.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/ProjectTypeEnum.java index c5b07790c..2e0d2267d 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/ProjectTypeEnum.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/ProjectTypeEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.enums; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/StatusEnum.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/StatusEnum.java index bb3567a3d..50f7d123f 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/StatusEnum.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/enums/StatusEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.enums; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/exception/AppException.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/exception/AppException.java index 63cc15ff7..e34855a94 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/exception/AppException.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/exception/AppException.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.exception; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/BaseCommon.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/BaseCommon.java index 2673b9aae..476089998 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/BaseCommon.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/BaseCommon.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraAppEnvVo.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraAppEnvVo.java index 4f3625dfb..e2333de9c 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraAppEnvVo.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraAppEnvVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model.vo; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraAppOperateVo.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraAppOperateVo.java index dd81ec4ec..ffd939025 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraAppOperateVo.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraAppOperateVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model.vo; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraEnvIpVo.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraEnvIpVo.java index ea009b978..106a92204 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraEnvIpVo.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/HeraEnvIpVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model.vo; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/PodInfo.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/PodInfo.java index d60e1a151..7a28a61d7 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/PodInfo.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/PodInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model.vo; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/TpcLabelRes.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/TpcLabelRes.java index 5a82af054..87fe35dc6 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/TpcLabelRes.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/TpcLabelRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model.vo; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/TpcPageRes.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/TpcPageRes.java index 2978ebd15..de0c682e6 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/TpcPageRes.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/model/vo/TpcPageRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model.vo; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/valid/AddGroup.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/valid/AddGroup.java index c5607ad0c..3dfcdc898 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/valid/AddGroup.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/valid/AddGroup.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.valid; diff --git a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/valid/UpdateGroup.java b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/valid/UpdateGroup.java index ca7887b36..62f48bd83 100644 --- a/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/valid/UpdateGroup.java +++ b/ozhera-app/app-common/src/main/java/org/apache/ozhera/app/valid/UpdateGroup.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.valid; diff --git a/ozhera-app/app-server/Dockerfile b/ozhera-app/app-server/Dockerfile index 1e47c3283..c4d40e4b8 100644 --- a/ozhera-app/app-server/Dockerfile +++ b/ozhera-app/app-server/Dockerfile @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM openjdk:21-jdk-bookworm RUN echo 'Asia/Shanghai' >/etc/timezone diff --git a/ozhera-app/app-server/pom.xml b/ozhera-app/app-server/pom.xml index d09344c55..d10e43fc9 100644 --- a/ozhera-app/app-server/pom.xml +++ b/ozhera-app/app-server/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/AppBootstrap.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/AppBootstrap.java index 4faae7c41..d8668d415 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/AppBootstrap.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/AppBootstrap.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/aop/OperateAppBaseInfoAspect.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/aop/OperateAppBaseInfoAspect.java index b18af650e..1999e4105 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/aop/OperateAppBaseInfoAspect.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/aop/OperateAppBaseInfoAspect.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.aop; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/BeanConfig.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/BeanConfig.java index de4561643..55523d1af 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/BeanConfig.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/BeanConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.config; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DataSourceConfig.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DataSourceConfig.java index 09e08ecf6..4370e05bf 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DataSourceConfig.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DataSourceConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.config; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DubboConfiguration.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DubboConfiguration.java index 2a8001a16..82d23045a 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DubboConfiguration.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/DubboConfiguration.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.config; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/MqConfig.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/MqConfig.java index 82718db42..8bb4d737e 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/MqConfig.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/MqConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.config; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/RocketMqConfig.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/RocketMqConfig.java index 4173de66b..c5dd5f165 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/RocketMqConfig.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/config/RocketMqConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.config; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/AppController.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/AppController.java index 177faad2b..1b8ad983c 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/AppController.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/AppController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.controller; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/HeraAppEnvController.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/HeraAppEnvController.java index 329d18154..acbcf381d 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/HeraAppEnvController.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/HeraAppEnvController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.controller; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/TestController.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/TestController.java index 7212e8880..fb841e7ff 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/TestController.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/controller/TestController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.controller; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/exception/AppExceptionControllerAdvice.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/exception/AppExceptionControllerAdvice.java index fad58550c..22c80631c 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/exception/AppExceptionControllerAdvice.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/exception/AppExceptionControllerAdvice.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.exception; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/job/HeraAppEnvIpJob.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/job/HeraAppEnvIpJob.java index 8990ad9d7..eb9242c78 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/job/HeraAppEnvIpJob.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/job/HeraAppEnvIpJob.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.job; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/response/AppResponseAdvice.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/response/AppResponseAdvice.java index 32cb51e22..988afacc0 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/response/AppResponseAdvice.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/response/AppResponseAdvice.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.response; diff --git a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/response/anno/OriginalResponse.java b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/response/anno/OriginalResponse.java index c1ad215b4..f03f4f9f2 100644 --- a/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/response/anno/OriginalResponse.java +++ b/ozhera-app/app-server/src/main/java/org/apache/ozhera/app/response/anno/OriginalResponse.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.response.anno; diff --git a/ozhera-app/app-server/src/main/resources/application-open.properties b/ozhera-app/app-server/src/main/resources/application-open.properties index 601c324b4..f75e685c2 100644 --- a/ozhera-app/app-server/src/main/resources/application-open.properties +++ b/ozhera-app/app-server/src/main/resources/application-open.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server server.type=open server.port=8084 diff --git a/ozhera-app/app-server/src/main/resources/application.properties b/ozhera-app/app-server/src/main/resources/application.properties index 49170b7d6..40a3f04bc 100644 --- a/ozhera-app/app-server/src/main/resources/application.properties +++ b/ozhera-app/app-server/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + spring.application.name=hear-app server.port=@server.port@ server.type=@server.type@ diff --git a/ozhera-app/app-server/src/main/resources/logback-spring.xml b/ozhera-app/app-server/src/main/resources/logback-spring.xml index 96d7d8b55..b33ba6591 100644 --- a/ozhera-app/app-server/src/main/resources/logback-spring.xml +++ b/ozhera-app/app-server/src/main/resources/logback-spring.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/AppBaseTest.java b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/AppBaseTest.java index 6a2c7b6c1..af49bcd59 100644 --- a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/AppBaseTest.java +++ b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/AppBaseTest.java @@ -1,27 +1,30 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -//package com.xiaomi.mone.test; +//package org.apache.ozhera.app.test; // //import com.google.gson.Gson; -//import com.xiaomi.mone.app.api.model.HeraAppBaseInfoModel; -//import com.xiaomi.mone.app.api.model.HeraAppBaseInfoParticipant; -//import com.xiaomi.mone.app.api.model.HeraAppBaseQuery; -//import com.xiaomi.mone.app.AppBootstrap; -//import com.xiaomi.mone.app.service.impl.HeraAppBaseInfoService; //import lombok.extern.slf4j.Slf4j; +//import org.apache.ozhera.app.AppBootstrap; +//import org.apache.ozhera.app.api.model.HeraAppBaseInfoModel; +//import org.apache.ozhera.app.api.model.HeraAppBaseInfoParticipant; +//import org.apache.ozhera.app.api.model.HeraAppBaseQuery; +//import org.apache.ozhera.app.service.impl.HeraAppBaseInfoService; //import org.junit.jupiter.api.Test; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.boot.test.context.SpringBootTest; diff --git a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/EnvIpFetchServiceTest.java b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/EnvIpFetchServiceTest.java index fa7ed49e7..009a5166c 100644 --- a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/EnvIpFetchServiceTest.java +++ b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/EnvIpFetchServiceTest.java @@ -1,26 +1,28 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -//package com.xiaomi.mone.test; +//package org.apache.ozhera.app.test; // //import com.google.gson.Gson; -//import com.xiaomi.mone.app.AppBootstrap; -//import com.xiaomi.mone.app.model.vo.HeraAppEnvVo; -//import com.xiaomi.mone.app.service.env.DefaultNacosEnvIpFetch; -//import com.xiaomi.mone.app.service.impl.HeraAppEnvServiceImpl; //import lombok.extern.slf4j.Slf4j; +//import org.apache.ozhera.app.AppBootstrap; +//import org.apache.ozhera.app.service.env.DefaultNacosEnvIpFetch; +//import org.apache.ozhera.app.service.impl.HeraAppEnvServiceImpl; //import org.junit.jupiter.api.Test; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.boot.test.context.SpringBootTest; diff --git a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraAppEnvControllerTest.java b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraAppEnvControllerTest.java index ed9a176de..934d50434 100644 --- a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraAppEnvControllerTest.java +++ b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraAppEnvControllerTest.java @@ -1,21 +1,24 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -//package com.xiaomi.mone.test; +//package org.apache.ozhera.app.test; // -//import com.xiaomi.mone.app.AppBootstrap; +//import org.apache.ozhera.app.AppBootstrap; //import org.junit.jupiter.api.Test; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.boot.test.context.SpringBootTest; diff --git a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraAppEnvOutwardServiceTest.java b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraAppEnvOutwardServiceTest.java index 93440d5eb..9a8f97fcc 100644 --- a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraAppEnvOutwardServiceTest.java +++ b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraAppEnvOutwardServiceTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.test; diff --git a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraProjectGroupTest.java b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraProjectGroupTest.java index d5adcb0fb..047191092 100644 --- a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraProjectGroupTest.java +++ b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/HeraProjectGroupTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ //package com.xiaomi.mone.test; // @@ -19,23 +22,21 @@ //import com.alibaba.nacos.api.config.annotation.NacosValue; //import com.alibaba.nacos.client.config.utils.MD5; //import com.google.gson.Gson; -//import com.xiaomi.mone.app.AppBootstrap; -//import com.xiaomi.mone.app.api.model.HeraAppBaseInfoModel; -//import com.xiaomi.mone.app.api.model.HeraAppBaseInfoParticipant; -//import com.xiaomi.mone.app.api.model.HeraAppBaseQuery; -//import com.xiaomi.mone.app.api.model.project.group.HeraProjectGroupDataRequest; -//import com.xiaomi.mone.app.api.model.project.group.ProjectGroupTreeNode; -//import com.xiaomi.mone.app.auth.AuthorizationService; -//import com.xiaomi.mone.app.common.Result; -//import com.xiaomi.mone.app.service.impl.HeraAppBaseInfoService; -//import com.xiaomi.mone.app.service.project.group.HeraProjectGroupService; //import lombok.extern.slf4j.Slf4j; +//import org.apache.ozhera.app.AppBootstrap; +//import org.apache.ozhera.app.api.model.HeraAppBaseInfoModel; +//import org.apache.ozhera.app.api.model.project.group.HeraProjectGroupDataRequest; +//import org.apache.ozhera.app.api.model.project.group.ProjectGroupTreeNode; +//import org.apache.ozhera.app.auth.AuthorizationService; +//import org.apache.ozhera.app.common.Result; +//import org.apache.ozhera.app.service.project.group.HeraProjectGroupService; //import org.junit.jupiter.api.Test; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.boot.test.context.SpringBootTest; // //import java.util.List; // +// ///** // * @author gaoxihui // * @date 2022/11/2 2:59 下午 diff --git a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/RocketMqTest.java b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/RocketMqTest.java index 4b1558f6f..71b48569e 100644 --- a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/RocketMqTest.java +++ b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/RocketMqTest.java @@ -1,22 +1,25 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -//package com.xiaomi.mone.test; +//package org.apache.ozhera.app.test; // //import com.alibaba.nacos.api.config.annotation.NacosValue; -//import com.xiaomi.mone.app.AppBootstrap; +//import org.apache.ozhera.app.AppBootstrap; //import lombok.extern.slf4j.Slf4j; //import org.apache.dubbo.common.utils.StringUtils; //import org.apache.rocketmq.acl.common.AclClientRPCHook; diff --git a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/SpringBootFeatTest.java b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/SpringBootFeatTest.java index 85d22564a..f3e27655f 100644 --- a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/SpringBootFeatTest.java +++ b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/SpringBootFeatTest.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.test; diff --git a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/UserBean.java b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/UserBean.java index 2cfb3c4b7..3e1297290 100644 --- a/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/UserBean.java +++ b/ozhera-app/app-server/src/test/java/org/apache/ozhera/app/test/UserBean.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.test; diff --git a/ozhera-app/app-service/pom.xml b/ozhera-app/app-service/pom.xml index 8bee6ad16..557269879 100644 --- a/ozhera-app/app-service/pom.xml +++ b/ozhera-app/app-service/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/auth/AuthorizationService.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/auth/AuthorizationService.java index 064de2fc5..1547e98e4 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/auth/AuthorizationService.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/auth/AuthorizationService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.auth; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/config/NacosConfiguration.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/config/NacosConfiguration.java index 3190a30c0..7e88fa48c 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/config/NacosConfiguration.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/config/NacosConfiguration.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.config; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraAppRoleDao.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraAppRoleDao.java index d988b4fdc..8feb8b0f1 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraAppRoleDao.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraAppRoleDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.dao; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraBaseInfoDao.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraBaseInfoDao.java index deb3dab10..8f29f3ea3 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraBaseInfoDao.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraBaseInfoDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.dao; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupAppDao.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupAppDao.java index c54b67e34..63773d6e4 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupAppDao.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupAppDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.dao; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupDao.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupDao.java index 6b3884d87..051849b1b 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupDao.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.dao; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupUserDao.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupUserDao.java index 6efdebb06..385a13b53 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupUserDao.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/HeraProjectGroupUserDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.dao; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppBaseInfoMapper.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppBaseInfoMapper.java index 298b78d9a..daf269bdd 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppBaseInfoMapper.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppBaseInfoMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.dao.mapper; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppEnvMapper.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppEnvMapper.java index bb5c7726d..36c4c2a25 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppEnvMapper.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppEnvMapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.app.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppExcessInfoMapper.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppExcessInfoMapper.java index 91d821062..b4ea2dbfd 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppExcessInfoMapper.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppExcessInfoMapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.app.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppRoleMapper.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppRoleMapper.java index 70b044b3f..2812b5d70 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppRoleMapper.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraAppRoleMapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.app.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupAppMapper.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupAppMapper.java index 63aa8463d..b9ddaefc2 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupAppMapper.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupAppMapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.app.dao.mapper; import org.apache.ozhera.app.model.HeraProjectGroupApp; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupMapper.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupMapper.java index ce2298acf..b20b488e6 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupMapper.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupMapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.app.dao.mapper; import org.apache.ozhera.app.api.model.project.group.HeraProjectGroupModel; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupUserMapper.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupUserMapper.java index fc00476ae..de9af31c4 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupUserMapper.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/dao/mapper/HeraProjectGroupUserMapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.app.dao.mapper; import org.apache.ozhera.app.model.HeraProjectGroupUser; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppBaseInfo.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppBaseInfo.java index fda0a8b5e..421bfd927 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppBaseInfo.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppBaseInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppBaseInfoExample.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppBaseInfoExample.java index d9ec9a079..44957ac65 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppBaseInfoExample.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppBaseInfoExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppEnv.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppEnv.java index 29830f9af..89df95d4f 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppEnv.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppEnv.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppExcessInfo.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppExcessInfo.java index 2aef5c99c..e7ee97d9d 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppExcessInfo.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppExcessInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppRole.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppRole.java index 07e36f89e..2148bc9ab 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppRole.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppRole.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppRoleExample.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppRoleExample.java index 583d853a6..419a254bb 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppRoleExample.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraAppRoleExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraMetaDataPort.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraMetaDataPort.java index b16ec4fa8..429fcc05b 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraMetaDataPort.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraMetaDataPort.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroup.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroup.java index 91beb0413..c3e1dfd45 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroup.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroup.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupApp.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupApp.java index 479271a1b..3ae2f1666 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupApp.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupApp.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupAppExample.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupAppExample.java index ad53ea245..16c8c1b8b 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupAppExample.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupAppExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupExample.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupExample.java index f8b21c20c..2dd75645d 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupExample.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupUser.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupUser.java index 50d21b310..d688cc4b2 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupUser.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupUser.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupUserExample.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupUserExample.java index 852850cac..55716549a 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupUserExample.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/model/HeraProjectGroupUserExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/redis/RedisService.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/redis/RedisService.java index a9a408fda..9c5c1f218 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/redis/RedisService.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/redis/RedisService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.redis; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/HeraAppEnvService.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/HeraAppEnvService.java index fe1c7a3df..b71e5b22f 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/HeraAppEnvService.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/HeraAppEnvService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/HeraAppRoleService.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/HeraAppRoleService.java index 30365a133..105a5ad1f 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/HeraAppRoleService.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/HeraAppRoleService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultEnvIpFetch.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultEnvIpFetch.java index 6d6e66fb1..d30f4a02b 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultEnvIpFetch.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultEnvIpFetch.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.env; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultHttpEnvIpFetch.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultHttpEnvIpFetch.java index f42511f52..edee3e5da 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultHttpEnvIpFetch.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultHttpEnvIpFetch.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.env; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultNacosEnvIpFetch.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultNacosEnvIpFetch.java index 35e1ce260..702045ee2 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultNacosEnvIpFetch.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/DefaultNacosEnvIpFetch.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.env; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/EnvIpFetch.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/EnvIpFetch.java index ec3aec48c..429a67a00 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/EnvIpFetch.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/env/EnvIpFetch.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.env; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/extension/AppTypeServiceExtension.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/extension/AppTypeServiceExtension.java index 4d247c1f8..8f1e6ccc1 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/extension/AppTypeServiceExtension.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/extension/AppTypeServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.extension; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/extension/impl/DefaultAppTypeServiceExtension.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/extension/impl/DefaultAppTypeServiceExtension.java index edf5a1da2..9af786824 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/extension/impl/DefaultAppTypeServiceExtension.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/extension/impl/DefaultAppTypeServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.extension.impl; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/AuthorizationServiceImpl.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/AuthorizationServiceImpl.java index 23397381f..c0d7a012c 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/AuthorizationServiceImpl.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/AuthorizationServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.impl; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppBaseInfoService.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppBaseInfoService.java index dc6dcd426..654740d26 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppBaseInfoService.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppBaseInfoService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.impl; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppEnvOutwardServiceImpl.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppEnvOutwardServiceImpl.java index 807ea94f3..61cee58e4 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppEnvOutwardServiceImpl.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppEnvOutwardServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.impl; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppEnvServiceImpl.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppEnvServiceImpl.java index 5a05ee01a..28ed7d314 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppEnvServiceImpl.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppEnvServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.impl; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppServiceImpl.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppServiceImpl.java index cde766eb0..f94a20ecb 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppServiceImpl.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraAppServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.impl; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraProjectGroupServiceImpl.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraProjectGroupServiceImpl.java index de19397c5..e6ed7c5ba 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraProjectGroupServiceImpl.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/impl/HeraProjectGroupServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.impl; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppConsumer.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppConsumer.java index 5fa41653d..f7cc6cf78 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppConsumer.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppConsumer.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.mq; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppProducer.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppProducer.java index 4d0941362..e157c2322 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppProducer.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/RocketMqHeraAppProducer.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.mq; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/model/HeraAppMessage.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/model/HeraAppMessage.java index bec20bbd1..9eea896c2 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/model/HeraAppMessage.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/mq/model/HeraAppMessage.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.mq.model; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/project/group/HeraProjectGroupService.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/project/group/HeraProjectGroupService.java index 98bf65336..975644b34 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/project/group/HeraProjectGroupService.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/project/group/HeraProjectGroupService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.project.group; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/project/group/TreeQueryBuilder.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/project/group/TreeQueryBuilder.java index 5fff9ff87..a652053e5 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/project/group/TreeQueryBuilder.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/service/project/group/TreeQueryBuilder.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.service.project.group; diff --git a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/util/AppTypeTransferUtil.java b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/util/AppTypeTransferUtil.java index 525284651..1ca12466e 100644 --- a/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/util/AppTypeTransferUtil.java +++ b/ozhera-app/app-service/src/main/java/org/apache/ozhera/app/util/AppTypeTransferUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.app.util; diff --git a/ozhera-app/app-service/src/main/resources/mapper/HeraAppBaseInfoMapper.xml b/ozhera-app/app-service/src/main/resources/mapper/HeraAppBaseInfoMapper.xml index adc3f7127..fe8391718 100644 --- a/ozhera-app/app-service/src/main/resources/mapper/HeraAppBaseInfoMapper.xml +++ b/ozhera-app/app-service/src/main/resources/mapper/HeraAppBaseInfoMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/app-service/src/main/resources/mapper/HeraAppRoleMapper.xml b/ozhera-app/app-service/src/main/resources/mapper/HeraAppRoleMapper.xml index 99ffa3141..63abc713b 100644 --- a/ozhera-app/app-service/src/main/resources/mapper/HeraAppRoleMapper.xml +++ b/ozhera-app/app-service/src/main/resources/mapper/HeraAppRoleMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupAppMapper.xml b/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupAppMapper.xml index 6a73c66cd..908ead419 100644 --- a/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupAppMapper.xml +++ b/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupAppMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupMapper.xml b/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupMapper.xml index 8e82be69c..98e068758 100644 --- a/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupMapper.xml +++ b/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupUserMapper.xml b/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupUserMapper.xml index 81b885243..13c7b782a 100644 --- a/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupUserMapper.xml +++ b/ozhera-app/app-service/src/main/resources/mapper/HeraProjectGroupUserMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-app/pom.xml b/ozhera-app/pom.xml index 396b93667..fe515b878 100644 --- a/ozhera-app/pom.xml +++ b/ozhera-app/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-intelligence/README.md b/ozhera-intelligence/README.md index 88fc900a9..fcbee8e40 100644 --- a/ozhera-intelligence/README.md +++ b/ozhera-intelligence/README.md @@ -1,3 +1,24 @@ + + # Overview + Apache OzHera(incubating) Intelligence Platform is responsible for generating intelligent-related functionalities. + Currently, features are under development. diff --git a/ozhera-intelligence/README_cn.md b/ozhera-intelligence/README_cn.md index 66c098ed0..d1f3e85a1 100644 --- a/ozhera-intelligence/README_cn.md +++ b/ozhera-intelligence/README_cn.md @@ -1,3 +1,24 @@ + + # 概述 + Apache OzHera(incubating)智能化平台,负责产生智能化相关功能。 + 目前功能开发中 diff --git a/ozhera-intelligence/ozhera-intelligence-domain/pom.xml b/ozhera-intelligence/ozhera-intelligence-domain/pom.xml index c10fbbef0..7b9e024df 100644 --- a/ozhera-intelligence/ozhera-intelligence-domain/pom.xml +++ b/ozhera-intelligence/ozhera-intelligence-domain/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/LogParam.java b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/LogParam.java index 8c1ab97d9..9a061e8d6 100644 --- a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/LogParam.java +++ b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/LogParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.domain.rootanalysis; diff --git a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/LogPromptResult.java b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/LogPromptResult.java index d754e08c7..2df12701c 100644 --- a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/LogPromptResult.java +++ b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/LogPromptResult.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.domain.rootanalysis; diff --git a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MarkDownParam.java b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MarkDownParam.java index 1082623d6..64f36f3bd 100644 --- a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MarkDownParam.java +++ b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MarkDownParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.domain.rootanalysis; diff --git a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MetricsPromptResult.java b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MetricsPromptResult.java index 3120fd00b..7c6a65dfa 100644 --- a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MetricsPromptResult.java +++ b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MetricsPromptResult.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.domain.rootanalysis; diff --git a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MetricsQueryParam.java b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MetricsQueryParam.java index 74e2400c5..96541b9db 100644 --- a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MetricsQueryParam.java +++ b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/MetricsQueryParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.domain.rootanalysis; diff --git a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/TracePromptResult.java b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/TracePromptResult.java index e37f145ea..664c0d765 100644 --- a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/TracePromptResult.java +++ b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/TracePromptResult.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.domain.rootanalysis; diff --git a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/TraceQueryParam.java b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/TraceQueryParam.java index a1e400178..18fdcdf12 100644 --- a/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/TraceQueryParam.java +++ b/ozhera-intelligence/ozhera-intelligence-domain/src/main/java/org/apache/ozhera/intelligence/domain/rootanalysis/TraceQueryParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.domain.rootanalysis; diff --git a/ozhera-intelligence/ozhera-intelligence-server/pom.xml b/ozhera-intelligence/ozhera-intelligence-server/pom.xml index 8cb9ce881..1b46d287c 100644 --- a/ozhera-intelligence/ozhera-intelligence-server/pom.xml +++ b/ozhera-intelligence/ozhera-intelligence-server/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-intelligence/ozhera-intelligence-server/src/main/java/org/apache/ozhera/intelligence/bootstrap/IntelligenceBootStrap.java b/ozhera-intelligence/ozhera-intelligence-server/src/main/java/org/apache/ozhera/intelligence/bootstrap/IntelligenceBootStrap.java index d44a0ca47..fc258db6c 100644 --- a/ozhera-intelligence/ozhera-intelligence-server/src/main/java/org/apache/ozhera/intelligence/bootstrap/IntelligenceBootStrap.java +++ b/ozhera-intelligence/ozhera-intelligence-server/src/main/java/org/apache/ozhera/intelligence/bootstrap/IntelligenceBootStrap.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.bootstrap; diff --git a/ozhera-intelligence/ozhera-intelligence-server/src/main/java/org/apache/ozhera/intelligence/controller/RootAnalysisController.java b/ozhera-intelligence/ozhera-intelligence-server/src/main/java/org/apache/ozhera/intelligence/controller/RootAnalysisController.java index 0997595bd..62ba03c22 100644 --- a/ozhera-intelligence/ozhera-intelligence-server/src/main/java/org/apache/ozhera/intelligence/controller/RootAnalysisController.java +++ b/ozhera-intelligence/ozhera-intelligence-server/src/main/java/org/apache/ozhera/intelligence/controller/RootAnalysisController.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.controller; diff --git a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/application.properties b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/application.properties index 8cdaacb7d..a38e97e56 100644 --- a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/application.properties +++ b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=${app.name} server.type=${server.type} diff --git a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/config/opensource-outer.properties b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/config/opensource-outer.properties index 75e2a3d9e..5ad085dd1 100644 --- a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/config/opensource-outer.properties +++ b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/config/opensource-outer.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + #server app.name=ozhera-intelligence server.type=staging diff --git a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/logback.xml b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/logback.xml index d439b157c..42a761912 100644 --- a/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/logback.xml +++ b/ozhera-intelligence/ozhera-intelligence-server/src/main/resources/logback.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-intelligence/ozhera-intelligence-service/pom.xml b/ozhera-intelligence/ozhera-intelligence-service/pom.xml index 2500d21f7..7662b1725 100644 --- a/ozhera-intelligence/ozhera-intelligence-service/pom.xml +++ b/ozhera-intelligence/ozhera-intelligence-service/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/LogService.java b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/LogService.java index f20c29a17..4a1075d4f 100644 --- a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/LogService.java +++ b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/LogService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.service; diff --git a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/MetricsService.java b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/MetricsService.java index 4954a91ed..9b17a893b 100644 --- a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/MetricsService.java +++ b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/MetricsService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.service; diff --git a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/PromptService.java b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/PromptService.java index 6ab45b974..470810c77 100644 --- a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/PromptService.java +++ b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/PromptService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.service; diff --git a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/RootAnalysisConst.java b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/RootAnalysisConst.java index 052bda920..07ebedf2e 100644 --- a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/RootAnalysisConst.java +++ b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/RootAnalysisConst.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.service; diff --git a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/RootAnalysisService.java b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/RootAnalysisService.java index 85bffbf37..ef09b1d2d 100644 --- a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/RootAnalysisService.java +++ b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/RootAnalysisService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.service; diff --git a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/TraceService.java b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/TraceService.java index 8df9df939..0705d049c 100644 --- a/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/TraceService.java +++ b/ozhera-intelligence/ozhera-intelligence-service/src/main/java/org/apache/ozhera/intelligence/service/TraceService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.intelligence.service; diff --git a/ozhera-intelligence/pom.xml b/ozhera-intelligence/pom.xml index cbd2bb344..94163f43a 100644 --- a/ozhera-intelligence/pom.xml +++ b/ozhera-intelligence/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/Dockerfile b/ozhera-monitor/Dockerfile index 12f3372c4..fb63184e4 100644 --- a/ozhera-monitor/Dockerfile +++ b/ozhera-monitor/Dockerfile @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM openjdk:21-jdk-bookworm COPY ./ozhera-monitor-server/target/ozhera-monitor-server-*.jar /home/work/ozhera-monitor-server.jar diff --git a/ozhera-monitor/README.md b/ozhera-monitor/README.md index aecc3f020..72dee45b6 100644 --- a/ozhera-monitor/README.md +++ b/ozhera-monitor/README.md @@ -1,3 +1,24 @@ + + # Overview ozhera-monitor is one of the core projects within the Apache OzHera(incubating) system. It is responsible for managing various crucial functions related to the monitoring system, including the application center, metric monitoring, metric alert configuration, alert group configuration, monitoring dashboard display, and more. diff --git a/ozhera-monitor/README_cn.md b/ozhera-monitor/README_cn.md index 1f4de3029..6adc50f69 100644 --- a/ozhera-monitor/README_cn.md +++ b/ozhera-monitor/README_cn.md @@ -1,3 +1,24 @@ + + # 概述 ozhera-monitor 是Apache OzHera(incubating)体系主体工程之一,负责管理监控体系的应用中心、指标监控、指标报警配置、 报警组配置、监控面板展示等多维度的重要功能。 diff --git a/ozhera-monitor/ozhera-monitor-api/pom.xml b/ozhera-monitor/ozhera-monitor-api/pom.xml index 393a2e67b..d2cdd957a 100644 --- a/ozhera-monitor/ozhera-monitor-api/pom.xml +++ b/ozhera-monitor/ozhera-monitor-api/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AA.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AA.java index 54ece8e3b..3716b785c 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AA.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AA.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AB.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AB.java index 5ee0354bf..e44e1f130 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AB.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AB.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGroupFacade.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGroupFacade.java index 76d908f5f..998855a0a 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGroupFacade.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AlertGroupFacade.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AppCapacityAutoAdjustService.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AppCapacityAutoAdjustService.java index ebbb8b3a7..fb71dffbc 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AppCapacityAutoAdjustService.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/AppCapacityAutoAdjustService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/Grafana.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/Grafana.java index f0e00875e..8dfb42399 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/Grafana.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/Grafana.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/GrafanaApiService.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/GrafanaApiService.java index 0ed2dabff..bf69bc217 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/GrafanaApiService.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/GrafanaApiService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/MiFeiShuService.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/MiFeiShuService.java index 86d6fa97b..82ba302c5 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/MiFeiShuService.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/MiFeiShuService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/NoticeService.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/NoticeService.java index 1d22f3b58..c9284031b 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/NoticeService.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/NoticeService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/SendSmsService.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/SendSmsService.java index 4a933ace0..f7e74968a 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/SendSmsService.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/SendSmsService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/AlertGroupQryInfo.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/AlertGroupQryInfo.java index f4a9e6909..98d551ac1 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/AlertGroupQryInfo.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/AlertGroupQryInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.bo; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/AppCapacityAutoAdjustBo.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/AppCapacityAutoAdjustBo.java index ae2e46c94..f8b263b07 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/AppCapacityAutoAdjustBo.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/AppCapacityAutoAdjustBo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.bo; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustCause.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustCause.java index c633eddbb..916693633 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustCause.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustCause.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.bo; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustNoticeParam.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustNoticeParam.java index c6b43743f..c7fc2f5e5 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustNoticeParam.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustNoticeParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.bo; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustType.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustType.java index 806c46946..82e86cb63 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustType.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CapacityAdjustType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.bo; diff --git a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CensusInfo.java b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CensusInfo.java index 8ad79700b..781fcdb40 100644 --- a/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CensusInfo.java +++ b/ozhera-monitor/ozhera-monitor-api/src/main/java/org/apache/ozhera/monitor/service/bo/CensusInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.bo; diff --git a/ozhera-monitor/ozhera-monitor-common/pom.xml b/ozhera-monitor/ozhera-monitor-common/pom.xml index 8e1906da5..d32e66372 100644 --- a/ozhera-monitor/ozhera-monitor-common/pom.xml +++ b/ozhera-monitor/ozhera-monitor-common/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/DashboardConstant.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/DashboardConstant.java index 582e5fc23..bf220a953 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/DashboardConstant.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/DashboardConstant.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor; diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/ErrorCode.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/ErrorCode.java index e0d871149..d4d238f37 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/ErrorCode.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/ErrorCode.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.result; diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/ExceptionCode.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/ExceptionCode.java index fc4224428..b720bf6b8 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/ExceptionCode.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/ExceptionCode.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.result; diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/Result.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/Result.java index edb09d87c..b9b41349a 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/Result.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/Result.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.result; diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplateAppType.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplateAppType.java index f945bbe59..7108f6983 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplateAppType.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplateAppType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.result; /** * @author zhangxiaowei6 diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplateLanguage.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplateLanguage.java index d16ba231c..c61cfc08a 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplateLanguage.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplateLanguage.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.result; /** diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplatePlatform.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplatePlatform.java index c8531fa5b..2f759c37e 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplatePlatform.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/result/TemplatePlatform.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.result; /** * @author zhangxiaowei6 diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/AesUtil.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/AesUtil.java deleted file mode 100644 index 080527782..000000000 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/AesUtil.java +++ /dev/null @@ -1,65 +0,0 @@ -/* -package com.xiaomi.mone.monitor.utils; - -import org.apache.commons.codec.binary.Base64; -import org.bouncycastle.jce.provider.BouncyCastleProvider; - -import javax.crypto.Cipher; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.SecretKeySpec; -import java.security.Security; -import java.security.spec.AlgorithmParameterSpec; - -public class AesUtil { - private static final String CHARSET_NAME = "UTF-8"; - private static final String AES_NAME = "AES"; - // 加密模式 - public static final String ALGORITHM = "AES/CBC/PKCS7Padding"; - static { - Security.addProvider(new BouncyCastleProvider()); - } - - */ -/** - * 加密 - * - * @param content - * @return - *//* - - public static String encrypt(String content, String key, String iv) { - byte[] result = null; - try { - Cipher cipher = Cipher.getInstance(ALGORITHM); - SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(CHARSET_NAME), AES_NAME); - AlgorithmParameterSpec paramSpec = new IvParameterSpec(iv.getBytes()); - cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec); - result = cipher.doFinal(content.getBytes(CHARSET_NAME)); - } catch (Exception e) { - e.printStackTrace(); - } - return Base64.encodeBase64String(result); - } - - */ -/** - * 解密 - * - * @param content - * @return - *//* - - public static String decrypt(String content,String key,String iv) { - try { - Cipher cipher = Cipher.getInstance(ALGORITHM); - SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(CHARSET_NAME), AES_NAME); - AlgorithmParameterSpec paramSpec = new IvParameterSpec(iv.getBytes()); - cipher.init(Cipher.DECRYPT_MODE, keySpec, paramSpec); - return new String(cipher.doFinal(Base64.decodeBase64(content)), CHARSET_NAME); - } catch (Exception e) { - e.printStackTrace(); - } - return ""; - } -} -*/ diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/CommonUtil.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/CommonUtil.java index 33c614564..e38e9534d 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/CommonUtil.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/CommonUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.utils; diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/ConstUtil.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/ConstUtil.java index 006d1e553..3d227b618 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/ConstUtil.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/ConstUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.utils; diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/FreeMarkerUtil.java b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/FreeMarkerUtil.java index 84d0949f2..540f006c0 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/FreeMarkerUtil.java +++ b/ozhera-monitor/ozhera-monitor-common/src/main/java/org/apache/ozhera/monitor/utils/FreeMarkerUtil.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.utils; diff --git a/ozhera-monitor/ozhera-monitor-common/src/main/resources/eventflow.ftl b/ozhera-monitor/ozhera-monitor-common/src/main/resources/eventflow.ftl index 612202f9b..b1a0a9fb6 100644 --- a/ozhera-monitor/ozhera-monitor-common/src/main/resources/eventflow.ftl +++ b/ozhera-monitor/ozhera-monitor-common/src/main/resources/eventflow.ftl @@ -1,3 +1,23 @@ + { "size": "1111111111${size}", "query": { diff --git a/ozhera-monitor/ozhera-monitor-server/pom.xml b/ozhera-monitor/ozhera-monitor-server/pom.xml index 56b0d1347..445e07298 100644 --- a/ozhera-monitor/ozhera-monitor-server/pom.xml +++ b/ozhera-monitor/ozhera-monitor-server/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/aop/HeraRequestMapping.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/aop/HeraRequestMapping.java index 8df6727db..31c0b0196 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/aop/HeraRequestMapping.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/aop/HeraRequestMapping.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.aop; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/aop/HeraRequestMappingAspect.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/aop/HeraRequestMappingAspect.java index 16d3c4474..3e70fedba 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/aop/HeraRequestMappingAspect.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/aop/HeraRequestMappingAspect.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.aop; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/bootstrap/MiMonitorBootstrap.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/bootstrap/MiMonitorBootstrap.java index 84dbb9e0c..c5392c29b 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/bootstrap/MiMonitorBootstrap.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/bootstrap/MiMonitorBootstrap.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bootstrap; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/BeanConfiguration.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/BeanConfiguration.java index 3b8743f3e..2fde600d7 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/BeanConfiguration.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/BeanConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.config; import org.springframework.context.annotation.Bean; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DataSourceConfig.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DataSourceConfig.java index 2a9b68afc..12c694dde 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DataSourceConfig.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DataSourceConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.config; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DubboConfiguration.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DubboConfiguration.java index a7ed4841b..f9749c704 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DubboConfiguration.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/DubboConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.config; import org.apache.dubbo.config.ApplicationConfig; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/FilterConfiguration.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/FilterConfiguration.java index c2ef11367..7c387ac4d 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/FilterConfiguration.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/FilterConfiguration.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.config; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/RedisConfig.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/RedisConfig.java index 493e38c5a..360ddd11b 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/RedisConfig.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/config/RedisConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.config; import java.rmi.UnknownHostException; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmAutoConfigController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmAutoConfigController.java index 200427fe1..b3baec8dd 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmAutoConfigController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmAutoConfigController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.monitor.result.Result; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmController.java index 0b8e991dd..b0382383c 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.monitor.aop.HeraRequestMapping; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmStrategyController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmStrategyController.java index 81080619d..5a2bd3340 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmStrategyController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlarmStrategyController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import com.google.common.collect.Lists; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlertGroupController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlertGroupController.java index 13a535dc2..4b31d03d4 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlertGroupController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlertGroupController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlertHistoryController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlertHistoryController.java index 40153b005..2971c5e27 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlertHistoryController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AlertHistoryController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.monitor.bo.AlertHistory; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AppMonitorController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AppMonitorController.java index 58b1362c7..5dc3ca0c7 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AppMonitorController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AppMonitorController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import com.google.common.collect.Lists; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AuthorizationController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AuthorizationController.java index 71fa793cd..345fdda78 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AuthorizationController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/AuthorizationController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.app.api.service.HeraAuthorizationApi; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/GrafanaMappingController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/GrafanaMappingController.java index e480df3ed..82c6c959e 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/GrafanaMappingController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/GrafanaMappingController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.app.api.model.HeraAppBaseInfoModel; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/GrafanaTemplateController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/GrafanaTemplateController.java index 7a82366f1..14c8833c6 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/GrafanaTemplateController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/GrafanaTemplateController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.monitor.result.ErrorCode; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/HeraProjectGroupController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/HeraProjectGroupController.java index 375145bc5..d91898042 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/HeraProjectGroupController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/HeraProjectGroupController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/PrometheusController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/PrometheusController.java index 8b25d847e..324b6a628 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/PrometheusController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/PrometheusController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.log.api.model.dto.TraceLogDTO; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/QualityMarketController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/QualityMarketController.java index 1f03de0d9..76fbb1b63 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/QualityMarketController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/QualityMarketController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.monitor.result.ErrorCode; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/RulePromQLTemplateController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/RulePromQLTemplateController.java index 284c806dc..60a3f0b8c 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/RulePromQLTemplateController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/RulePromQLTemplateController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.monitor.bo.RulePromQLTemplateInfo; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/ScrapeJobController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/ScrapeJobController.java index fdb373326..eca4cdc60 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/ScrapeJobController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/ScrapeJobController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import com.alibaba.nacos.api.config.annotation.NacosValue; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/ServiceMarketController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/ServiceMarketController.java index 105ffe984..b3273282f 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/ServiceMarketController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/ServiceMarketController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.monitor.result.ErrorCode; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/TestController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/TestController.java index 8e7f8447c..4ce990491 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/TestController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/TestController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.monitor.dao.AppGrafanaMappingDao; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/UserController.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/UserController.java index 4f24c66f2..c9e4ed3e8 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/UserController.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/UserController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller; import org.apache.ozhera.monitor.result.ErrorCode; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/model/PromQueryRangeParam.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/model/PromQueryRangeParam.java index 4e86405e5..46fd67bef 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/model/PromQueryRangeParam.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/model/PromQueryRangeParam.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/model/TimeUnit.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/model/TimeUnit.java index 581d6f68f..0a2dfa430 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/model/TimeUnit.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/controller/model/TimeUnit.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.controller.model; /** diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/filter/AuthorizationFilter.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/filter/AuthorizationFilter.java index a0cf21def..07a05d4ef 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/filter/AuthorizationFilter.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/filter/AuthorizationFilter.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.filter; import org.apache.ozhera.monitor.service.user.LocalUser; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/listener/ApplicationStartedListener.java b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/listener/ApplicationStartedListener.java index 9287637a1..232e1882a 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/listener/ApplicationStartedListener.java +++ b/ozhera-monitor/ozhera-monitor-server/src/main/java/org/apache/ozhera/monitor/listener/ApplicationStartedListener.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.listener; import org.apache.ozhera.monitor.service.rocketmq.RocketMqHeraMonitorConsumer; diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/resources/application-opensource-outer.properties b/ozhera-monitor/ozhera-monitor-server/src/main/resources/application-opensource-outer.properties index 766b46569..922382bd1 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/resources/application-opensource-outer.properties +++ b/ozhera-monitor/ozhera-monitor-server/src/main/resources/application-opensource-outer.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. server.type=staging server.port=8099 diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/resources/application.properties b/ozhera-monitor/ozhera-monitor-server/src/main/resources/application.properties index 88d8f2dfb..00c26f51b 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/resources/application.properties +++ b/ozhera-monitor/ozhera-monitor-server/src/main/resources/application.properties @@ -1,3 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. server.type=@server.type@ server.port=@server.port@ diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/resources/error/401.htm b/ozhera-monitor/ozhera-monitor-server/src/main/resources/error/401.htm index 97ac0fc7c..f1be7c4a8 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/resources/error/401.htm +++ b/ozhera-monitor/ozhera-monitor-server/src/main/resources/error/401.htm @@ -1,3 +1,24 @@ + + diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/resources/log4j.properties b/ozhera-monitor/ozhera-monitor-server/src/main/resources/log4j.properties index fdb414891..ba53738ca 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/resources/log4j.properties +++ b/ozhera-monitor/ozhera-monitor-server/src/main/resources/log4j.properties @@ -1,2 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + log4j.logger.freemarker.cache=ERROR log4j.logger.freemarker.beans=ERROR \ No newline at end of file diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/resources/logback.xml b/ozhera-monitor/ozhera-monitor-server/src/main/resources/logback.xml index 4feab460b..0cc1760b1 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/resources/logback.xml +++ b/ozhera-monitor/ozhera-monitor-server/src/main/resources/logback.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/resources/zookeeper.properties b/ozhera-monitor/ozhera-monitor-server/src/main/resources/zookeeper.properties index 1603650b9..b499a21db 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/resources/zookeeper.properties +++ b/ozhera-monitor/ozhera-monitor-server/src/main/resources/zookeeper.properties @@ -1,2 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + zookeeper.host=@zookeeper_host@ zookeeper.use=true \ No newline at end of file diff --git a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AlertGroupServiceTest.java b/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AlertGroupServiceTest.java deleted file mode 100644 index 0db3b124e..000000000 --- a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AlertGroupServiceTest.java +++ /dev/null @@ -1,83 +0,0 @@ -//package com.xiaomi.mone.monitor; -// -//import com.xiaomi.mone.monitor.bo.AlertGroupParam; -//import com.xiaomi.mone.monitor.bootstrap.MiMonitorBootstrap; -//import com.xiaomi.mone.monitor.dao.AlertGroupDao; -//import com.xiaomi.mone.monitor.dao.model.AlertGroup; -//import com.xiaomi.mone.monitor.dao.model.AlertGroupMember; -//import com.xiaomi.mone.monitor.service.AlertGroupService; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.jupiter.api.Test; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.test.context.SpringBootTest; -// -//import java.util.ArrayList; -//import java.util.List; -// -///** -// * @project: mimonitor -// * @author: zgf1 -// * @date: 2022/2/16 11:41 -// */ -//@Slf4j -//@SpringBootTest(classes = MiMonitorBootstrap.class) -//public class AlertGroupServiceTest { -// -// @Autowired -// private AlertGroupService alertGroupService; -// -// @Test -// public void init() { -// alertGroupService.initAlertGroupData(); -// } -// -// @Test -// public void sync() { -// Object obj = alertGroupService.sync("", "alert"); -// System.out.println(obj); -// } -// -// @Test -// public void alertGroupCreate() { -// List memberIds = new ArrayList<>(); -// memberIds.add(13199L); -// memberIds.add(12147L); -// AlertGroupParam param = new AlertGroupParam(); -// param.setName("单元测试1"); -// param.setNote("单元测试1"); -// param.setMemberIds(memberIds); -// Object obj = alertGroupService.alertGroupCreate("", param); -// System.out.println(obj); -// } -// -// @Test -// public void alertGroupEdit() { -// List memberIds = new ArrayList<>(); -// memberIds.add(13199L); -// memberIds.add(12147L); -// AlertGroupParam param = new AlertGroupParam(); -// param.setId(6L); -// param.setName("单元测试2"); -// param.setNote("单元测试2"); -// param.setMemberIds(memberIds); -// Object obj = alertGroupService.alertGroupEdit("", param); -// System.out.println(obj); -// } -// -// @Test -// public void alertGroupDelete() { -// AlertGroupParam param = new AlertGroupParam(); -// param.setId(6L); -// Object obj = alertGroupService.alertGroupDelete("", param); -// System.out.println(obj); -// } -// -// @Test -// public void alertGroupSearch() { -// AlertGroupParam param = new AlertGroupParam(); -// param.pageQryInit(); -// Object obj = alertGroupService.alertGroupSearch("", param); -// System.out.println(obj); -// } -// -//} diff --git a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AlertTest.java b/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AlertTest.java deleted file mode 100644 index b2c5b5b34..000000000 --- a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AlertTest.java +++ /dev/null @@ -1,174 +0,0 @@ -//package com.xiaomi.mone.monitor; -// -//import com.alibaba.dubbo.config.annotation.Reference; -//import com.alibaba.fastjson.JSON; -//import com.google.common.collect.Lists; -//import com.google.gson.Gson; -//import com.google.gson.JsonArray; -//import com.google.gson.JsonObject; -//import com.xiaomi.mone.monitor.bootstrap.MiMonitorBootstrap; -//import com.xiaomi.youpin.prometheus.agent.api.service.PrometheusAlertService; -//import com.xiaomi.youpin.prometheus.agent.param.alert.RuleAlertParam; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.jupiter.api.Test; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.test.context.SpringBootTest; -//import org.springframework.util.CollectionUtils; -// -//import java.util.List; -// -///** -// * @author gaoxihui -// * @date 2023/2/27 2:17 下午 -// */ -//@Slf4j -//@SpringBootTest(classes = MiMonitorBootstrap.class) -//public class AlertTest { -// -// @Reference(registry = "registryConfig",check = false, interfaceClass = PrometheusAlertService.class,group="mistaging") -// PrometheusAlertService prometheusAlertService; -// -// @Test -// public void testAlertAdd(){ -// JsonObject jsonObject = new JsonObject(); -// jsonObject.addProperty("cname", "gxh-zzytest-alert12"); -// jsonObject.addProperty("alert", "alert-test1"); -// jsonObject.addProperty("expr", "sum_over_time(staging_667_zzytest_jaeger_dubboConsumerError_total[95s])>0"); -// jsonObject.addProperty("For", "30s"); -// jsonObject.addProperty("enabled", 1); -// -// JsonObject jsonSummary = new JsonObject(); -// jsonSummary.addProperty("summary", "test"); -// jsonObject.add("annotations", jsonSummary); -// -// /** -// * rule-group -// */ -// jsonObject.addProperty("group", "example"); -// -// /** -// * priority -// */ -// jsonObject.addProperty("priority", "P1"); -// -// /** -// * env -// */ -// JsonArray array = new JsonArray(); -// array.add("staging"); -// jsonObject.add("env", array); -// -// -// /** -// * labels -// */ -// JsonObject labels = new JsonObject(); -// labels.addProperty("send_interval","5m"); -// labels.addProperty("app_iam_id","17465"); -// labels.addProperty("project_id","667"); -// labels.addProperty("project_name","zzytest"); -// jsonObject.add("labels", labels); -// -// -// -// /** -// * alert Team -// */ -// JsonObject jsonAlertTeam = new JsonObject(); -// jsonAlertTeam.addProperty("id",5313); -// jsonAlertTeam.addProperty("type","oncall"); -// jsonAlertTeam.addProperty("name","gxh-test"); -// -// JsonArray array1 = new JsonArray(); -// array1.add(jsonAlertTeam); -// -// jsonObject.add("alert_team", array1); -// -// List alertMembersList = Lists.newArrayList("gaoxihui","dingtao"); -// JsonArray alertMembers = new Gson().fromJson(JSON.toJSONString(alertMembersList), JsonArray.class); -// jsonObject.add("alert_member", array); -// -// List alertAtMembersList = Lists.newArrayList("zhangxiaowei","dingtao"); -// JsonArray atMembersArray = new Gson().fromJson(JSON.toJSONString(alertAtMembersList), JsonArray.class); -// jsonObject.add("alert_at_people", atMembersArray); -// -// RuleAlertParam ruleAlertParam = new Gson().fromJson(new Gson().toJson(jsonObject), RuleAlertParam.class); -// System.out.println("ruleAlertParam:==================" + new Gson().toJson(ruleAlertParam)); -// com.xiaomi.youpin.prometheus.agent.result.Result ruleAlert = prometheusAlertService.createRuleAlert(ruleAlertParam); -// -// System.out.println("result:==================" + new Gson().toJson(ruleAlert)); -// } -// -// @Test -// public void testGetAalert(){ -// com.xiaomi.youpin.prometheus.agent.result.Result result = prometheusAlertService.GetRuleAlert("26"); -// System.out.println(new Gson().toJson(result)); -// } -// -// @Test -// public void testSearchAlert(){ -// com.xiaomi.youpin.prometheus.agent.result.Result result = prometheusAlertService.GetRuleAlertList(10, 1); -// System.out.println("list === " + new Gson().toJson(result)); -// } -// -// @Test -// public void testEnabledAlert(){ -// com.xiaomi.youpin.prometheus.agent.result.Result result1 = prometheusAlertService.EnabledRuleAlert("26", "0"); -// System.out.println("enabled alert result:"+new Gson().toJson(result1)); -// com.xiaomi.youpin.prometheus.agent.result.Result result = prometheusAlertService.GetRuleAlert("26"); -// System.out.println(new Gson().toJson(result)); -// } -// -// @Test -// public void testUpdateAlert(){ -// -// JsonObject jsonObject = new JsonObject(); -// jsonObject.addProperty("cname", "gxh-zzytest-alert11Update"); -// jsonObject.addProperty("alert", "alert-test1Update"); -// jsonObject.addProperty("expr", "sum_over_time(staging_667_zzytest_jaeger_dubboConsumerError_total[95s])>10"); -// jsonObject.addProperty("For", "300s"); -// jsonObject.addProperty("enabled", 1); -// -// JsonObject jsonSummary = new JsonObject(); -// jsonSummary.addProperty("summary", "test"); -// jsonObject.add("annotations", jsonSummary); -// -// /** -// * rule-group -// */ -// jsonObject.addProperty("group", "example"); -// -// /** -// * priority -// */ -// jsonObject.addProperty("priority", "P1"); -// -// /** -// * env -// */ -// JsonArray array = new JsonArray(); -// array.add("staging"); -// jsonObject.add("env", array); -// -// -// /** -// * labels -// */ -// JsonObject labels = new JsonObject(); -// labels.addProperty("send_interval","1m"); -// labels.addProperty("app_iam_id","17465"); -// labels.addProperty("project_id","667"); -// labels.addProperty("project_name","zzytest"); -// jsonObject.add("labels", labels); -// -// RuleAlertParam ruleAlertParam = new Gson().fromJson(new Gson().toJson(jsonObject), RuleAlertParam.class); -// -// com.xiaomi.youpin.prometheus.agent.result.Result result = prometheusAlertService.UpdateRuleAlert("26", ruleAlertParam); -// -// System.out.println(new Gson().toJson(result)); -// -// } -// -// -// -//} diff --git a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppAlarmStrategyDaoImplTest.java b/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppAlarmStrategyDaoImplTest.java deleted file mode 100644 index ed505d8bc..000000000 --- a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppAlarmStrategyDaoImplTest.java +++ /dev/null @@ -1,114 +0,0 @@ -//package com.xiaomi.mone.monitor; -// -//import com.google.gson.JsonObject; -//import com.google.gson.Gson; -//import com.xiaomi.mone.monitor.bootstrap.MiMonitorBootstrap; -//import com.xiaomi.mone.monitor.dao.AppAlarmRuleDao; -//import com.xiaomi.mone.monitor.dao.AppAlarmStrategyDao; -//import com.xiaomi.mone.monitor.dao.model.AlarmStrategy; -//import com.xiaomi.mone.monitor.dao.model.AppAlarmRule; -//import com.xiaomi.mone.monitor.service.AlarmStrategyService; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.jupiter.api.Test; -//import org.nutz.json.Json; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.test.context.SpringBootTest; -// -//import java.util.ArrayList; -//import java.util.Date; -//import java.util.List; -// -//@Slf4j -//@SpringBootTest(classes = MiMonitorBootstrap.class) -//public class AppAlarmStrategyDaoImplTest { -// -// @Autowired -// private AppAlarmStrategyDao appAlarmStrategyDao; -// @Autowired -// private AppAlarmRuleDao appAlarmRuleDao; -// @Autowired -// private AlarmStrategyService alarmStrategyService; -// -// @Test -// public void insert() { -// AlarmStrategy strategy = new AlarmStrategy(); -// strategy.setAppId(1); -// strategy.setAppName("test"); -// strategy.setCreater("zgf"); -// strategy.setDesc("this is a test"); -// strategy.setStrategyName("test"); -// strategy.setStrategyType(1); -// strategy.setGroup3("test3"); -// strategy.setGroup4("test4"); -// strategy.setGroup5("test5"); -// JsonObject jsonObject = new JsonObject(); -// jsonObject.addProperty("includeEnvs","测试1,测试2"); -// jsonObject.addProperty("exceptEnvs","测试3,测试4"); -// strategy.setEnvs(jsonObject.toString()); -// -// boolean result = appAlarmStrategyDao.insert(strategy); -// System.err.println(result); -// } -// -// -// @Test -// public void updateById() { -// AlarmStrategy strategy = new AlarmStrategy(); -// strategy.setAppId(2); -// strategy.setAppName("test1"); -// strategy.setCreater("zgf1"); -// strategy.setDesc("this is a test1"); -// strategy.setStrategyType(2); -// strategy.setId(3); -// boolean result = appAlarmStrategyDao.updateById(strategy); -// System.err.println(result); -// } -// -// @Test -// public void searchByCond() { -// AlarmStrategy strategy = new AlarmStrategy(); -// strategy.setCreater(""); -// strategy.setAppName("tpc"); -// strategy.setStrategyName("zgf"); -// Object result = appAlarmStrategyDao.searchByCond("",true,strategy, 1, 30,null,null); -// System.err.println(new Gson().toJson(result)); -// } -// -// -// @Test -// public void selectByStrategyId() { -// List list = new ArrayList<>(); -// AppAlarmRule rule = new AppAlarmRule(); -// rule.setStrategyId(1); -// rule.setAlarmId(1); -// rule.setAlert("t"); -// rule.setAlertTeam("{}"); -// rule.setAnnotations("{}"); -// rule.setCname("test"); -// rule.setCreater("zgf"); -// rule.setCreateTime(new Date()); -// rule.setDataCount(1); -// rule.setEnv("env"); -// rule.setExpr("expr"); -// rule.setForTime("30s"); -// rule.setIamId(1); -// rule.setLabels(""); -// rule.setMetricType(1); -// rule.setOp("="); -// rule.setPriority("1"); -// rule.setProjectId(1); -// rule.setRemark("test"); -// rule.setRuleGroup("test"); -// rule.setRuleStatus(1); -// rule.setRuleType(1); -// rule.setSendInterval("1"); -// rule.setStatus(1); -// rule.setTemplateId(1); -// rule.setUpdateTime(new Date()); -// rule.setValue(2f); -// list.add(rule); -// int result = appAlarmRuleDao.delete(rule); -// System.err.println(list); -// } -// -//} diff --git a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppMonitorDaoTest.java b/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppMonitorDaoTest.java deleted file mode 100644 index b74710477..000000000 --- a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppMonitorDaoTest.java +++ /dev/null @@ -1,158 +0,0 @@ -///* -// * To change this license header, choose License Headers in Project Properties. -// * To change this template file, choose Tools | Templates -// * and open the template in the editor. -// */ -//package com.xiaomi.mone.monitor; -// -//import com.google.gson.Gson; -//import com.xiaomi.mone.monitor.bootstrap.MiMonitorBootstrap; -//import com.xiaomi.mone.monitor.dao.AppCapacityAutoAdjustDao; -//import com.xiaomi.mone.monitor.dao.AppCapacityAutoAdjustRecordDao; -//import com.xiaomi.mone.monitor.dao.AppMonitorDao; -//import com.xiaomi.mone.monitor.dao.model.*; -//import com.xiaomi.mone.monitor.result.Result; -//import com.xiaomi.mone.monitor.service.helper.ProjectHelper; -//import com.xiaomi.mone.tpc.api.service.UserOrgFacade; -//import com.xiaomi.mone.tpc.common.enums.UserTypeEnum; -//import com.xiaomi.mone.tpc.common.param.NullParam; -//import com.xiaomi.mone.tpc.common.vo.OrgInfoVo; -//import lombok.extern.slf4j.Slf4j; -//import org.apache.commons.collections.CollectionUtils; -//import org.apache.dubbo.config.annotation.Reference; -//import org.junit.jupiter.api.Test; -//import org.junit.platform.commons.util.StringUtils; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.test.context.SpringBootTest; -// -//import java.util.HashSet; -//import java.util.List; -//import java.util.Set; -// -///** -// * @author zhanggaofeng1 -// */ -//@Slf4j -//@SpringBootTest(classes = MiMonitorBootstrap.class) -//public class AppMonitorDaoTest { -// -// @Autowired -// AppMonitorDao appMonitorDao; -// -// @Autowired -// private ProjectHelper projectHelper; -// -// @Autowired -// AppCapacityAutoAdjustDao appCapacityAutoAdjustDao; -// -// @Autowired -// AppCapacityAutoAdjustRecordDao appCapacityAutoAdjustRecordDao; -// -// @Reference(registry = "registryConfig", check = false, version = "1.0", interfaceClass = UserOrgFacade.class, group = "staging") -// UserOrgFacade iGatewayOpenApi; -// -// @Test -// public void testGetAllDeptUseHera() { -// Set set = new HashSet<>(); -// List allApps = appMonitorDao.getAllApps(1, 5000); -// allApps.forEach(t -> { -// if (StringUtils.isNotBlank(t.getOwner())) { -// set.add(t.getOwner()); -// } -// if (StringUtils.isNotBlank(t.getCareUser())) { -// set.add(t.getCareUser()); -// } -// }); -// -// Set depts = new HashSet<>(); -// for (String account : set) { -// NullParam param = new NullParam(); -// param.setAccount(account); -// param.setUserType(UserTypeEnum.CAS_TYPE.getCode()); -// com.xiaomi.youpin.infra.rpc.Result orgByAccount = iGatewayOpenApi.getOrgByAccount(param); -// if (orgByAccount == null || orgByAccount.getData() == null) { -// log.info("nodata found for account:{}", account); -// } else { -// -// String namePath = orgByAccount.getData().getNamePath(); -// if (StringUtils.isNotBlank(namePath)) { -// String[] split = namePath.split("/"); -// if (split != null && split.length > 1) { -// depts.add(split[1]); -// } -// } -// -// } -// -// } -// -// for (String dept : depts) { -// System.out.println(dept); -// } -// -// } -// -// @Test -// public void testCapacityAdjustRecordQuery() { -// AppCapacityAutoAdjustRecord condition = new AppCapacityAutoAdjustRecord(); -// condition.setNameSpace("test1"); -// condition.setContainer("12-0-101"); -// condition.setEnvId(1); -// List query = appCapacityAutoAdjustRecordDao.query(condition, 1, 1, false); -// if (CollectionUtils.isNotEmpty(query)) { -// System.out.println(query.get(0).toString()); -// } -// } -// -// @Test -// public void testInsertAppCapacityAutoAdjust() { -// AppCapacityAutoAdjust appCapacityAutoAdjust = new AppCapacityAutoAdjust(); -// appCapacityAutoAdjust.setAppId(667); -// appCapacityAutoAdjust.setAutoCapacity(1); -// appCapacityAutoAdjust.setContainer("667_0_1"); -// appCapacityAutoAdjust.setDependOn(1); -// appCapacityAutoAdjust.setMaxInstance(10); -// appCapacityAutoAdjust.setMinInstance(2); -// appCapacityAutoAdjust.setPipelineId(1); -// int i = appCapacityAutoAdjustDao.create(appCapacityAutoAdjust); -// System.out.println("has create record num : " + i); -// } -// -// @Test -// public void testSelectAppHealth() { -// AlarmHealthQuery query = new AlarmHealthQuery(); -// query.setOwner(""); -//// query.setProjectId(607551); -// query.setAppSource(0); -//// query.setAppName("mi"); -// List alarmHealthResults = appMonitorDao.selectAppHealth(query); -// System.out.println(new Gson().toJson(Result.success(alarmHealthResults))); -// } -// -// @Test -// public void accessLogSys() { -// Object obj = projectHelper.accessLogSys("zzytest", 667L, 0); -// System.err.println(obj); -// } -// -// -// public void insert() { -// AppMonitor app = new AppMonitor(); -// int result = appMonitorDao.create(app); -// System.err.println(result); -// } -// -// -// @Test -// public void getByAppId() { -// AppMonitor app = appMonitorDao.getByAppId(667); -// System.err.println(app); -// } -// -// @Test -// public void getMyAndCareAppList() { -// Object obj = appMonitorDao.getMyAndCareAppList("", "test", 1, 2, true); -// System.err.println(obj); -// } -// -//} diff --git a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppMonitorServiceTest.java b/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppMonitorServiceTest.java deleted file mode 100644 index 256d75d19..000000000 --- a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/AppMonitorServiceTest.java +++ /dev/null @@ -1,240 +0,0 @@ -//package com.xiaomi.mone.monitor; -// -//import com.google.gson.Gson; -//import com.xiaomi.mone.app.api.model.HeraAppBaseInfoModel; -//import com.xiaomi.mone.monitor.bootstrap.MiMonitorBootstrap; -//import com.xiaomi.mone.monitor.dao.AppCapacityAutoAdjustDao; -//import com.xiaomi.mone.monitor.dao.GrafanaTemplateDao; -//import com.xiaomi.mone.monitor.dao.HeraAppRoleDao; -//import com.xiaomi.mone.monitor.dao.model.AppMonitor; -//import com.xiaomi.mone.monitor.dao.model.GrafanaTemplate; -//import com.xiaomi.mone.monitor.dao.model.HeraAppRole; -//import com.xiaomi.mone.monitor.service.kubernetes.CapacityAdjustMessageService; -//import com.xiaomi.mone.monitor.dao.model.*; -//import com.xiaomi.mone.monitor.result.Result; -//import com.xiaomi.mone.monitor.service.AppGrafanaMappingService; -//import com.xiaomi.mone.monitor.service.AppMonitorService; -//import com.xiaomi.mone.monitor.service.ComputeTimerService; -//import com.xiaomi.mone.monitor.service.HeraBaseInfoService; -//import com.xiaomi.mone.monitor.service.http.MoneSpec; -//import com.xiaomi.mone.monitor.service.http.RequestParam; -//import com.xiaomi.mone.monitor.service.model.*; -//import com.xiaomi.mone.monitor.service.model.redis.AppAlarmData; -//import lombok.extern.slf4j.Slf4j; -//import org.junit.jupiter.api.Test; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.test.context.SpringBootTest; -// -//import java.io.IOException; -//import java.util.Date; -//import java.util.List; -//import java.util.stream.Collectors; -// -///** -// * -// * @author zhanggaofeng1 -// */ -//@Slf4j -//@SpringBootTest(classes = MiMonitorBootstrap.class) -//public class AppMonitorServiceTest { -// -// @Autowired -// HeraAppRoleDao heraAppRoleDao; -// -// @Autowired -// AppMonitorService appMonitorService; -// -// @Autowired -// ComputeTimerService computeTimerService; -// -// @Autowired -// AppGrafanaMappingService appGrafanaMappingService; -// -// @Autowired -// HeraBaseInfoService heraBaseInfoService; -// -// @Autowired -// GrafanaTemplateDao grafanaTemplateDao; -// -// @Autowired -// CapacityAdjustMessageService capacityAdjustMessageService; -// -// @Autowired -// AppCapacityAutoAdjustDao appCapacityAutoAdjustDao; -// -// @Test -// public void test11111(){ -// AppCapacityAutoAdjust autoQuery = new AppCapacityAutoAdjust(); -// autoQuery.setStatus(0); //0表示开启状态 -// autoQuery.setAutoCapacity(1); //开启自动扩容的 -// List result = appCapacityAutoAdjustDao.query(autoQuery, null, null); -// System.out.println(new Gson().toJson(result)); -// } -// -// @Test -// public void testCapacityMessage(){ -// MoneSpec moneSpec = new MoneSpec(); -// moneSpec.setReplicas(10); -// moneSpec.setSetReplicas(11); -// capacityAdjustMessageService.product(moneSpec); -// } -// public void testEnvMapping(){ -// String staging = heraBaseInfoService.getArea("663", 0,"staging"); -// System.out.println(staging); -// } -// -// @Test -// public void testCapacityK8s(){ -// RequestParam param = new RequestParam(); -// MoneSpec moneSpec = new MoneSpec(); -// moneSpec.setReplicas(1); -// moneSpec.setSetReplicas(2); -// moneSpec.setEnvID(1); -// moneSpec.setNamespace("test1"); -// moneSpec.setContainer("12-0-101"); -// moneSpec.init(); -// param.setMoneSpec(moneSpec); -// param.init(11); -//// String s = capacityService.capacityAdjust(param); -//// System.out.println("result===" + s); -// } -// -// @Test -// public void testComputeScore(){ -// AlarmHealthQuery query = new AlarmHealthQuery(); -// query.setOwner(""); -// query.setAppSource(0); -// Result result = appMonitorService.selectAppAlarmHealth(query); -// System.out.println(new Gson().toJson(result)); -// } -// -// -// @Test -// public void testGetAppMembers(){ -// Result members = heraBaseInfoService.getAppMembersByAppId("667", 0, ""); -// System.out.println(new Gson().toJson(members)); -// } -// -// -// @Test -// public void testQueryHeraBaseByPlatType() { -// -// HeraAppRole heraAppRole = new HeraAppRole(); -// heraAppRole.setAppId("601"); -// List query = heraAppRoleDao.query(heraAppRole, 0, 5); -// System.out.println(query.stream().map(t->t.getUser()).collect(Collectors.toList())); -// } -// -// @Test -// public void testGrafanaCreate(){ -// -// HeraAppBaseInfoModel baseInfo = new HeraAppBaseInfoModel(); -// baseInfo.setBindId(""); // -// baseInfo.setAppName(""); // -// baseInfo.setAppType(0); // -// baseInfo.setPlatformType(0); // -// baseInfo.setAppLanguage("java"); -// appGrafanaMappingService.createTmpByAppBaseInfo(baseInfo); -// } -// -// @Test -// public void testGrafanaTemplate(){ -// GrafanaTemplate template = new GrafanaTemplate(); -// template.setLanguage(0); -// template.setPlatform(1); -// template.setAppType(0); -// List search = grafanaTemplateDao.search(template); -// System.out.println(new Gson().toJson(search)); -// } -// -// -// -// @Test -// public void testHeraBaseInfo(){ -// HeraAppBaseQuery query = new HeraAppBaseQuery(); -// query.setParticipant(""); -//// query.setAppName("zzy"); -//// query.setPlatformType(1); -// } -// -// public static void main(String[] args) { -// HeraAppBaseQuery query = new HeraAppBaseQuery(); -// query.setAppName("zzy"); -// System.out.println(new Gson().toJson(query)); -// } -// -// -// @Test -// public void testHeraAppRoleDao(){ -// HeraAppRole role = new HeraAppRole(); -// role.setAppId("110"); -// role.setAppPlatform(1); -// role.setUser("gxhtest"); -// role.setStatus(1); -// role.setRole(0); -// role.setCreateTime(new Date()); -// role.setUpdateTime(new Date()); -// int i = heraAppRoleDao.create(role); -// -// System.out.println("insert hera app role result:"+i); -// -// role.setRole(1); -// heraAppRoleDao.update(role); -// System.out.println("update hera app role result:"+i); -// } -// -// @Test -// public void testExecutor(){ -//// appGrafanaMappingService.exeReloadTemplate(100); -// } -// -// public void testDelAppByUser(){ -// Result result = appMonitorService.deleteByUser(30601, 2, ""); -// System.out.println(new Gson().toJson(result)); -// } -// -// @Test -// public void listApp() throws IOException { -// -// Object data = appMonitorService.listApp(null, "", 1, 10); -// log.info("result : {}", new Gson().toJson(data)); -// } -// -// @Test -// public void listAppDistinct() throws IOException { -// -// Object data = appMonitorService.listAppDistinct("", null,1, 10); -// log.info("result : {}", new Gson().toJson(data)); -// } -// -// -// @Test -// public void create() { -// AppMonitor app = new AppMonitor(); -// app.setOwner(""); -// app.setProjectName("zzytest"); -// app.setProjectId(667); -// app.setIamTreeId(17533); -// Result stringResult = appMonitorService.create(app); -// } -// -// @Test -// public void createWithBaseInfo() { -// AppMonitorModel app = new AppMonitorModel(); -// -// app.setOwner(""); -// app.setProjectName("gxh-testx04"); -// app.setProjectCName("gxh-testx04"); -// app.setProjectId(0); -// app.setIamTreeId(0); -// app.setAppSource(0); -// app.setAppLanguage("java"); -// app.setAppType(0); -// app.setBindType(1); -// app.setEnvMapping(""); -// Result stringResult = appMonitorService.createWithBaseInfo(app,""); -// System.out.println(new Gson().toJson(stringResult)); -// } -// -// -//} diff --git a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/FreeMarkerTest.java b/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/FreeMarkerTest.java index daf24429c..e365d7fd6 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/FreeMarkerTest.java +++ b/ozhera-monitor/ozhera-monitor-server/src/test/java/org/apache/ozhera/monitor/FreeMarkerTest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor; import org.apache.ozhera.monitor.utils.FreeMarkerUtil; diff --git a/ozhera-monitor/ozhera-monitor-service/pom.xml b/ozhera-monitor/ozhera-monitor-service/pom.xml index 38341fea4..5525cab55 100644 --- a/ozhera-monitor/ozhera-monitor-service/pom.xml +++ b/ozhera-monitor/ozhera-monitor-service/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmAlertLevel.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmAlertLevel.java index a99100feb..6097380ed 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmAlertLevel.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmAlertLevel.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; import java.util.*; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmCheckDataCount.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmCheckDataCount.java index 7e694cdcb..ad32b5f16 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmCheckDataCount.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmCheckDataCount.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; import org.apache.commons.lang3.StringUtils; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmPresetMetrics.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmPresetMetrics.java index 87f071342..f684e52d7 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmPresetMetrics.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmPresetMetrics.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleMetricType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleMetricType.java index e25d59584..68a98a25d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleMetricType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleMetricType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleTemplateType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleTemplateType.java index f793ec1de..0191b640c 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleTemplateType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleTemplateType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleType.java index 50c4ae49b..f7eff5984 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmRuleType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmSendInterval.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmSendInterval.java index 16c6db546..ca1627dbc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmSendInterval.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmSendInterval.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; import org.apache.commons.lang3.StringUtils; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyInfo.java index ea851b026..4eced619b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyParam.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyParam.java index 24aa3d519..6c24ae5cf 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyParam.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyParam.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyType.java index 3a440a089..e399479ce 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlarmStrategyType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; import java.util.ArrayList; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertGroupInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertGroupInfo.java index 5556bcd6c..6bb14f5b5 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertGroupInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertGroupInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.bo; import org.apache.ozhera.monitor.service.model.alarm.duty.DutyInfo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertGroupParam.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertGroupParam.java index 918397cb7..180176ac0 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertGroupParam.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertGroupParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistory.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistory.java index 0d6524e0a..7044cbfb6 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistory.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistory.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistoryDetailed.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistoryDetailed.java index 2af1a9a31..ec160a100 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistoryDetailed.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistoryDetailed.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistoryParam.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistoryParam.java index 7f1e9190e..feecbc958 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistoryParam.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AlertHistoryParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppLanguage.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppLanguage.java index d42a8c540..ddf1b67c9 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppLanguage.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppLanguage.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppMonitorConfigType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppMonitorConfigType.java index 5a1d868bd..0d5fdc4d5 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppMonitorConfigType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppMonitorConfigType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppType.java index d461f92f5..cc855d482 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppViewType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppViewType.java index 0c4872b86..8fa566596 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppViewType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppViewType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppendLabelType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppendLabelType.java index 86a2197ca..3747de702 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppendLabelType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AppendLabelType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AreaType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AreaType.java index c2ae0c259..bc2e4b188 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AreaType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/AreaType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/BasicUrlType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/BasicUrlType.java index 351f68550..44060016c 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/BasicUrlType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/BasicUrlType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/DashboardDTO.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/DashboardDTO.java index 7f4e03336..026ab3e00 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/DashboardDTO.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/DashboardDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaApiKeyReq.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaApiKeyReq.java index 73df22449..bde863af4 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaApiKeyReq.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaApiKeyReq.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaApiKeyRes.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaApiKeyRes.java index d4a3de531..204071846 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaApiKeyRes.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaApiKeyRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaBlackListParam.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaBlackListParam.java index bda5eccb0..8b763bc40 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaBlackListParam.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaBlackListParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDashboardRes.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDashboardRes.java index 5308b3dc1..3cd562055 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDashboardRes.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDashboardRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceInnerRes.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceInnerRes.java index b8c72779b..6c620648a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceInnerRes.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceInnerRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceReq.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceReq.java index 72b390d4f..84789c745 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceReq.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceReq.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceRes.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceRes.java index a169521dc..ca75dac39 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceRes.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaCreateDataSourceRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaFolderReq.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaFolderReq.java index 4a197748e..b4c09cb90 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaFolderReq.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaFolderReq.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaFolderRes.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaFolderRes.java index 5c2151248..e3306f5d0 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaFolderRes.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaFolderRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaGetDataSourceRes.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaGetDataSourceRes.java index 3612dd724..be3d79827 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaGetDataSourceRes.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaGetDataSourceRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaGetFolderRes.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaGetFolderRes.java index bc5ebf573..095b93641 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaGetFolderRes.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaGetFolderRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaInterfaceRes.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaInterfaceRes.java index 51f434bac..544de9e8b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaInterfaceRes.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/GrafanaInterfaceRes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/HeraReqInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/HeraReqInfo.java index 62740e3d9..2ab667a52 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/HeraReqInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/HeraReqInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/InterfaceMetricTypes.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/InterfaceMetricTypes.java index 39741a5d5..f75f4888d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/InterfaceMetricTypes.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/InterfaceMetricTypes.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/InterfaceNameEnum.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/InterfaceNameEnum.java index 8eaae76b5..3ee682e2d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/InterfaceNameEnum.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/InterfaceNameEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricLabelKind.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricLabelKind.java index 9466a3396..77db216fe 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricLabelKind.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricLabelKind.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricsRule.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricsRule.java index 7fe4edae0..82c209fa3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricsRule.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricsRule.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricsUnit.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricsUnit.java index dd068c02d..8f72ba83d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricsUnit.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/MetricsUnit.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ModuleNameEnum.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ModuleNameEnum.java index 812252029..44389ad96 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ModuleNameEnum.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ModuleNameEnum.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/OperLogAction.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/OperLogAction.java index 15f202687..40dba46e6 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/OperLogAction.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/OperLogAction.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/Pair.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/Pair.java index f29f3d3d7..651829625 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/Pair.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/Pair.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PlatForm.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PlatForm.java index 086df7235..987975aa1 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PlatForm.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PlatForm.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PlatFormType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PlatFormType.java index 1ba75eba7..44549a20a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PlatFormType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PlatFormType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PresetMetricLabels.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PresetMetricLabels.java index dceca43ce..0d320f69b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PresetMetricLabels.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/PresetMetricLabels.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ReqErrorMetrics.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ReqErrorMetrics.java index e0daba4be..bd259261f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ReqErrorMetrics.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ReqErrorMetrics.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ReqSlowMetrics.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ReqSlowMetrics.java index a977b0597..25fdf5735 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ReqSlowMetrics.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ReqSlowMetrics.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ResourceUsageMetrics.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ResourceUsageMetrics.java index f8393a460..9051bfa79 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ResourceUsageMetrics.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/ResourceUsageMetrics.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RulePromQLTemplateInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RulePromQLTemplateInfo.java index baf2f9eb5..2ceb13bd1 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RulePromQLTemplateInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RulePromQLTemplateInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RulePromQLTemplateParam.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RulePromQLTemplateParam.java index b96c4fd76..fc1f03063 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RulePromQLTemplateParam.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RulePromQLTemplateParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RuleStatusType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RuleStatusType.java index 2a3916669..bfddc9cbc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RuleStatusType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/RuleStatusType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/SendAlertGroupKey.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/SendAlertGroupKey.java index 5963bc028..0ee58309e 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/SendAlertGroupKey.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/SendAlertGroupKey.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/Triple.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/Triple.java index 261a0dfdf..bd7b609ff 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/Triple.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/Triple.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/UserInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/UserInfo.java index c3b86ba9f..8832f4227 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/UserInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/UserInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/serviceMarketType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/serviceMarketType.java index 2c329e5e6..7c9126c51 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/serviceMarketType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/bo/serviceMarketType.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.bo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/MqConfig.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/MqConfig.java index c8b4139ac..f369da6be 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/MqConfig.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/MqConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.config; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/NacosConfiguration.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/NacosConfiguration.java index ea510d3d5..e45750b24 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/NacosConfiguration.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/NacosConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.config; import com.alibaba.nacos.api.annotation.NacosProperties; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/RestTemplateConfig.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/RestTemplateConfig.java index 145bbcb83..94739a25f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/RestTemplateConfig.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/config/RestTemplateConfig.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.config; import org.springframework.beans.factory.annotation.Value; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AlertGroupDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AlertGroupDao.java index 93768f75d..3f58c5769 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AlertGroupDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AlertGroupDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AlertManagerRulesDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AlertManagerRulesDao.java index f0eafb338..9709926d9 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AlertManagerRulesDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AlertManagerRulesDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmRuleDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmRuleDao.java index 6bf00cd96..6498dc77e 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmRuleDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmRuleDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmRuleTemplateDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmRuleTemplateDao.java index 22b3538a6..c117b3c29 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmRuleTemplateDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmRuleTemplateDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmStrategyDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmStrategyDao.java index 747b679fe..75e216b9c 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmStrategyDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppAlarmStrategyDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppCapacityAutoAdjustDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppCapacityAutoAdjustDao.java index e7217e2b6..5a97c19cc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppCapacityAutoAdjustDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppCapacityAutoAdjustDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppCapacityAutoAdjustRecordDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppCapacityAutoAdjustRecordDao.java index 3aa3206de..d01950f00 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppCapacityAutoAdjustRecordDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppCapacityAutoAdjustRecordDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppGrafanaMappingDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppGrafanaMappingDao.java index 752212785..de0dad1f8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppGrafanaMappingDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppGrafanaMappingDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppMonitorConfigDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppMonitorConfigDao.java index cae0dfe9c..cefe91a94 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppMonitorConfigDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppMonitorConfigDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppMonitorDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppMonitorDao.java index 597cc3464..9390d1825 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppMonitorDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppMonitorDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppQualityMarketDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppQualityMarketDao.java index e9614be6a..9e3c176c4 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppQualityMarketDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppQualityMarketDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppScrapeJobDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppScrapeJobDao.java index fd033b713..b3b5fce8b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppScrapeJobDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppScrapeJobDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppServiceMarketDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppServiceMarketDao.java index a4692ecdf..09d672d39 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppServiceMarketDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/AppServiceMarketDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/GrafanaBlackListDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/GrafanaBlackListDao.java index 888435eb5..611f9db25 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/GrafanaBlackListDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/GrafanaBlackListDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/GrafanaTemplateDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/GrafanaTemplateDao.java index aa3787b8f..1ec97be4f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/GrafanaTemplateDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/GrafanaTemplateDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/HeraAppRoleDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/HeraAppRoleDao.java index f3397716a..875c6f187 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/HeraAppRoleDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/HeraAppRoleDao.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/HeraOperLogDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/HeraOperLogDao.java index 32be2356c..d040811b3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/HeraOperLogDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/HeraOperLogDao.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao; import org.apache.ozhera.monitor.dao.model.HeraOperLog; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/RulePromQLTemplateDao.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/RulePromQLTemplateDao.java index a6748ee8c..a98cc6df7 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/RulePromQLTemplateDao.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/RulePromQLTemplateDao.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao; import org.apache.ozhera.monitor.bo.RulePromQLTemplateInfo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/impl/AppAlarmStrategyDaoImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/impl/AppAlarmStrategyDaoImpl.java index 1875be069..11f8f2926 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/impl/AppAlarmStrategyDaoImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/impl/AppAlarmStrategyDaoImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AlertManagerRulesMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AlertManagerRulesMapper.java index 0808c931e..c142da18f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AlertManagerRulesMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AlertManagerRulesMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleMapper.java index 1c6988f1a..20e3dcbee 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleTemplateMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleTemplateMapper.java index 00eed37ac..1ad2e9678 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleTemplateMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleTemplateMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustMapper.java index d481ac88d..4fea9c098 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustRecordMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustRecordMapper.java index 7366c333a..00a9b2169 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustRecordMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustRecordMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppGrafanaBlackListMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppGrafanaBlackListMapper.java index 52f6d8def..c57eba54f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppGrafanaBlackListMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppGrafanaBlackListMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppGrafanaMappingMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppGrafanaMappingMapper.java index e406daf3d..8428aa342 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppGrafanaMappingMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppGrafanaMappingMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppMonitorConfigMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppMonitorConfigMapper.java index 0da89eb6e..406ce40dc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppMonitorConfigMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppMonitorConfigMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppMonitorMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppMonitorMapper.java index 573493a58..d6354be29 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppMonitorMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppMonitorMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppQualityMarketMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppQualityMarketMapper.java index b8f06df27..eca73090c 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppQualityMarketMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppQualityMarketMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppScrapeJobMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppScrapeJobMapper.java index 6c0ca7d71..36998f9d5 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppScrapeJobMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppScrapeJobMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppServiceMarketMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppServiceMarketMapper.java index 99cfa5223..3e08a9d1c 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppServiceMarketMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/AppServiceMarketMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/GrafanaTemplateMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/GrafanaTemplateMapper.java index 032ceb3c4..8aff93113 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/GrafanaTemplateMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/GrafanaTemplateMapper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.mapper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/HeraAppRoleMapper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/HeraAppRoleMapper.java index a28723749..0aa47f12b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/HeraAppRoleMapper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/mapper/HeraAppRoleMapper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.mapper; import org.apache.ozhera.monitor.dao.model.HeraAppRole; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthQuery.java index be346c65b..49fe8d666 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthResult.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthResult.java index 12540880b..0a3647a90 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthResult.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmHealthResult.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmStrategy.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmStrategy.java index 618326cff..6a694ff28 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmStrategy.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlarmStrategy.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertGroup.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertGroup.java index 71f5ed362..17f9d666b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertGroup.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertGroup.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertGroupMember.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertGroupMember.java index 6cf080400..75c463724 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertGroupMember.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertGroupMember.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertManagerRules.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertManagerRules.java index b619c5913..76291041d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertManagerRules.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertManagerRules.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertManagerRulesExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertManagerRulesExample.java index 4afec7643..748e5bd80 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertManagerRulesExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AlertManagerRulesExample.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; import java.util.ArrayList; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRule.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRule.java index fb8756534..ab5370f89 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRule.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRule.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleExample.java index f3b85ed33..ec50a6fed 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleExample.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; import java.util.ArrayList; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleTemplate.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleTemplate.java index 4d9077c5d..05b220738 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleTemplate.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleTemplate.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; import java.util.ArrayList; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleTemplateExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleTemplateExample.java index ef76fbcd5..fd966f853 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleTemplateExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppAlarmRuleTemplateExample.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; import java.util.ArrayList; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjust.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjust.java index d7499c5e3..ab65deb83 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjust.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjust.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.dao.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustExample.java index 863029bd6..529087169 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustRecord.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustRecord.java index 4152f30f1..56323898c 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustRecord.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustRecord.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustRecordExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustRecordExample.java index 9124a686e..a557ad2c8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustRecordExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppCapacityAutoAdjustRecordExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaBlackList.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaBlackList.java index 6ad5d5842..0cdaeeb6e 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaBlackList.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaBlackList.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaBlackListExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaBlackListExample.java index de63e1037..08580b6e3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaBlackListExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaBlackListExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaMapping.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaMapping.java index 48e473b2d..e07c8bfe6 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaMapping.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaMapping.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaMappingExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaMappingExample.java index 0d701b0cf..a233942b6 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaMappingExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppGrafanaMappingExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitor.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitor.java index bdbbaa688..e88bb5abb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitor.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitor.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorConfig.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorConfig.java index ddba1e13c..2da381b35 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorConfig.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorConfigExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorConfigExample.java index b3a0f151d..70c684588 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorConfigExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorConfigExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorExample.java index f02e003b9..9baba1eef 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppMonitorExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppQualityMarket.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppQualityMarket.java index e6ca46732..ab669ca5e 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppQualityMarket.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppQualityMarket.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppQualityMarketExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppQualityMarketExample.java index 34e48bc80..0ea9672d0 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppQualityMarketExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppQualityMarketExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppScrapeJob.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppScrapeJob.java index 19f533d1a..72c5e1901 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppScrapeJob.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppScrapeJob.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppScrapeJobExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppScrapeJobExample.java index 4357d6bdd..9a982032a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppScrapeJobExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppScrapeJobExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppServiceMarket.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppServiceMarket.java index 1c7d6af9e..876377349 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppServiceMarket.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppServiceMarket.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppServiceMarketExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppServiceMarketExample.java index 8849a283c..97ba8e005 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppServiceMarketExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppServiceMarketExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppWithRules.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppWithRules.java index a8cd9de23..57ff76352 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppWithRules.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/AppWithRules.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/GrafanaTemplate.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/GrafanaTemplate.java index 6d3a68a64..dafc853ed 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/GrafanaTemplate.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/GrafanaTemplate.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/GrafanaTemplateExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/GrafanaTemplateExample.java index 651f61d84..105f1c14d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/GrafanaTemplateExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/GrafanaTemplateExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraAppRole.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraAppRole.java index 56cd38ddb..b9629ac01 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraAppRole.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraAppRole.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraAppRoleExample.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraAppRoleExample.java index 7259918db..430aa5c7d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraAppRoleExample.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraAppRoleExample.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraOperLog.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraOperLog.java index e980b1636..725d0c5af 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraOperLog.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/HeraOperLog.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/PrometheusJob.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/PrometheusJob.java index a4b3aebab..26b072f69 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/PrometheusJob.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/PrometheusJob.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/RulePromQLTemplate.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/RulePromQLTemplate.java index 83a2cb70a..2844fcfb3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/RulePromQLTemplate.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/RulePromQLTemplate.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/TeslaAlarmHealthResult.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/TeslaAlarmHealthResult.java index a720eec1d..087f905f5 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/TeslaAlarmHealthResult.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/dao/model/TeslaAlarmHealthResult.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.dao.model; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/enums/BasicAlarmLevel.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/enums/BasicAlarmLevel.java index fb1d46551..33de217d3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/enums/BasicAlarmLevel.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/enums/BasicAlarmLevel.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.enums; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/enums/KeyCenterRequestType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/enums/KeyCenterRequestType.java index df26c99d3..fe6bf6d47 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/enums/KeyCenterRequestType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/enums/KeyCenterRequestType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.enums; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/AlarmPresetMetricsPOJO.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/AlarmPresetMetricsPOJO.java index 2ab414375..f936d07c3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/AlarmPresetMetricsPOJO.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/AlarmPresetMetricsPOJO.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.pojo; import org.apache.ozhera.monitor.bo.AlarmStrategyType; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/BasicUrlTypePOJO.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/BasicUrlTypePOJO.java index 47f952cc4..993d4131a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/BasicUrlTypePOJO.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/BasicUrlTypePOJO.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.pojo; import com.google.gson.JsonObject; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/MetricLabelKindPOJO.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/MetricLabelKindPOJO.java index 82a44880d..9546bdde1 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/MetricLabelKindPOJO.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/MetricLabelKindPOJO.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.pojo; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqErrorMetricsPOJO.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqErrorMetricsPOJO.java index 606d4b506..3a304436a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqErrorMetricsPOJO.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqErrorMetricsPOJO.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.pojo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqSlowMetricsPOJO.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqSlowMetricsPOJO.java index 7d96af843..6382fb750 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqSlowMetricsPOJO.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/pojo/ReqSlowMetricsPOJO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.pojo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlarmStrategyService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlarmStrategyService.java index 7240f2784..ccfe6735a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlarmStrategyService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlarmStrategyService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlertGroupService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlertGroupService.java index 561008ca8..89ba39aea 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlertGroupService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlertGroupService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlertHistoryService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlertHistoryService.java index f3512000a..7d00524d4 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlertHistoryService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AlertHistoryService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppAlarmService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppAlarmService.java index dafb62930..807fc9641 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppAlarmService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppAlarmService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppGrafanaMappingService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppGrafanaMappingService.java index 74473df6f..b25957ff0 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppGrafanaMappingService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppGrafanaMappingService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppMonitorConfigService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppMonitorConfigService.java index 1e7121594..100f9c009 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppMonitorConfigService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppMonitorConfigService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppMonitorService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppMonitorService.java index c375dd294..f062ce584 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppMonitorService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/AppMonitorService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ComputeTimerService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ComputeTimerService.java index 6b9031a36..ec57ee01a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ComputeTimerService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ComputeTimerService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/GrafanaBlackListService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/GrafanaBlackListService.java index e99922e26..df60b91a5 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/GrafanaBlackListService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/GrafanaBlackListService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/GrafanaService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/GrafanaService.java index dfee3e81f..5901103a4 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/GrafanaService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/GrafanaService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/HeraBaseInfoService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/HeraBaseInfoService.java index d747edc29..593e8ab8b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/HeraBaseInfoService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/HeraBaseInfoService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/HeraDashboardService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/HeraDashboardService.java index 5030bcf9f..ce2825d8a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/HeraDashboardService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/HeraDashboardService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/QualityMarketService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/QualityMarketService.java index b8918f992..c6e0575e3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/QualityMarketService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/QualityMarketService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ResourceUsageService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ResourceUsageService.java index 5e25795bd..e9f84d15b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ResourceUsageService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ResourceUsageService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/RulePromQLTemplateService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/RulePromQLTemplateService.java index 30be7d276..6c28194d9 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/RulePromQLTemplateService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/RulePromQLTemplateService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ServiceMarketService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ServiceMarketService.java index 4e363de79..078099d7a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ServiceMarketService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/ServiceMarketService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlarmExprService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlarmExprService.java index f770c8740..2cec472d9 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlarmExprService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlarmExprService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.alertmanager; import org.apache.ozhera.monitor.dao.model.AppAlarmRule; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertManager.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertManager.java index d0ceca18c..0d480e844 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertManager.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertManager.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.alertmanager; import com.google.gson.JsonElement; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertServiceAdapt.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertServiceAdapt.java index fb94e9617..655faf283 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertServiceAdapt.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/AlertServiceAdapt.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.alertmanager; import com.google.gson.JsonElement; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java index 17c45661f..4207b8254 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlarmExprServiceOuter.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.alertmanager.impl; import com.alibaba.nacos.api.config.annotation.NacosValue; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlertManagerImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlertManagerImpl.java index 711d38a2f..cdb8a54b2 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlertManagerImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/alertmanager/impl/AlertManagerImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.alertmanager.impl; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingAction.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingAction.java index 0dde667f8..67d456019 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingAction.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingAction.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.aop.action; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupAdd.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupAdd.java index c7ac20e7e..19f79b615 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupAdd.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupAdd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.aop.action; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupDelete.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupDelete.java index 9ff8d287e..cfea9889a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupDelete.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupDelete.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.aop.action; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupEdit.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupEdit.java index 74672172b..91930b2e4 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupEdit.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionAlertGroupEdit.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.aop.action; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg0.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg0.java index f79250c54..2d8d5ee26 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg0.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg0.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.aop.action; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg1.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg1.java index 91b854a45..9cc437d27 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg1.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg1.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.aop.action; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg2.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg2.java index 55780eabd..c86251521 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg2.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg2.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.action; import org.apache.ozhera.monitor.bo.HeraReqInfo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg3.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg3.java index de566e40f..c584759d2 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg3.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg3.java @@ -19,11 +19,25 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -/** - * 两个参数类型 - * @author: zgf1 - * @date: 2022/1/13 15:59 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + @Slf4j public abstract class HeraRequestMappingActionArg3 implements HeraRequestMappingAction{ diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionRuleDelete.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionRuleDelete.java index 5c23272a4..9a9215a2a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionRuleDelete.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionRuleDelete.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.action; import org.apache.ozhera.monitor.bo.HeraReqInfo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionRuleEdit.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionRuleEdit.java index 0187c79a7..4ceafe89f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionRuleEdit.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionRuleEdit.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.action; import org.apache.ozhera.monitor.bo.HeraReqInfo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyAdd.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyAdd.java index 436495664..6ec814813 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyAdd.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyAdd.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.action; import org.apache.ozhera.monitor.bo.HeraReqInfo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyDelete.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyDelete.java index 087c46151..0f5b85b33 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyDelete.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyDelete.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.action; import org.apache.ozhera.monitor.bo.AlarmStrategyParam; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyEdit.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyEdit.java index a5da6f716..c7c55a02a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyEdit.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyEdit.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.action; import org.apache.ozhera.monitor.bo.HeraReqInfo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyEnable.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyEnable.java index 43e0d3324..4c1eeebe3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyEnable.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionStrategyEnable.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.action; import org.apache.ozhera.monitor.bo.AlarmStrategyParam; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/context/HeraRequestMappingContext.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/context/HeraRequestMappingContext.java index 070f46816..319b3ebbc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/context/HeraRequestMappingContext.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/context/HeraRequestMappingContext.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.context; import java.util.HashMap; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/helper/HeraRequestMappingActionAlertGroupHelper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/helper/HeraRequestMappingActionAlertGroupHelper.java index a0864b41a..74c0337db 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/helper/HeraRequestMappingActionAlertGroupHelper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/helper/HeraRequestMappingActionAlertGroupHelper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.helper; import org.apache.ozhera.monitor.bo.AlertGroupInfo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/helper/HeraRequestMappingActionStrategyHelper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/helper/HeraRequestMappingActionStrategyHelper.java index 039268f51..8c6eca9da 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/helper/HeraRequestMappingActionStrategyHelper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/helper/HeraRequestMappingActionStrategyHelper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.aop.helper; import org.apache.ozhera.monitor.bo.HeraReqInfo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlarmPresetMetricsService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlarmPresetMetricsService.java index 5f3401a7b..f07400eec 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlarmPresetMetricsService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlarmPresetMetricsService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlarmServiceExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlarmServiceExtension.java index ec8452872..345fe1ddd 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlarmServiceExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlarmServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlertHelperExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlertHelperExtension.java index c382241d4..5d8a3eaef 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlertHelperExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AlertHelperExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppAlarmServiceExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppAlarmServiceExtension.java index 27b55eaed..59c369c3c 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppAlarmServiceExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppAlarmServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppGrafanaMappingServiceExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppGrafanaMappingServiceExtension.java index 3101f7d22..e2f2ba59a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppGrafanaMappingServiceExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppGrafanaMappingServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppMonitorServiceExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppMonitorServiceExtension.java index b4c83dfa8..0b9276db4 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppMonitorServiceExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/AppMonitorServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ComputeTimerServiceExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ComputeTimerServiceExtension.java index 2495a0b6a..595b26200 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ComputeTimerServiceExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ComputeTimerServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/EsExtensionService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/EsExtensionService.java index 8c3ae1d37..e19689d30 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/EsExtensionService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/EsExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/GrafanaServiceExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/GrafanaServiceExtension.java index 8515c7108..9921dd6ec 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/GrafanaServiceExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/GrafanaServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/IAMService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/IAMService.java index 997c25395..218d90ffd 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/IAMService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/IAMService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/MetricsLabelKindService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/MetricsLabelKindService.java index 5815b4b6a..fe071ef70 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/MetricsLabelKindService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/MetricsLabelKindService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/PrometheusServiceExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/PrometheusServiceExtension.java index fcb762d91..4eb28006e 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/PrometheusServiceExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/PrometheusServiceExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ReqErrorMetricsService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ReqErrorMetricsService.java index 154fc3a3c..22e9d72b7 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ReqErrorMetricsService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ReqErrorMetricsService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ReqSlowMetricsService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ReqSlowMetricsService.java index d95443c38..32374ff74 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ReqSlowMetricsService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ReqSlowMetricsService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ServiceMarketExtension.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ServiceMarketExtension.java index da3265956..c338e4080 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ServiceMarketExtension.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/ServiceMarketExtension.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/TeslaService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/TeslaService.java index 74361737d..56c386882 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/TeslaService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/TeslaService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AlarmPresetMetricsServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AlarmPresetMetricsServiceImpl.java index f92615ce3..5854a12a1 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AlarmPresetMetricsServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AlarmPresetMetricsServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppAlarmServiceExtensionImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppAlarmServiceExtensionImpl.java index d69bed253..e5ef188ea 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppAlarmServiceExtensionImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppAlarmServiceExtensionImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppGrafanaMappingServiceExtensionImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppGrafanaMappingServiceExtensionImpl.java index 2bcc923fa..f749288b9 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppGrafanaMappingServiceExtensionImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppGrafanaMappingServiceExtensionImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppMonitorServiceExtensionImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppMonitorServiceExtensionImpl.java index 5c3a7cd13..c2a94192b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppMonitorServiceExtensionImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/AppMonitorServiceExtensionImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java index 932dedbd6..322784029 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ComputeTimerServiceExtensionImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/GrafanaServiceExtensionImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/GrafanaServiceExtensionImpl.java index c25d34cfd..91e9ccb05 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/GrafanaServiceExtensionImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/GrafanaServiceExtensionImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.api.impl; import com.alibaba.nacos.api.config.annotation.NacosValue; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/IAMServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/IAMServiceImpl.java index ee3e8ce2b..24c3205a4 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/IAMServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/IAMServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.api.impl; import org.apache.ozhera.monitor.service.api.IAMService; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/MetricsLabelKindServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/MetricsLabelKindServiceImpl.java index e8370091c..f72cc7f05 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/MetricsLabelKindServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/MetricsLabelKindServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.api.impl; import org.apache.ozhera.monitor.bo.MetricLabelKind; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/PrometheusServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/PrometheusServiceImpl.java index 8db31995c..73498982d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/PrometheusServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/PrometheusServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.api.impl; import com.alibaba.nacos.api.config.annotation.NacosValue; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqErrorMetricsServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqErrorMetricsServiceImpl.java index bb306318e..01bdcc9f1 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqErrorMetricsServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqErrorMetricsServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.api.impl; import org.apache.ozhera.monitor.bo.AlarmPresetMetrics; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqSlowMetricsServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqSlowMetricsServiceImpl.java index 057c1a7d1..1f196c04a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqSlowMetricsServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ReqSlowMetricsServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ServiceMarketImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ServiceMarketImpl.java index 6f7944ea3..4f56a274e 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ServiceMarketImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/ServiceMarketImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/TeslaServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/TeslaServiceImpl.java index 127e800dc..65c3b5fdc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/TeslaServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/api/impl/TeslaServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.api.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/doris/DorisSearchService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/doris/DorisSearchService.java index b4bd94d00..1c7d7cd11 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/doris/DorisSearchService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/doris/DorisSearchService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.doris; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsExtensionServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsExtensionServiceImpl.java index 92ece9942..353806f09 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsExtensionServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsExtensionServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.es; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsService.java index f5319192c..6bf7751d8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/es/EsService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.es; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/MetricDetailService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/MetricDetailService.java index c59d153c1..6d761f791 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/MetricDetailService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/MetricDetailService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.extension; import org.apache.ozhera.monitor.result.Result; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/MetricsExtensionService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/MetricsExtensionService.java index a52bdc9de..184c7a834 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/MetricsExtensionService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/MetricsExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.extension; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/PlatFormTypeExtensionService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/PlatFormTypeExtensionService.java index 38519201f..41c4c4806 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/PlatFormTypeExtensionService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/PlatFormTypeExtensionService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.extension; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/MerticDetailServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/MerticDetailServiceImpl.java index dbcaba757..e33ac87ec 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/MerticDetailServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/MerticDetailServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.extension.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/MetricsExtensionServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/MetricsExtensionServiceImpl.java index 5098d1977..bb75a1a20 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/MetricsExtensionServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/MetricsExtensionServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.extension.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/PlatFormTypeExtensionServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/PlatFormTypeExtensionServiceImpl.java index 1998c3110..84df235ed 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/PlatFormTypeExtensionServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/extension/impl/PlatFormTypeExtensionServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.extension.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelper.java index aad35ff1e..13b8a6852 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.helper; import com.alibaba.nacos.api.config.annotation.NacosValue; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelperExtensionImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelperExtensionImpl.java index 00fafe7f5..cff4ae162 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelperExtensionImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertHelperExtensionImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.helper; import com.alibaba.nacos.api.config.annotation.NacosValue; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertUrlHelper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertUrlHelper.java index 48e0184c9..93bc14693 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertUrlHelper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/AlertUrlHelper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.helper; import com.google.gson.JsonObject; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/ProjectHelper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/ProjectHelper.java index 10b800080..dcefd1066 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/ProjectHelper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/ProjectHelper.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.helper; import org.apache.ozhera.log.api.model.dto.MontorAppDTO; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/RedisHelper.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/RedisHelper.java index d5ae34c23..1c23b41cb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/RedisHelper.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/helper/RedisHelper.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.helper; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/MoneSpec.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/MoneSpec.java index 84b41bfd8..434506400 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/MoneSpec.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/MoneSpec.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.http; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RequestParam.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RequestParam.java index 56d92ba4c..9ae18e2a1 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RequestParam.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RequestParam.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.http; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RestTemplateService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RestTemplateService.java index b8df0c960..d0fad71f0 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RestTemplateService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/http/RestTemplateService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.http; import com.alibaba.fastjson.JSONObject; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AAImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AAImpl.java index 01084b9ea..f6acbbad6 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AAImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AAImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.impl; import org.apache.ozhera.monitor.service.AA; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ABImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ABImpl.java index 63644d88c..2c0b67cac 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ABImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ABImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.impl; import org.apache.ozhera.monitor.service.AB; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlarmStrategyServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlarmStrategyServiceImpl.java index a93d41952..cc7378e09 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlarmStrategyServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlarmStrategyServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertGroupServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertGroupServiceImpl.java index d7debd609..95a4a8aaa 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertGroupServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertGroupServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertHistoryServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertHistoryServiceImpl.java index c343e731d..6971ed264 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertHistoryServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AlertHistoryServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppAlarmServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppAlarmServiceImpl.java index aa833e1ec..1e278344f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppAlarmServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppAlarmServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppGrafanaMappingServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppGrafanaMappingServiceImpl.java index 4bf59ff21..65642bb3a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppGrafanaMappingServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppGrafanaMappingServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppMonitorConfigServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppMonitorConfigServiceImpl.java index ab97a7a3c..04058b20e 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppMonitorConfigServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppMonitorConfigServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppMonitorServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppMonitorServiceImpl.java index ef0c5dba4..de5e0435a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppMonitorServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/AppMonitorServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ComputeTimerServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ComputeTimerServiceImpl.java index f8bea1764..bf5e53191 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ComputeTimerServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ComputeTimerServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaApiServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaApiServiceImpl.java index 2200b519e..7c1004feb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaApiServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaApiServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.impl; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaBlackListServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaBlackListServiceImpl.java index 1d3c4bd86..ba1d6b927 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaBlackListServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaBlackListServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaImpl.java index 6f3dd9e8e..abfb40924 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.impl; import org.apache.ozhera.monitor.service.Grafana; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaServiceImpl.java index 3b5326970..e6c6af354 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/GrafanaServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraBaseInfoServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraBaseInfoServiceImpl.java index 2cb55874f..5ae5dd5fb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraBaseInfoServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraBaseInfoServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraDashboardServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraDashboardServiceImpl.java index 79c4dd189..b02666bcc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraDashboardServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/HeraDashboardServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/QualityMarketServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/QualityMarketServiceImpl.java index 3e5a7517a..ca3324de2 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/QualityMarketServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/QualityMarketServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ResourceUsageServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ResourceUsageServiceImpl.java index 32e26f5ec..95c7817fc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ResourceUsageServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ResourceUsageServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/RulePromQLTemplateServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/RulePromQLTemplateServiceImpl.java index 5a49686a7..fd006eedb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/RulePromQLTemplateServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/RulePromQLTemplateServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ServiceMarketServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ServiceMarketServiceImpl.java index 873aa9c7f..83920001b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ServiceMarketServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/impl/ServiceMarketServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.impl; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/kubernetes/CapacityAdjustMessageService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/kubernetes/CapacityAdjustMessageService.java index 58306013b..3f0e638bb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/kubernetes/CapacityAdjustMessageService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/kubernetes/CapacityAdjustMessageService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.kubernetes; import org.apache.ozhera.monitor.service.http.MoneSpec; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AlarmUnhealthFeishuRequest.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AlarmUnhealthFeishuRequest.java index 049f7a6e5..32c2c1dca 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AlarmUnhealthFeishuRequest.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AlarmUnhealthFeishuRequest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AlertManagerRule.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AlertManagerRule.java index 5c4adf6d1..1c14297bc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AlertManagerRule.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AlertManagerRule.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AppMonitorModel.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AppMonitorModel.java index 300674d5d..756253d33 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AppMonitorModel.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AppMonitorModel.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import org.apache.ozhera.app.api.model.HeraAppBaseInfoModel; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AppMonitorRequest.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AppMonitorRequest.java index c50ab8ef6..1954854bb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AppMonitorRequest.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/AppMonitorRequest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Area.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Area.java index 09a1587fe..a61ca5fdb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Area.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Area.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/CapacityAdjustRecordRequest.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/CapacityAdjustRecordRequest.java index f45e641ba..db0f34692 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/CapacityAdjustRecordRequest.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/CapacityAdjustRecordRequest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Env.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Env.java index 67a167086..7602bd38a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Env.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Env.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/EnvMapping.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/EnvMapping.java index 2d6354d96..db8414e48 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/EnvMapping.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/EnvMapping.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/GrafanaResponse.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/GrafanaResponse.java index fd0fa568a..42a12b7c8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/GrafanaResponse.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/GrafanaResponse.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/HeraAppBaseQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/HeraAppBaseQuery.java index b87ebaaa7..44965bf22 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/HeraAppBaseQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/HeraAppBaseQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/HeraAppRoleQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/HeraAppRoleQuery.java index 9fc7d945f..2e8098d48 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/HeraAppRoleQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/HeraAppRoleQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import org.apache.ozhera.app.api.model.HeraAppRoleModel; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/MutiGrafanaResponse.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/MutiGrafanaResponse.java index fb0aad42e..0efbedd06 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/MutiGrafanaResponse.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/MutiGrafanaResponse.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/PageData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/PageData.java index f8ec4e1f3..32d351b6c 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/PageData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/PageData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ProjectInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ProjectInfo.java index 30775b7e2..ed39d62f7 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ProjectInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ProjectInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/QualityMarketQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/QualityMarketQuery.java index 629ac625d..661e79228 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/QualityMarketQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/QualityMarketQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Region.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Region.java index 778c8755a..f758c69c3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Region.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/Region.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ResourceUsageMessage.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ResourceUsageMessage.java index 7b71e9e1b..04b0f4095 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ResourceUsageMessage.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ResourceUsageMessage.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ServiceMarketQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ServiceMarketQuery.java index ea4429edf..38cacfda9 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ServiceMarketQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/ServiceMarketQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/UserInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/UserInfo.java index ee178be44..0785f2d2b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/UserInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/UserInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/DutyGroup.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/DutyGroup.java index 9e5e997d1..3e9999feb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/DutyGroup.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/DutyGroup.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.alarm.duty; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/DutyInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/DutyInfo.java index 61f8fd7b4..e66c11b75 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/DutyInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/DutyInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.alarm.duty; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/ShiftUserInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/ShiftUserInfo.java index b6431cdf5..0bfc0ac22 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/ShiftUserInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/ShiftUserInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.alarm.duty; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/UserInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/UserInfo.java index cc79bf021..04dcc9da7 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/UserInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/alarm/duty/UserInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.alarm.duty; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/DbInstanceQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/DbInstanceQuery.java index 95e173e56..99d531e06 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/DbInstanceQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/DbInstanceQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.middleware; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/MiddleType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/MiddleType.java index b67f08bf6..72160bf59 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/MiddleType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/MiddleType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.middleware; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/MiddlewareInstanceInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/MiddlewareInstanceInfo.java index f43710030..0f8ef3908 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/MiddlewareInstanceInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/middleware/MiddlewareInstanceInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.middleware; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/mifaas/ModuleInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/mifaas/ModuleInfo.java index 6bb4bf9ee..468178ade 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/mifaas/ModuleInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/mifaas/ModuleInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.mifaas; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/project/group/ProjectGroupRequest.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/project/group/ProjectGroupRequest.java index 71dba8e75..a7b834ca8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/project/group/ProjectGroupRequest.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/project/group/ProjectGroupRequest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.project.group; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmAlertTeamData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmAlertTeamData.java index 4ee80885d..5088b7360 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmAlertTeamData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmAlertTeamData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleData.java index 74c513fa0..0bdfc31db 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleDataRemote.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleDataRemote.java index c5b17edf7..4a244cfe8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleDataRemote.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleDataRemote.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleQuery.java index 171604d90..5b7bc1a56 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleRequest.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleRequest.java index 7a7422090..c9253e528 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleRequest.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleRequest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import com.google.gson.JsonObject; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleTemplateRequest.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleTemplateRequest.java index e9a8975bf..7fd8afc21 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleTemplateRequest.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmRuleTemplateRequest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmTemplateResponse.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmTemplateResponse.java index 58da72c7f..d76840244 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmTemplateResponse.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlarmTemplateResponse.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import org.apache.ozhera.monitor.dao.model.AppAlarmRule; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertEventData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertEventData.java index accfee915..7c3396574 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertEventData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertEventData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamData.java index 7f431420d..90bb9d531 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamQuery.java index f907c1d90..395f297bc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AlertTeamQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppAlarmRuleTemplateQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppAlarmRuleTemplateQuery.java index 2f20409f7..f7d6a0a14 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppAlarmRuleTemplateQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppAlarmRuleTemplateQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppRulesQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppRulesQuery.java index e8b2f2889..5f3158bea 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppRulesQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppRulesQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppWithAlarmRules.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppWithAlarmRules.java index 10c3691ce..5cb24f0b3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppWithAlarmRules.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/AppWithAlarmRules.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/CreateTemplateParam.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/CreateTemplateParam.java index f0d04e6e5..19a069e5e 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/CreateTemplateParam.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/CreateTemplateParam.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import org.apache.ozhera.monitor.bo.AppLanguage; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/EsIndexDataType.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/EsIndexDataType.java index b3a31a26f..1a9ebfa44 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/EsIndexDataType.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/EsIndexDataType.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/Metric.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/Metric.java index 467a84263..cc550a99f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/Metric.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/Metric.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricData.java index 98de4b1b6..888c30211 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataSet.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataSet.java index 3c59729b2..0641ea69d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataSet.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataSet.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataSetVector.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataSetVector.java index b09c1efb1..d6f1d6863 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataSetVector.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataSetVector.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataVector.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataVector.java index 5b0372830..d3a3ff6d1 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataVector.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDataVector.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetail.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetail.java index 92af01f0c..8e9efe649 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetail.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetail.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetailQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetailQuery.java index 3d9608b78..1fddacbfc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetailQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricDetailQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricKind.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricKind.java index 79a3075d5..19cb5bd98 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricKind.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricKind.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import org.apache.commons.lang3.StringUtils; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricResponse.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricResponse.java index fba9df8c7..686c0d621 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricResponse.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricResponse.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricResponseVector.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricResponseVector.java index 19c7ab3ee..24b7ea4a8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricResponseVector.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricResponseVector.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardData.java index bdfb3e01c..6ac09925f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardDataSet.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardDataSet.java index fa49e5170..df9e74c76 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardDataSet.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardDataSet.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardResponse.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardResponse.java index 778faad25..fb06677d7 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardResponse.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MetricStandardResponse.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MiLogQuery.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MiLogQuery.java index 0f8abb661..d7d2873f4 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MiLogQuery.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/MiLogQuery.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/ProjectAlarmInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/ProjectAlarmInfo.java index 33c27c3a9..abbbb84fa 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/ProjectAlarmInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/ProjectAlarmInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/ServiceQps.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/ServiceQps.java index ccffb27da..7d9a774e4 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/ServiceQps.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/ServiceQps.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaApiGroupInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaApiGroupInfo.java index 028b32210..f8cf57b64 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaApiGroupInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaApiGroupInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetric.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetric.java index bec9be8ab..d81e64c13 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetric.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetric.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricData.java index e89e257e7..580d52167 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricDataSet.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricDataSet.java index 7ae06dc6d..ec652fefe 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricDataSet.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricDataSet.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricResponse.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricResponse.java index 6e7425630..452f6415f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricResponse.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/prometheus/TeslaMetricResponse.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.prometheus; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/redis/AppAlarmData.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/redis/AppAlarmData.java index b24acd0f4..cf8a557c8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/redis/AppAlarmData.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/model/redis/AppAlarmData.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.model.redis; import lombok.Builder; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/project/group/ProjectGroupService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/project/group/ProjectGroupService.java index 39a5df4d4..348957165 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/project/group/ProjectGroupService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/project/group/ProjectGroupService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.project.group; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java index 2eacdc832..0040f96c5 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.prometheus; import com.alibaba.fastjson.JSON; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmServiceExtensionImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmServiceExtensionImpl.java index 7d1a034a8..710b4d4e3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmServiceExtensionImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/AlarmServiceExtensionImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.prometheus; import org.apache.ozhera.monitor.result.Result; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/GrafanaTemplateService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/GrafanaTemplateService.java index eb371711d..2a613dc6f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/GrafanaTemplateService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/GrafanaTemplateService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.prometheus; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/JobService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/JobService.java index 269a73286..aaa463a09 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/JobService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/JobService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.prometheus; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/MetricSuffix.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/MetricSuffix.java index c5bb76bb5..a6697a04b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/MetricSuffix.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/MetricSuffix.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.prometheus; import org.apache.commons.lang3.StringUtils; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/PromQL.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/PromQL.java index d8b87f3ed..2ff3d1050 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/PromQL.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/PromQL.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.prometheus; /** diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/PrometheusService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/PrometheusService.java index 6be01c4a2..013e1be90 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/PrometheusService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/prometheus/PrometheusService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.prometheus; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqHeraMonitorConsumer.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqHeraMonitorConsumer.java index 80e939de5..282a6ce38 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqHeraMonitorConsumer.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqHeraMonitorConsumer.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.rocketmq; import com.alibaba.nacos.api.config.annotation.NacosValue; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqProducer.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqProducer.java index 07e57a12d..553b53233 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqProducer.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/RocketMqProducer.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.rocketmq; import com.alibaba.fastjson.JSON; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/model/HeraAppMessage.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/model/HeraAppMessage.java index a79504e6b..8fc507bba 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/model/HeraAppMessage.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/model/HeraAppMessage.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.rocketmq.model; import com.google.gson.JsonObject; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/model/RocketMqReceiver.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/model/RocketMqReceiver.java index d1f1580dd..6af8c3483 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/model/RocketMqReceiver.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/rocketmq/model/RocketMqReceiver.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.rocketmq.model; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/ScrapeJob.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/ScrapeJob.java index 568c4f262..f56b27f4d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/ScrapeJob.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/ScrapeJob.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.scrapeJob; import com.google.gson.JsonObject; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/ScrapeJobAdapt.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/ScrapeJobAdapt.java index 4df9dbbc3..065dc5a59 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/ScrapeJobAdapt.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/ScrapeJobAdapt.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.scrapeJob; import com.google.gson.JsonObject; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/impl/ScrapeJobImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/impl/ScrapeJobImpl.java index b5a48601b..abb4427ce 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/impl/ScrapeJobImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/scrapeJob/impl/ScrapeJobImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.scrapeJob.impl; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/serverless/ServerLessService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/serverless/ServerLessService.java index 34b4369e3..0d431d7b0 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/serverless/ServerLessService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/serverless/ServerLessService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.serverless; import java.util.List; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/serverless/impl/ServerLessServiceImpl.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/serverless/impl/ServerLessServiceImpl.java index aef319704..c6f46d790 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/serverless/impl/ServerLessServiceImpl.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/serverless/impl/ServerLessServiceImpl.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.serverless.impl; import org.apache.ozhera.monitor.service.serverless.ServerLessService; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/IdmMoneUserDetailService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/IdmMoneUserDetailService.java index c1e4bd5b9..824699114 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/IdmMoneUserDetailService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/IdmMoneUserDetailService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.user; import com.alibaba.nacos.api.config.annotation.NacosValue; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/IdmResponse.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/IdmResponse.java index 2a0974c93..61481aa0f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/IdmResponse.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/IdmResponse.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.user; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/LocalUser.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/LocalUser.java index df830e3d2..778e40777 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/LocalUser.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/LocalUser.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.user; import com.google.common.collect.Maps; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/MoneUser.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/MoneUser.java index 753383e58..96132a66c 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/MoneUser.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/MoneUser.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.user; import com.google.gson.annotations.SerializedName; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/MoneUserDetailService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/MoneUserDetailService.java index 775735e3d..8b7ec1663 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/MoneUserDetailService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/MoneUserDetailService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.user; import com.google.gson.Gson; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/UseDetailInfo.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/UseDetailInfo.java index d9d685ad4..9f9959a99 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/UseDetailInfo.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/UseDetailInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.user; import lombok.Data; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/UserConfigService.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/UserConfigService.java index 9ac1e50ce..6983aad5d 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/UserConfigService.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/user/UserConfigService.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.service.user; import com.alibaba.nacos.api.config.annotation.NacosValue; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/generatorConfig.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/generatorConfig.xml index 9dfe7162a..1f1371c4a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/generatorConfig.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/generatorConfig.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana.ftl index b455faeeb..870931a3a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations":{ diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana_jaeger.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana_jaeger.ftl index 76cd7adaa..b810f35a3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana_jaeger.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana_jaeger.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations":{ diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana_mifaas.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana_mifaas.ftl index 076b914b4..a31585eab 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana_mifaas.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/grafana_mifaas.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations":{ diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dockerMonitor.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dockerMonitor.ftl index a206fdb49..633dbf1c5 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dockerMonitor.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dockerMonitor.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboConsumerMarket.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboConsumerMarket.ftl index 39423ea66..9ad9dcc19 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboConsumerMarket.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboConsumerMarket.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboConsumerOverview.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboConsumerOverview.ftl index a19a64d2a..b819504eb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboConsumerOverview.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboConsumerOverview.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboProviderMarket.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboProviderMarket.ftl index c7e8b56ea..8a207e707 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboProviderMarket.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboProviderMarket.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboProviderOverview.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboProviderOverview.ftl index eaf4a3390..c210adf72 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboProviderOverview.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/dubboProviderOverview.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/golang.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/golang.ftl index 8a65fa00d..a6d9726ae 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/golang.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/golang.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations":{ diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grafanaInterfaceList.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grafanaInterfaceList.ftl index 55eed2da0..6487d2181 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grafanaInterfaceList.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grafanaInterfaceList.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + [ { "label": "Dubbo Provider 接口总览", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcConsumerMarket.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcConsumerMarket.ftl index 7f29581a3..0bf43aaa7 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcConsumerMarket.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcConsumerMarket.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcConsumerOverview.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcConsumerOverview.ftl index 1c7234a32..2fdfd0e63 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcConsumerOverview.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcConsumerOverview.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcProviderMarket.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcProviderMarket.ftl index 8260a1134..6f44c2002 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcProviderMarket.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcProviderMarket.ftl @@ -1,3 +1,22 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcProviderOverview.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcProviderOverview.ftl index 465114ab3..56b76b71f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcProviderOverview.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/grpcProviderOverview.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/heraSLA.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/heraSLA.ftl index e46bd9b99..4d43df3ad 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/heraSLA.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/heraSLA.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/httpServerMarket.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/httpServerMarket.ftl index 592ebbf49..c80091600 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/httpServerMarket.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/httpServerMarket.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/httpServerOverview.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/httpServerOverview.ftl index 389080648..23341b82a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/httpServerOverview.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/httpServerOverview.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/jaegerQuery.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/jaegerQuery.ftl index 13d150685..2e9a1aae6 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/jaegerQuery.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/jaegerQuery.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations":{ diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/nodeMonitor.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/nodeMonitor.ftl index ef137a643..49098e2ba 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/nodeMonitor.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/nodeMonitor.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/resourceUtilization.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/resourceUtilization.ftl index 5029de69a..52be0a45b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/resourceUtilization.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/resourceUtilization.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/serviceMarket.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/serviceMarket.ftl index 020ce69f1..e6aaeaa11 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/serviceMarket.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/serviceMarket.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations": { diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/vmAlert.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/vmAlert.ftl index 31b2225a2..62219bdb8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/vmAlert.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/vmAlert.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "__inputs": [], "__elements": {}, diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/vmCluster.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/vmCluster.ftl index 2e5e267b1..932c2f478 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/vmCluster.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraGrafanaTemplate/vmCluster.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "__inputs": [], "__elements": {}, diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/customizeScrapeJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/customizeScrapeJob.ftl index 2d22b7291..23cddabbe 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/customizeScrapeJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/customizeScrapeJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/dockerScrapeJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/dockerScrapeJob.ftl index b716e3215..bb500ac4a 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/dockerScrapeJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/dockerScrapeJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/golangRuntimeScrapeJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/golangRuntimeScrapeJob.ftl index 66fedec8f..6542d0923 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/golangRuntimeScrapeJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/golangRuntimeScrapeJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/jaegerQueryScrapeJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/jaegerQueryScrapeJob.ftl index 99c5a4f9d..52b64e9d9 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/jaegerQueryScrapeJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/jaegerQueryScrapeJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/jvmScrapeJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/jvmScrapeJob.ftl index a6f591c3b..319e4485b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/jvmScrapeJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/jvmScrapeJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/nodeScrapeJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/nodeScrapeJob.ftl index 0943170c9..db7d992ac 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/nodeScrapeJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/nodeScrapeJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmAgentJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmAgentJob.ftl index d084b4b08..b11493b77 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmAgentJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmAgentJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmAlertJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmAlertJob.ftl index f56d213b2..191252df8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmAlertJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmAlertJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmInsertJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmInsertJob.ftl index ea018822d..bad1303cd 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmInsertJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmInsertJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmSelectJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmSelectJob.ftl index 3715b945d..f49c1b034 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmSelectJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmSelectJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmStorageJob.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmStorageJob.ftl index e80d875cb..a948cabb2 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmStorageJob.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/heraScrapeJobTemplate/vm/vmStorageJob.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "region": "chn-tianjin", "zone": "ksywq", diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AlertManagerRulesMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AlertManagerRulesMapper.xml index 730f4ae03..9e6881d53 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AlertManagerRulesMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AlertManagerRulesMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleMapper.xml index 841913be9..83c2c6dfc 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleTemplateMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleTemplateMapper.xml index a3ff66dd0..073ad1667 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleTemplateMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppAlarmRuleTemplateMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustMapper.xml index 6f8178fc6..268d515b8 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustRecordMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustRecordMapper.xml index cdaa006bc..2704bdf68 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustRecordMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppCapacityAutoAdjustRecordMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppGrafanaBlackListMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppGrafanaBlackListMapper.xml index eab7db0d5..a048799cd 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppGrafanaBlackListMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppGrafanaBlackListMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppMonitorConfigMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppMonitorConfigMapper.xml index 04164dca4..438207c58 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppMonitorConfigMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppMonitorConfigMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppMonitorMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppMonitorMapper.xml index 230be58bf..c7e7be3cf 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppMonitorMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppMonitorMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppQualityMarketMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppQualityMarketMapper.xml index 8fd635e8f..8b8c3c301 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppQualityMarketMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppQualityMarketMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppScrapeJobMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppScrapeJobMapper.xml index 2db0bb757..8dfd164d0 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppScrapeJobMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppScrapeJobMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppServiceMarketMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppServiceMarketMapper.xml index 48596011a..ba14d57cb 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppServiceMarketMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/AppServiceMarketMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/GrafanaTemplateMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/GrafanaTemplateMapper.xml index 3fd5536a5..180a401f3 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/GrafanaTemplateMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/GrafanaTemplateMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/HeraAppRoleMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/HeraAppRoleMapper.xml index 8a281c578..336a4d952 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/HeraAppRoleMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/HeraAppRoleMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/appGrafanaMappingMapper.xml b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/appGrafanaMappingMapper.xml index c31c06253..0d7529111 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/appGrafanaMappingMapper.xml +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/org/apache/ozhera/monitor/dao/mapper/appGrafanaMappingMapper.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/test.ftl b/ozhera-monitor/ozhera-monitor-service/src/main/resources/test.ftl index f87594823..a410b8f7b 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/test.ftl +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/test.ftl @@ -1,3 +1,21 @@ +<#-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> { "dashboard":{ "annotations":{ diff --git a/ozhera-monitor/ozhera-monitor-service/src/test/java/org/apache/ozhera/monitor/test/TestUtils.java b/ozhera-monitor/ozhera-monitor-service/src/test/java/org/apache/ozhera/monitor/test/TestUtils.java index efd9df3b6..b2f4aaafe 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/test/java/org/apache/ozhera/monitor/test/TestUtils.java +++ b/ozhera-monitor/ozhera-monitor-service/src/test/java/org/apache/ozhera/monitor/test/TestUtils.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.monitor.test; import org.apache.ozhera.monitor.utils.FreeMarkerUtil; diff --git a/ozhera-monitor/pom.xml b/ozhera-monitor/pom.xml index 2cb311761..f994ba28e 100644 --- a/ozhera-monitor/pom.xml +++ b/ozhera-monitor/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/sql b/ozhera-monitor/sql index 3a97c4016..b942490fe 100644 --- a/ozhera-monitor/sql +++ b/ozhera-monitor/sql @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + 表结构sql: DROP TABLE IF EXISTS `alert_group`; CREATE TABLE `alert_group` ( diff --git a/ozhera-webhook/ozhera-webhook-server/dockerfile b/ozhera-webhook/ozhera-webhook-server/dockerfile index a724e4f36..9d0d8fd89 100644 --- a/ozhera-webhook/ozhera-webhook-server/dockerfile +++ b/ozhera-webhook/ozhera-webhook-server/dockerfile @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM openjdk:21-jdk-bookworm COPY ./target/ozhera-webhook-server-1.0-jdk21.jar /home/work/hera-webhook-server-1.0-SNAPSHOT.jar ENTRYPOINT ["java","-jar","-Duser.timezone=Asia/Shanghai","/home/work/hera-webhook-server-1.0-SNAPSHOT.jar","&&","tail","-f","/dev/null"] diff --git a/ozhera-webhook/ozhera-webhook-server/pom.xml b/ozhera-webhook/ozhera-webhook-server/pom.xml index 58e6dff66..01e737823 100644 --- a/ozhera-webhook/ozhera-webhook-server/pom.xml +++ b/ozhera-webhook/ozhera-webhook-server/pom.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/Bootstrap.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/Bootstrap.java index ba783175b..c82f765f3 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/Bootstrap.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/Bootstrap.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook; import com.xiaomi.youpin.docean.Ioc; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/FileUtils.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/FileUtils.java index e20adc34c..7bddc42b5 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/FileUtils.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/FileUtils.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.common; import java.io.BufferedReader; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/HttpClientUtil.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/HttpClientUtil.java index c7b7275b0..99b9699a7 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/HttpClientUtil.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/HttpClientUtil.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.common; import lombok.extern.slf4j.Slf4j; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/K8sUtilBean.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/K8sUtilBean.java index 23a0ba8d7..48c9b0dfe 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/K8sUtilBean.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/common/K8sUtilBean.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.common; import com.google.gson.Gson; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/config/NacosConfiguration.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/config/NacosConfiguration.java index d6dfbf8a5..e41a5ecd9 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/config/NacosConfiguration.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/config/NacosConfiguration.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.config; import com.alibaba.nacos.api.annotation.NacosProperties; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/controller/HealthController.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/controller/HealthController.java index c3cd2e221..f5c9fc900 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/controller/HealthController.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/controller/HealthController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.controller; import lombok.extern.slf4j.Slf4j; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/controller/HeraWebhookController.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/controller/HeraWebhookController.java index 6a8e481f5..f96407ad3 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/controller/HeraWebhookController.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/controller/HeraWebhookController.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.controller; import com.alibaba.fastjson2.JSONObject; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java index b988ae238..65d5cc246 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/JsonPatch.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.domain; /** diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Container.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Container.java index f459cddda..4d243b75d 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Container.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Container.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.domain.k8s; import io.fabric8.kubernetes.api.model.EnvVar; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Limits.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Limits.java index cbc1687ff..f7c1e638e 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Limits.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Limits.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.domain.k8s; import lombok.Data; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Requests.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Requests.java index 531df7c47..5141f4bc6 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Requests.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Requests.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.domain.k8s; import lombok.Data; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Resource.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Resource.java index d4c005ec1..c64119f94 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Resource.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/Resource.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.domain.k8s; import lombok.Data; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/VolumeMount.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/VolumeMount.java index 2fa1511c1..704bdef20 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/VolumeMount.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/k8s/VolumeMount.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.domain.k8s; import lombok.Data; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcAppInfo.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcAppInfo.java index 95cf12240..9e8ba21a2 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcAppInfo.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcAppInfo.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.domain.tpc; import lombok.Data; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcAppRequest.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcAppRequest.java index c6e128708..827a96013 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcAppRequest.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcAppRequest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.domain.tpc; import lombok.Data; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcEnvRequest.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcEnvRequest.java index bf9205c43..f2d6c205f 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcEnvRequest.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/domain/tpc/TpcEnvRequest.java @@ -1,18 +1,22 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ + package org.apache.ozhera.webhook.domain.tpc; import lombok.Data; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/HeraWebhookService.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/HeraWebhookService.java index 6a4d4156b..7a26c0c17 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/HeraWebhookService.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/HeraWebhookService.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.webhook.service; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/impl/HeraWebhookServiceImpl.java b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/impl/HeraWebhookServiceImpl.java index a363f3fe7..ef35ef82b 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/impl/HeraWebhookServiceImpl.java +++ b/ozhera-webhook/ozhera-webhook-server/src/main/java/org/apache/ozhera/webhook/service/impl/HeraWebhookServiceImpl.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.webhook.service.impl; diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/resources/application.properties b/ozhera-webhook/ozhera-webhook-server/src/main/resources/application.properties index e50ee2666..611a0c656 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/resources/application.properties +++ b/ozhera-webhook/ozhera-webhook-server/src/main/resources/application.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + app.name=hera-webhook log.path=/home/work/log/hera-webhook server.port=8080 diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/resources/hera_init/webhook/csr/webhook_csr.yaml b/ozhera-webhook/ozhera-webhook-server/src/main/resources/hera_init/webhook/csr/webhook_csr.yaml index def984928..c5a1b5f1f 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/resources/hera_init/webhook/csr/webhook_csr.yaml +++ b/ozhera-webhook/ozhera-webhook-server/src/main/resources/hera_init/webhook/csr/webhook_csr.yaml @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + apiVersion: certificates.k8s.io/v1 kind: CertificateSigningRequest metadata: diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/resources/hera_init/webhook/hera_webhook_config.yaml b/ozhera-webhook/ozhera-webhook-server/src/main/resources/hera_init/webhook/hera_webhook_config.yaml index c3e899bb7..069eceb2e 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/resources/hera_init/webhook/hera_webhook_config.yaml +++ b/ozhera-webhook/ozhera-webhook-server/src/main/resources/hera_init/webhook/hera_webhook_config.yaml @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: diff --git a/ozhera-webhook/ozhera-webhook-server/src/main/resources/logback.xml b/ozhera-webhook/ozhera-webhook-server/src/main/resources/logback.xml index b45cc389d..6879d2c07 100644 --- a/ozhera-webhook/ozhera-webhook-server/src/main/resources/logback.xml +++ b/ozhera-webhook/ozhera-webhook-server/src/main/resources/logback.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-webhook/pom.xml b/ozhera-webhook/pom.xml index d29f6f144..7961e4c65 100644 --- a/ozhera-webhook/pom.xml +++ b/ozhera-webhook/pom.xml @@ -1,4 +1,24 @@ + diff --git a/pom.xml b/pom.xml index b9ab30714..c364802c4 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,24 @@ + diff --git a/readme/application-integeration/application-integration-document.md b/readme/application-integeration/application-integration-document.md index c12e7d243..af38fc439 100644 --- a/readme/application-integeration/application-integration-document.md +++ b/readme/application-integeration/application-integration-document.md @@ -1,3 +1,24 @@ + + # Apache OzHera(Incubating) Integration Documentation ## I. Dependencies for Application Deployment diff --git a/readme/application-integeration/application-integration-document_cn.md b/readme/application-integeration/application-integration-document_cn.md index c42d91e28..a18221f27 100644 --- a/readme/application-integeration/application-integration-document_cn.md +++ b/readme/application-integeration/application-integration-document_cn.md @@ -1,3 +1,24 @@ + + # Apache OzHera(Incubating)接入文档 ## 一、应用部署的依赖 diff --git a/readme/best-practices/deployment.md b/readme/best-practices/deployment.md index 7203832e2..e48e1e1b8 100644 --- a/readme/best-practices/deployment.md +++ b/readme/best-practices/deployment.md @@ -1,3 +1,24 @@ + + # Best practices during deployment ## Memory adjustment for small clusters diff --git a/readme/best-practices/deployment_cn.md b/readme/best-practices/deployment_cn.md index f30325020..1e51df638 100644 --- a/readme/best-practices/deployment_cn.md +++ b/readme/best-practices/deployment_cn.md @@ -1,3 +1,24 @@ + + # 部署过程中的最佳实践 ## 针对于小集群的内存调整 diff --git a/readme/custom-tracking/custom-tracking.md b/readme/custom-tracking/custom-tracking.md index d43b61cbe..faab86fb3 100644 --- a/readme/custom-tracking/custom-tracking.md +++ b/readme/custom-tracking/custom-tracking.md @@ -1,3 +1,24 @@ + + # Apache OzHera(Incubating) Custom Monitoring Documentation Bold **Important** content is key, please read carefully. diff --git a/readme/custom-tracking/custom-tracking_cn.md b/readme/custom-tracking/custom-tracking_cn.md index 005f941b7..d1aad20c5 100644 --- a/readme/custom-tracking/custom-tracking_cn.md +++ b/readme/custom-tracking/custom-tracking_cn.md @@ -1,3 +1,24 @@ + + # Apache OzHera(Incubating) 自定义打点监控文档 加粗的**重要**内容较为关键,请仔细阅读。 diff --git a/readme/deploy/ozhera-deploy-document.md b/readme/deploy/ozhera-deploy-document.md index ce40fdfb0..5c59d9690 100644 --- a/readme/deploy/ozhera-deploy-document.md +++ b/readme/deploy/ozhera-deploy-document.md @@ -1,3 +1,24 @@ + + # Apache OzHera(Incubating) Deployment Documentation ## 1. Deployment Instructions diff --git a/readme/deploy/ozhera-deploy-document_cn.md b/readme/deploy/ozhera-deploy-document_cn.md index a5f86ffed..c47c450a6 100644 --- a/readme/deploy/ozhera-deploy-document_cn.md +++ b/readme/deploy/ozhera-deploy-document_cn.md @@ -1,3 +1,24 @@ + + # Apache OzHera(Incubating)部署文档 ## 1.部署说明 diff --git a/readme/optimization/metrics-optimization.md b/readme/optimization/metrics-optimization.md index a7a4d0f37..024ab95a2 100644 --- a/readme/optimization/metrics-optimization.md +++ b/readme/optimization/metrics-optimization.md @@ -1,3 +1,24 @@ + + # Apache OzHera(incubating) Metric Service Optimization ## I. Optimization Results diff --git a/readme/optimization/metrics-optimization_cn.md b/readme/optimization/metrics-optimization_cn.md index 23bf0e3c8..d0f50a6e9 100644 --- a/readme/optimization/metrics-optimization_cn.md +++ b/readme/optimization/metrics-optimization_cn.md @@ -1,3 +1,24 @@ + + # Apache OzHera(incubating)指标服务优化 ## 一、优化成果 diff --git a/readme/user-manual/user-manual-document.md b/readme/user-manual/user-manual-document.md index 229d91f89..fd0f2384c 100644 --- a/readme/user-manual/user-manual-document.md +++ b/readme/user-manual/user-manual-document.md @@ -1,3 +1,24 @@ + + # Apache OzHera(incubating) User Manual ## I. Application Center diff --git a/readme/user-manual/user-manual-document_cn.md b/readme/user-manual/user-manual-document_cn.md index 9d0dd090d..99010813e 100644 --- a/readme/user-manual/user-manual-document_cn.md +++ b/readme/user-manual/user-manual-document_cn.md @@ -1,3 +1,24 @@ + + # Apache OzHera(incubating)用户手册 ## 一、应用中心 From e6688bc7bf039b2ecbb9d90bcacda813c417bf90 Mon Sep 17 00:00:00 2001 From: wtt <30461027+wtt40122@users.noreply.github.com> Date: Wed, 20 Nov 2024 11:10:17 +0800 Subject: [PATCH 15/19] fix: update data vo header (#512) --- .../ozhera/log/manager/model/BaseCommon.java | 25 +++++++++++-------- .../log/manager/model/MilogSpaceParam.java | 25 +++++++++++-------- .../ozhera/log/manager/model/PageVo.java | 25 +++++++++++-------- .../apache/ozhera/log/manager/model/Pair.java | 25 +++++++++++-------- .../log/manager/model/StatisticsQuery.java | 25 +++++++++++-------- .../model/cache/LogCellectProcessCache.java | 25 +++++++++++-------- .../manager/model/convert/DGRefConvert.java | 25 +++++++++++-------- .../model/convert/DashboardConvert.java | 25 +++++++++++-------- .../manager/model/convert/GraphConvert.java | 25 +++++++++++-------- .../model/convert/GraphTypeConvert.java | 25 +++++++++++-------- .../model/convert/LogProcessConvert.java | 25 +++++++++++-------- .../model/convert/MilogCollecMetaConvert.java | 25 +++++++++++-------- .../convert/MilogLogTemplateConvert.java | 25 +++++++++++-------- .../model/convert/MilogLogstoreConvert.java | 25 +++++++++++-------- .../model/convert/MilogLogtailConvert.java | 25 +++++++++++-------- .../MilogLongTemplateDetailConvert.java | 25 +++++++++++-------- .../model/convert/MilogSpaceConvert.java | 25 +++++++++++-------- .../model/convert/MilogStreamConvert.java | 25 +++++++++++-------- .../model/convert/SearchSaveConvert.java | 25 +++++++++++-------- .../manager/model/convert/UserConvert.java | 25 +++++++++++-------- .../log/manager/model/dto/AppTypeTailDTO.java | 25 +++++++++++-------- .../manager/model/dto/DTTableGetParamDTO.java | 25 +++++++++++-------- .../model/dto/DTTableGetResponseDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/DashboardDTO.java | 25 +++++++++++-------- .../manager/model/dto/DashboardGraphDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/DictionaryDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/DishboardDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/DockerScaleBo.java | 25 +++++++++++-------- .../log/manager/model/dto/EsInfoDTO.java | 25 +++++++++++-------- .../manager/model/dto/EsSearchParamDTO.java | 25 +++++++++++-------- .../manager/model/dto/EsStatisticResult.java | 25 +++++++++++-------- .../model/dto/EsStatisticsKeyWord.java | 25 +++++++++++-------- .../log/manager/model/dto/GraphDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/GraphTypeDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/LogAnalyseDTO.java | 25 +++++++++++-------- .../manager/model/dto/LogAnalyseDataDTO.java | 25 +++++++++++-------- .../model/dto/LogAnalyseDataDateDTO.java | 25 +++++++++++-------- .../model/dto/LogAnalyseDataFieldDTO.java | 25 +++++++++++-------- .../ozhera/log/manager/model/dto/LogDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/LogDataDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/LogStorageData.java | 25 +++++++++++-------- .../log/manager/model/dto/LogStoreDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/LogTailDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/LogTemplateDTO.java | 25 +++++++++++-------- .../model/dto/LogTemplateDetailDTO.java | 25 +++++++++++-------- .../model/dto/LogtailCollectTopDTO.java | 25 +++++++++++-------- .../model/dto/LogtailCollectTrendDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/MapChildrenDTO.java | 25 +++++++++++-------- .../ozhera/log/manager/model/dto/MapDTO.java | 25 +++++++++++-------- .../ozhera/log/manager/model/dto/MenuDTO.java | 25 +++++++++++-------- .../model/dto/MiddlewareConfigDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/MilogAgentDTO.java | 25 +++++++++++-------- .../model/dto/MilogAppConfigTailDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/MilogAppEnvDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/MilogAppOpenVo.java | 25 +++++++++++-------- .../log/manager/model/dto/MilogSpaceDTO.java | 25 +++++++++++-------- .../manager/model/dto/MilogSpaceTreeDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/MotorRoomDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/PermTreeDTO.java | 25 +++++++++++-------- .../ozhera/log/manager/model/dto/PodDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/ProjectInfo.java | 25 +++++++++++-------- .../log/manager/model/dto/Properties.java | 25 +++++++++++-------- .../manager/model/dto/RadarAppInfoDTO.java | 25 +++++++++++-------- .../manager/model/dto/RadarResponseDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/RegionDTO.java | 25 +++++++++++-------- .../manager/model/dto/RmqStatisticRulst.java | 25 +++++++++++-------- .../model/dto/RocketMqResponseDTO.java | 25 +++++++++++-------- .../model/dto/RocketMqStatisticDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/SearchSaveDTO.java | 25 +++++++++++-------- .../manager/model/dto/SimpleAppEnvDTO.java | 25 +++++++++++-------- .../manager/model/dto/SpaceCollectTopDTO.java | 25 +++++++++++-------- .../model/dto/SpaceCollectTrendDTO.java | 25 +++++++++++-------- .../manager/model/dto/SpacePermTreeDTO.java | 25 +++++++++++-------- .../model/dto/SpaceTreeFavouriteDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/StatisticRulst.java | 25 +++++++++++-------- .../log/manager/model/dto/StoreTreeDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/TopicInfo.java | 25 +++++++++++-------- .../log/manager/model/dto/UnAccessAppDTO.java | 25 +++++++++++-------- .../log/manager/model/dto/ValueDTO.java | 25 +++++++++++-------- .../ozhera/log/manager/model/dto/ZoneDTO.java | 25 +++++++++++-------- .../log/manager/model/page/PageInfo.java | 25 +++++++++++-------- .../manager/model/pojo/ConfigPushData.java | 25 +++++++++++-------- .../log/manager/model/pojo/LogCountDO.java | 25 +++++++++++-------- .../model/pojo/LogStreamBalanceConfig.java | 25 +++++++++++-------- .../log/manager/model/pojo/MiLogMachine.java | 25 +++++++++++-------- .../log/manager/model/pojo/MilogAgentDO.java | 25 +++++++++++-------- .../model/pojo/MilogAnalyseDashboardDO.java | 25 +++++++++++-------- .../pojo/MilogAnalyseDashboardGraphRefDO.java | 25 +++++++++++-------- .../model/pojo/MilogAnalyseGraphDO.java | 25 +++++++++++-------- .../model/pojo/MilogAnalyseGraphTypeDO.java | 25 +++++++++++-------- .../model/pojo/MilogAppMiddlewareRel.java | 25 +++++++++++-------- .../model/pojo/MilogAppTopicRelDO.java | 25 +++++++++++-------- .../model/pojo/MilogComputerRoomDO.java | 25 +++++++++++-------- .../manager/model/pojo/MilogEsClusterDO.java | 25 +++++++++++-------- .../manager/model/pojo/MilogEsIndexDO.java | 25 +++++++++++-------- .../model/pojo/MilogLogNumAlertDO.java | 25 +++++++++++-------- .../manager/model/pojo/MilogLogProcessDO.java | 25 +++++++++++-------- .../model/pojo/MilogLogProcessDOMybatis.java | 25 +++++++++++-------- .../model/pojo/MilogLogSearchSaveDO.java | 25 +++++++++++-------- .../manager/model/pojo/MilogLogStoreDO.java | 25 +++++++++++-------- .../manager/model/pojo/MilogLogTailDo.java | 25 +++++++++++-------- .../model/pojo/MilogLogTemplateDO.java | 25 +++++++++++-------- .../model/pojo/MilogLogTemplateDetailDO.java | 25 +++++++++++-------- .../manager/model/pojo/MilogLogstailDO.java | 25 +++++++++++-------- .../model/pojo/MilogMiddlewareConfig.java | 25 +++++++++++-------- .../pojo/MilogRegionAvailableZoneDO.java | 25 +++++++++++-------- .../log/manager/model/pojo/MilogSpaceDO.java | 25 +++++++++++-------- .../model/pojo/MilogStoreSpaceAuth.java | 25 +++++++++++-------- .../log/manager/model/vo/AccessMiLogVo.java | 25 +++++++++++-------- .../log/manager/model/vo/AgentListQuery.java | 25 +++++++++++-------- .../manager/model/vo/CreateDashboardCmd.java | 25 +++++++++++-------- .../log/manager/model/vo/CreateGraphCmd.java | 25 +++++++++++-------- .../CreateIndexTemplatePropertyCommand.java | 25 +++++++++++-------- .../model/vo/CreateOrUpdateLogStoreCmd.java | 25 +++++++++++-------- .../ozhera/log/manager/model/vo/DGRefCmd.java | 25 +++++++++++-------- .../log/manager/model/vo/DGRefDelCmd.java | 25 +++++++++++-------- .../log/manager/model/vo/DGRefUpdateCmd.java | 25 +++++++++++-------- .../log/manager/model/vo/GraphQuery.java | 25 +++++++++++-------- .../manager/model/vo/KeywordPageParam.java | 25 +++++++++++-------- .../log/manager/model/vo/LogAgentListBo.java | 25 +++++++++++-------- .../model/vo/LogAnalyseDataPreQuery.java | 25 +++++++++++-------- .../manager/model/vo/LogAnalyseDataQuery.java | 25 +++++++++++-------- .../log/manager/model/vo/LogAnalyseQuery.java | 25 +++++++++++-------- .../log/manager/model/vo/LogContectQuery.java | 25 +++++++++++-------- .../log/manager/model/vo/LogContextQuery.java | 25 +++++++++++-------- .../log/manager/model/vo/LogPathTopicVo.java | 25 +++++++++++-------- .../ozhera/log/manager/model/vo/LogQuery.java | 25 +++++++++++-------- .../log/manager/model/vo/LogStoreCommand.java | 25 +++++++++++-------- .../log/manager/model/vo/LogStoreParam.java | 25 +++++++++++-------- .../manager/model/vo/LogTailSendLokiVo.java | 25 +++++++++++-------- .../model/vo/MachinePartitionParam.java | 25 +++++++++++-------- .../log/manager/model/vo/MilogUserVo.java | 25 +++++++++++-------- .../log/manager/model/vo/QuickQueryVO.java | 25 +++++++++++-------- .../manager/model/vo/RegionTraceLogQuery.java | 25 +++++++++++-------- .../model/vo/RocketMQStatisCommand.java | 25 +++++++++++-------- .../manager/model/vo/SearchSaveInsertCmd.java | 25 +++++++++++-------- .../manager/model/vo/SearchSaveUpdateCmd.java | 25 +++++++++++-------- .../log/manager/model/vo/SpaceIpParam.java | 25 +++++++++++-------- .../log/manager/model/vo/StreamListQuery.java | 25 +++++++++++-------- .../manager/model/vo/TraceAppLogUrlQuery.java | 25 +++++++++++-------- .../log/manager/model/vo/UpdateGraphCmd.java | 25 +++++++++++-------- .../model/vo/UpdateIndexTemplateCommand.java | 25 +++++++++++-------- .../action/HeraRequestMappingActionArg3.java | 25 +++++++++++-------- 143 files changed, 2002 insertions(+), 1573 deletions(-) diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/BaseCommon.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/BaseCommon.java index 60e0dc8db..615c4114f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/BaseCommon.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/BaseCommon.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/MilogSpaceParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/MilogSpaceParam.java index 2f7f8b79a..5105e7630 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/MilogSpaceParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/MilogSpaceParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/PageVo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/PageVo.java index 2f2d15d1b..a65ed3815 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/PageVo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/PageVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/Pair.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/Pair.java index edcf59057..a647a0b5f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/Pair.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/Pair.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/StatisticsQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/StatisticsQuery.java index 1f891b00a..5a35b60e4 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/StatisticsQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/StatisticsQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/cache/LogCellectProcessCache.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/cache/LogCellectProcessCache.java index afc0d0905..02ab55afa 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/cache/LogCellectProcessCache.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/cache/LogCellectProcessCache.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.cache; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/DGRefConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/DGRefConvert.java index 27b0a6aba..7df4def13 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/DGRefConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/DGRefConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/DashboardConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/DashboardConvert.java index 0c53ced30..09dd20eaf 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/DashboardConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/DashboardConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/GraphConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/GraphConvert.java index 33c3aeef4..19d5290d4 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/GraphConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/GraphConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/GraphTypeConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/GraphTypeConvert.java index 69cb755c7..d50bd4e5b 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/GraphTypeConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/GraphTypeConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/LogProcessConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/LogProcessConvert.java index 7795aa7ea..f94ed1dbf 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/LogProcessConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/LogProcessConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogCollecMetaConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogCollecMetaConvert.java index 068cfa496..8f0fa8f37 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogCollecMetaConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogCollecMetaConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogTemplateConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogTemplateConvert.java index 1bb5a9247..714554b81 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogTemplateConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogTemplateConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogstoreConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogstoreConvert.java index 9ba3d94b1..24e577961 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogstoreConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogstoreConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogtailConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogtailConvert.java index 2906f3c32..b110aa757 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogtailConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLogtailConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLongTemplateDetailConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLongTemplateDetailConvert.java index 2dd087718..dc7e7bb87 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLongTemplateDetailConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogLongTemplateDetailConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogSpaceConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogSpaceConvert.java index 6522e999a..e9899b5d6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogSpaceConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogSpaceConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogStreamConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogStreamConvert.java index 4765f6962..1497de943 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogStreamConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/MilogStreamConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/SearchSaveConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/SearchSaveConvert.java index dff733be9..02463ee65 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/SearchSaveConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/SearchSaveConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/UserConvert.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/UserConvert.java index fe70800e9..d95f4438c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/UserConvert.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/convert/UserConvert.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.convert; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/AppTypeTailDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/AppTypeTailDTO.java index 345b4b58f..9b2ddb8ef 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/AppTypeTailDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/AppTypeTailDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DTTableGetParamDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DTTableGetParamDTO.java index ff41d1a58..f62457b08 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DTTableGetParamDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DTTableGetParamDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DTTableGetResponseDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DTTableGetResponseDTO.java index 2f9e2ebba..ea77587ca 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DTTableGetResponseDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DTTableGetResponseDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DashboardDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DashboardDTO.java index 315ba764a..c056b7459 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DashboardDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DashboardDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DashboardGraphDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DashboardGraphDTO.java index 2550a8152..ec3d5ab0a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DashboardGraphDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DashboardGraphDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DictionaryDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DictionaryDTO.java index 3e044c2f9..83dc758ad 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DictionaryDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DictionaryDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DishboardDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DishboardDTO.java index 7446525e5..4059ad5e0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DishboardDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DishboardDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DockerScaleBo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DockerScaleBo.java index 7b14c88e6..77b9c8812 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DockerScaleBo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/DockerScaleBo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsInfoDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsInfoDTO.java index a13ed7cbd..ec3e30ee3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsInfoDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsInfoDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsSearchParamDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsSearchParamDTO.java index 380770664..227289638 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsSearchParamDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsSearchParamDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsStatisticResult.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsStatisticResult.java index 97b7fa033..68f7479eb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsStatisticResult.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsStatisticResult.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsStatisticsKeyWord.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsStatisticsKeyWord.java index a700f9c93..8321208c7 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsStatisticsKeyWord.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/EsStatisticsKeyWord.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/GraphDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/GraphDTO.java index 92f94e39f..e32afaa5a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/GraphDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/GraphDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/GraphTypeDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/GraphTypeDTO.java index 125a1fe87..6e5047911 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/GraphTypeDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/GraphTypeDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDTO.java index c38b07d83..ad3ae71ef 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataDTO.java index dfa4f298c..4cdd81d94 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataDateDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataDateDTO.java index 1b78eb4ae..97031368d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataDateDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataDateDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataFieldDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataFieldDTO.java index 2c57bb41a..b6b7f56c8 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataFieldDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogAnalyseDataFieldDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogDTO.java index 2d97ef675..acce13151 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogDataDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogDataDTO.java index ab7c054da..c29915ebb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogDataDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogDataDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogStorageData.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogStorageData.java index 5c4debfd6..09e7b16d5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogStorageData.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogStorageData.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogStoreDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogStoreDTO.java index a759b6003..eb5acc0c5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogStoreDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogStoreDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTailDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTailDTO.java index 3901be3b2..60779aedd 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTailDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTailDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTemplateDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTemplateDTO.java index 071ca761f..a323404df 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTemplateDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTemplateDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTemplateDetailDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTemplateDetailDTO.java index 0fcd7f0d7..1002a0ce7 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTemplateDetailDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogTemplateDetailDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogtailCollectTopDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogtailCollectTopDTO.java index 9e0b0be61..b77c700a3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogtailCollectTopDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogtailCollectTopDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogtailCollectTrendDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogtailCollectTrendDTO.java index 531f0fb8a..7a0c154a1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogtailCollectTrendDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/LogtailCollectTrendDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MapChildrenDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MapChildrenDTO.java index dba71f26e..883d7d640 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MapChildrenDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MapChildrenDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MapDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MapDTO.java index f135c7344..97cdecf78 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MapDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MapDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MenuDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MenuDTO.java index 0401b76ef..216e73cdb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MenuDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MenuDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MiddlewareConfigDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MiddlewareConfigDTO.java index bad8c45e8..87775e168 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MiddlewareConfigDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MiddlewareConfigDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAgentDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAgentDTO.java index a2b32d341..b8071962d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAgentDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAgentDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppConfigTailDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppConfigTailDTO.java index fc236062e..5e6c3b190 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppConfigTailDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppConfigTailDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppEnvDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppEnvDTO.java index b5fecf378..1021c6b28 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppEnvDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppEnvDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppOpenVo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppOpenVo.java index f7d04d829..6b8418fe0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppOpenVo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogAppOpenVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogSpaceDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogSpaceDTO.java index 750b195a2..94380e2e3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogSpaceDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogSpaceDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogSpaceTreeDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogSpaceTreeDTO.java index 54aeb3dc4..2b070ecd4 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogSpaceTreeDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MilogSpaceTreeDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MotorRoomDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MotorRoomDTO.java index 6c82bdfe9..9254976e1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MotorRoomDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/MotorRoomDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/PermTreeDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/PermTreeDTO.java index 065d0c234..9550e944b 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/PermTreeDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/PermTreeDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/PodDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/PodDTO.java index ddc91b244..0afdb0002 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/PodDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/PodDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ProjectInfo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ProjectInfo.java index b3451f7ad..74a62fd34 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ProjectInfo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ProjectInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/Properties.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/Properties.java index 6d6d98b50..c4d4468cb 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/Properties.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/Properties.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RadarAppInfoDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RadarAppInfoDTO.java index 385132a71..4d438c42d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RadarAppInfoDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RadarAppInfoDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RadarResponseDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RadarResponseDTO.java index b7ecb1d7d..91dec9b28 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RadarResponseDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RadarResponseDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RegionDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RegionDTO.java index 03dc1444b..4ace5d727 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RegionDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RegionDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RmqStatisticRulst.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RmqStatisticRulst.java index d296820cd..4d726cccc 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RmqStatisticRulst.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RmqStatisticRulst.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RocketMqResponseDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RocketMqResponseDTO.java index c43188f96..241afdebc 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RocketMqResponseDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RocketMqResponseDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RocketMqStatisticDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RocketMqStatisticDTO.java index 716c6b09c..2a6b2bf0c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RocketMqStatisticDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/RocketMqStatisticDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SearchSaveDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SearchSaveDTO.java index 7842292a3..4eefd55f3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SearchSaveDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SearchSaveDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SimpleAppEnvDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SimpleAppEnvDTO.java index 25732e3f1..d64dd7fa3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SimpleAppEnvDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SimpleAppEnvDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceCollectTopDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceCollectTopDTO.java index 6bb993967..48ccb8908 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceCollectTopDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceCollectTopDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceCollectTrendDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceCollectTrendDTO.java index 0548f12f9..f10b7bf49 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceCollectTrendDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceCollectTrendDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpacePermTreeDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpacePermTreeDTO.java index 9f0953b4b..f8d0fda95 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpacePermTreeDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpacePermTreeDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceTreeFavouriteDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceTreeFavouriteDTO.java index 53a5af214..46ccdd2a6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceTreeFavouriteDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/SpaceTreeFavouriteDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/StatisticRulst.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/StatisticRulst.java index d50cde32e..cfdd0baa6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/StatisticRulst.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/StatisticRulst.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/StoreTreeDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/StoreTreeDTO.java index af8e82a92..9857a3208 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/StoreTreeDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/StoreTreeDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/TopicInfo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/TopicInfo.java index c23b51e70..154230c83 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/TopicInfo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/TopicInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/UnAccessAppDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/UnAccessAppDTO.java index f4a3b6dea..665881ab0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/UnAccessAppDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/UnAccessAppDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ValueDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ValueDTO.java index c4fe68ef6..99dbf489a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ValueDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ValueDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ZoneDTO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ZoneDTO.java index 3c86c31d0..1335aa402 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ZoneDTO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/dto/ZoneDTO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.dto; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/page/PageInfo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/page/PageInfo.java index 11fbce4e9..6c906edc3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/page/PageInfo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/page/PageInfo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.page; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/ConfigPushData.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/ConfigPushData.java index 9d27c3422..950a4fead 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/ConfigPushData.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/ConfigPushData.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/LogCountDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/LogCountDO.java index 1ec0b83dc..74fd60e2c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/LogCountDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/LogCountDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/LogStreamBalanceConfig.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/LogStreamBalanceConfig.java index 5228905eb..7cfc4b58c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/LogStreamBalanceConfig.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/LogStreamBalanceConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MiLogMachine.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MiLogMachine.java index ccdbf4456..2c0b055b7 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MiLogMachine.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MiLogMachine.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAgentDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAgentDO.java index 27c15a3c2..0a95d1249 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAgentDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAgentDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseDashboardDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseDashboardDO.java index 8cb5354e8..b21c4d949 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseDashboardDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseDashboardDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseDashboardGraphRefDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseDashboardGraphRefDO.java index 36b10cfe2..33334dfc6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseDashboardGraphRefDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseDashboardGraphRefDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseGraphDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseGraphDO.java index f5978feec..795565ea0 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseGraphDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseGraphDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseGraphTypeDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseGraphTypeDO.java index 51471df45..802fb4200 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseGraphTypeDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAnalyseGraphTypeDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppMiddlewareRel.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppMiddlewareRel.java index 2e031501f..a26640ed3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppMiddlewareRel.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppMiddlewareRel.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppTopicRelDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppTopicRelDO.java index 41742f099..2f0d3f2d3 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppTopicRelDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogAppTopicRelDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogComputerRoomDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogComputerRoomDO.java index 928ec31cb..c17dfd432 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogComputerRoomDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogComputerRoomDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogEsClusterDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogEsClusterDO.java index b41896329..05369c8c6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogEsClusterDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogEsClusterDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogEsIndexDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogEsIndexDO.java index d5641e85b..39d30f160 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogEsIndexDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogEsIndexDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogNumAlertDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogNumAlertDO.java index b7938bc88..36cede03d 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogNumAlertDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogNumAlertDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogProcessDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogProcessDO.java index 25ce6ba70..1512775a2 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogProcessDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogProcessDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogProcessDOMybatis.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogProcessDOMybatis.java index c2c7d9058..31b3ab135 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogProcessDOMybatis.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogProcessDOMybatis.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogSearchSaveDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogSearchSaveDO.java index 8bd6bf6ec..a3114252c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogSearchSaveDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogSearchSaveDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogStoreDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogStoreDO.java index 200f39001..b3d888cfa 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogStoreDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogStoreDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTailDo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTailDo.java index 666048c50..46073c687 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTailDo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTailDo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTemplateDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTemplateDO.java index 5b40ce443..d5601875a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTemplateDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTemplateDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTemplateDetailDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTemplateDetailDO.java index 805d7b179..a88dbfe54 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTemplateDetailDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogTemplateDetailDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogstailDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogstailDO.java index 3b05b194f..ce397ccc6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogstailDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogLogstailDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogMiddlewareConfig.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogMiddlewareConfig.java index d7af46908..e2fa7295f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogMiddlewareConfig.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogMiddlewareConfig.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogRegionAvailableZoneDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogRegionAvailableZoneDO.java index 0a10a17c3..198dd0a10 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogRegionAvailableZoneDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogRegionAvailableZoneDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogSpaceDO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogSpaceDO.java index 1c7342d28..ad7af3fbf 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogSpaceDO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogSpaceDO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogStoreSpaceAuth.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogStoreSpaceAuth.java index 21841df52..fd8f0812c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogStoreSpaceAuth.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/pojo/MilogStoreSpaceAuth.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.pojo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/AccessMiLogVo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/AccessMiLogVo.java index 3e40eea04..560be2763 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/AccessMiLogVo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/AccessMiLogVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/AgentListQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/AgentListQuery.java index a2a807cc0..38d34348b 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/AgentListQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/AgentListQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateDashboardCmd.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateDashboardCmd.java index 7b31cdf89..c4ab64718 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateDashboardCmd.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateDashboardCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateGraphCmd.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateGraphCmd.java index 1447249ec..48b587a81 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateGraphCmd.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateGraphCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateIndexTemplatePropertyCommand.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateIndexTemplatePropertyCommand.java index 90b9f0865..44254a4b1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateIndexTemplatePropertyCommand.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateIndexTemplatePropertyCommand.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateOrUpdateLogStoreCmd.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateOrUpdateLogStoreCmd.java index 31fb2c3dd..21ad4c90c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateOrUpdateLogStoreCmd.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/CreateOrUpdateLogStoreCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefCmd.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefCmd.java index a4cfb592f..426e0817f 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefCmd.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefDelCmd.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefDelCmd.java index b53f3e386..fe10602c2 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefDelCmd.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefDelCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefUpdateCmd.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefUpdateCmd.java index 071ebf979..ec14c892a 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefUpdateCmd.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/DGRefUpdateCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/GraphQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/GraphQuery.java index 765d17f4b..478659b78 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/GraphQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/GraphQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/KeywordPageParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/KeywordPageParam.java index 2a3f021dc..a0d9be6b5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/KeywordPageParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/KeywordPageParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAgentListBo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAgentListBo.java index 167fbe250..0be688500 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAgentListBo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAgentListBo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseDataPreQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseDataPreQuery.java index 7f747bedf..5ffa4437c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseDataPreQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseDataPreQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseDataQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseDataQuery.java index 4e35a0ae3..0c71ae3c4 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseDataQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseDataQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseQuery.java index 7f2b8d073..ef597d4ef 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogAnalyseQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogContectQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogContectQuery.java index f11b90b4c..e8b2b5c03 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogContectQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogContectQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; import lombok.Data; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogContextQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogContextQuery.java index 8bdedc3e1..60f12b8ae 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogContextQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogContextQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogPathTopicVo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogPathTopicVo.java index 2a12d5922..42d439048 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogPathTopicVo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogPathTopicVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogQuery.java index d6f8a21a9..4c778b8a9 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogStoreCommand.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogStoreCommand.java index 022ecb2c1..15ed0a385 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogStoreCommand.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogStoreCommand.java @@ -1,16 +1,19 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; \ No newline at end of file diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogStoreParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogStoreParam.java index 1dd95fd57..592928a77 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogStoreParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogStoreParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogTailSendLokiVo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogTailSendLokiVo.java index 4cd6c0aed..812de68f1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogTailSendLokiVo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/LogTailSendLokiVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/MachinePartitionParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/MachinePartitionParam.java index 84503fe05..f6be04c03 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/MachinePartitionParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/MachinePartitionParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/MilogUserVo.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/MilogUserVo.java index ba621e7aa..54fd8bebf 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/MilogUserVo.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/MilogUserVo.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/QuickQueryVO.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/QuickQueryVO.java index 7df91eacc..eea422171 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/QuickQueryVO.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/QuickQueryVO.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/RegionTraceLogQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/RegionTraceLogQuery.java index 97c75648c..fd976f748 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/RegionTraceLogQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/RegionTraceLogQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/RocketMQStatisCommand.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/RocketMQStatisCommand.java index ea0583085..6e72b030c 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/RocketMQStatisCommand.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/RocketMQStatisCommand.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SearchSaveInsertCmd.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SearchSaveInsertCmd.java index 624b51599..30ab74175 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SearchSaveInsertCmd.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SearchSaveInsertCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SearchSaveUpdateCmd.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SearchSaveUpdateCmd.java index 24b451448..8521335a1 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SearchSaveUpdateCmd.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SearchSaveUpdateCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SpaceIpParam.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SpaceIpParam.java index 5ba57c1a2..fea8b94d7 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SpaceIpParam.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/SpaceIpParam.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/StreamListQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/StreamListQuery.java index 71693044d..589e4edf6 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/StreamListQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/StreamListQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/TraceAppLogUrlQuery.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/TraceAppLogUrlQuery.java index 48e114f5e..dbba6a4b5 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/TraceAppLogUrlQuery.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/TraceAppLogUrlQuery.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/UpdateGraphCmd.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/UpdateGraphCmd.java index af902bb95..8f9502052 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/UpdateGraphCmd.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/UpdateGraphCmd.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/UpdateIndexTemplateCommand.java b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/UpdateIndexTemplateCommand.java index 6c30f4ee5..e104d8015 100644 --- a/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/UpdateIndexTemplateCommand.java +++ b/ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/model/vo/UpdateIndexTemplateCommand.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.log.manager.model.vo; diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg3.java b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg3.java index c584759d2..ef58978b7 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg3.java +++ b/ozhera-monitor/ozhera-monitor-service/src/main/java/org/apache/ozhera/monitor/service/aop/action/HeraRequestMappingActionArg3.java @@ -1,17 +1,20 @@ /* - * Copyright (C) 2020 Xiaomi Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.ozhera.monitor.service.aop.action; From a18faedb50b88941303043bf757e1c2955021f84 Mon Sep 17 00:00:00 2001 From: gaoxh <32359336+gaoxh@users.noreply.github.com> Date: Wed, 20 Nov 2024 14:30:13 +0800 Subject: [PATCH 16/19] fix: add a header to the file where the declaration is missing (#513) Co-authored-by: gaoxihui --- .github/ISSUE_TEMPLATE/BUG_REPORT.md | 21 +++++++++++++++++++ .github/ISSUE_TEMPLATE/FEATURE_REQUEST.md | 21 +++++++++++++++++++ .github/ISSUE_TEMPLATE/OIP.md | 21 +++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 21 +++++++++++++++++++ .github/workflows/build-pr-commit.yml | 17 +++++++++++++++ .github/workflows/ozhera-app-package.yml | 17 +++++++++++++++ .../workflows/ozhera-demo-client-package.yml | 17 +++++++++++++++ .../workflows/ozhera-demo-server-package.yml | 17 +++++++++++++++ .../workflows/ozhera-intelligence-package.yml | 17 +++++++++++++++ .github/workflows/ozhera-log-package.yml | 17 +++++++++++++++ .github/workflows/ozhera-monitor-package.yml | 17 +++++++++++++++ .github/workflows/ozhera-operator-package.yml | 17 +++++++++++++++ .../ozhera-prometheus-agent-package.yml | 17 +++++++++++++++ .../workflows/ozhera-tspandata-package.yml | 17 +++++++++++++++ .github/workflows/ozhera-webhook-package.yml | 17 +++++++++++++++ .../prometheus-starter-all-package.yml | 17 +++++++++++++++ .github/workflows/trace-etl-package.yml | 17 +++++++++++++++ .github/workflows/validate_pr_commits.yml | 17 +++++++++++++++ .github/workflows/validate_pr_title.yml | 17 +++++++++++++++ readme/best-practices/indexTemplate.sh | 17 +++++++++++++++ 20 files changed, 356 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.md b/.github/ISSUE_TEMPLATE/BUG_REPORT.md index 799a48c32..3e1f21ea6 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.md +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.md @@ -1,3 +1,24 @@ + + ---` name: Bug Report diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md index 116748e9d..8e6cbb2b4 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md @@ -1,3 +1,24 @@ + + --- name: Feature Request diff --git a/.github/ISSUE_TEMPLATE/OIP.md b/.github/ISSUE_TEMPLATE/OIP.md index 10dbb40e3..7988e3607 100644 --- a/.github/ISSUE_TEMPLATE/OIP.md +++ b/.github/ISSUE_TEMPLATE/OIP.md @@ -1,3 +1,24 @@ + + --- name: Major Project Proposal diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index d773ccbc8..43f133177 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,3 +1,24 @@ + + ### Ⅰ. Describe what this PR did diff --git a/.github/workflows/build-pr-commit.yml b/.github/workflows/build-pr-commit.yml index c0bda7516..97340244d 100644 --- a/.github/workflows/build-pr-commit.yml +++ b/.github/workflows/build-pr-commit.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + name: pr-commit-build on: diff --git a/.github/workflows/ozhera-app-package.yml b/.github/workflows/ozhera-app-package.yml index 999c9daf5..21ae54caa 100644 --- a/.github/workflows/ozhera-app-package.yml +++ b/.github/workflows/ozhera-app-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-app test diff --git a/.github/workflows/ozhera-demo-client-package.yml b/.github/workflows/ozhera-demo-client-package.yml index f395b8ffe..c58e34165 100644 --- a/.github/workflows/ozhera-demo-client-package.yml +++ b/.github/workflows/ozhera-demo-client-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-demo-client test diff --git a/.github/workflows/ozhera-demo-server-package.yml b/.github/workflows/ozhera-demo-server-package.yml index 6c577c328..f6b764945 100644 --- a/.github/workflows/ozhera-demo-server-package.yml +++ b/.github/workflows/ozhera-demo-server-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-demo-server test diff --git a/.github/workflows/ozhera-intelligence-package.yml b/.github/workflows/ozhera-intelligence-package.yml index ff94be324..3e8a57419 100644 --- a/.github/workflows/ozhera-intelligence-package.yml +++ b/.github/workflows/ozhera-intelligence-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-intelligence test diff --git a/.github/workflows/ozhera-log-package.yml b/.github/workflows/ozhera-log-package.yml index 6d3bd9018..8424228c9 100644 --- a/.github/workflows/ozhera-log-package.yml +++ b/.github/workflows/ozhera-log-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-log test diff --git a/.github/workflows/ozhera-monitor-package.yml b/.github/workflows/ozhera-monitor-package.yml index a9b4eb59a..7bbc35915 100644 --- a/.github/workflows/ozhera-monitor-package.yml +++ b/.github/workflows/ozhera-monitor-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-monitor test diff --git a/.github/workflows/ozhera-operator-package.yml b/.github/workflows/ozhera-operator-package.yml index 75f1c61c0..63b0bf285 100644 --- a/.github/workflows/ozhera-operator-package.yml +++ b/.github/workflows/ozhera-operator-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-operator test diff --git a/.github/workflows/ozhera-prometheus-agent-package.yml b/.github/workflows/ozhera-prometheus-agent-package.yml index a06f31e0c..221103289 100644 --- a/.github/workflows/ozhera-prometheus-agent-package.yml +++ b/.github/workflows/ozhera-prometheus-agent-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-prometheus-agent test diff --git a/.github/workflows/ozhera-tspandata-package.yml b/.github/workflows/ozhera-tspandata-package.yml index edca0b47b..0158dfc3c 100644 --- a/.github/workflows/ozhera-tspandata-package.yml +++ b/.github/workflows/ozhera-tspandata-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-tspandata test diff --git a/.github/workflows/ozhera-webhook-package.yml b/.github/workflows/ozhera-webhook-package.yml index a2f3db3fa..a0502aba3 100644 --- a/.github/workflows/ozhera-webhook-package.yml +++ b/.github/workflows/ozhera-webhook-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: ozhera-webhook test diff --git a/.github/workflows/prometheus-starter-all-package.yml b/.github/workflows/prometheus-starter-all-package.yml index 1f0636155..bf157eb49 100644 --- a/.github/workflows/prometheus-starter-all-package.yml +++ b/.github/workflows/prometheus-starter-all-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: prometheus-starter-all test diff --git a/.github/workflows/trace-etl-package.yml b/.github/workflows/trace-etl-package.yml index c882a6b8d..ad714338e 100644 --- a/.github/workflows/trace-etl-package.yml +++ b/.github/workflows/trace-etl-package.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # This is a basic workflow to help you get started with Actions name: trace-etl test diff --git a/.github/workflows/validate_pr_commits.yml b/.github/workflows/validate_pr_commits.yml index 280b31eb1..7baf8d593 100644 --- a/.github/workflows/validate_pr_commits.yml +++ b/.github/workflows/validate_pr_commits.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + name: Lint Commit Messages on: [pull_request] diff --git a/.github/workflows/validate_pr_title.yml b/.github/workflows/validate_pr_title.yml index 889e2f232..c3f31c80c 100644 --- a/.github/workflows/validate_pr_title.yml +++ b/.github/workflows/validate_pr_title.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + name: "Lint PR" on: diff --git a/readme/best-practices/indexTemplate.sh b/readme/best-practices/indexTemplate.sh index f31d8d4df..7fab0274a 100644 --- a/readme/best-practices/indexTemplate.sh +++ b/readme/best-practices/indexTemplate.sh @@ -1,3 +1,20 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + curl --location --request PUT 'http://elasticsearch:9200/_template/mione-staging-zgq-driver' \ --header 'Content-type: application/json; charset=UTF-8' \ --data '{"index_patterns":["mione-staging-zgq-driver*"],"settings":{"index":{"lifecycle":{"name":"7Del"},"routing":{"allocation":{"total_shards_per_node":"2"}},"number_of_shards":"1","number_of_replicas":"0"}},"mappings":{"_meta":{},"_source":{},"properties":{"timeStamp":{"type":"keyword"},"password":{"type":"keyword"},"appName":{"type":"keyword"},"ip":{"type":"keyword"},"dataBaseName":{"type":"keyword"},"domainPort":{"type":"keyword"},"type":{"type":"keyword"},"userName":{"type":"keyword"},"timestamp":{"type":"date"}}},"aliases":{"mione-staging-zgq-driver":{}}}' From 814625d144a86725fa936a936ca009b6001a04b2 Mon Sep 17 00:00:00 2001 From: EricDing <128116675+sadadw1@users.noreply.github.com> Date: Wed, 20 Nov 2024 15:50:12 +0800 Subject: [PATCH 17/19] feat: add dockerfile and proto file header (#515) * fix: delete unused annotation * fix: upgrade app-api and app-common version to 3 * fix: delete rocksDB unit test * fix: update trace-etl file header, include java and md file * fix: add trace-etl file header type, properties and xml * fix: dockerfile and proto add file header --- .../ozhera-demo-client-server/Dockerfile | 15 ++++++++++++++ .../src/main/proto/MyService.proto | 19 ++++++++++++++++++ .../ozhera-demo-server-server/Dockerfile | 15 ++++++++++++++ .../src/main/proto/MyService.proto | 19 ++++++++++++++++++ .../src/main/resources/Dockerfile | 15 ++++++++++++++ trace-etl/trace-etl-es/Dockerfile | 20 +++++++++++++++++++ trace-etl/trace-etl-es/dockerfile | 5 ----- trace-etl/trace-etl-server/Dockerfile | 20 +++++++++++++++++++ trace-etl/trace-etl-server/dockerfile | 5 ----- 9 files changed, 123 insertions(+), 10 deletions(-) create mode 100644 trace-etl/trace-etl-es/Dockerfile delete mode 100644 trace-etl/trace-etl-es/dockerfile create mode 100644 trace-etl/trace-etl-server/Dockerfile delete mode 100644 trace-etl/trace-etl-server/dockerfile diff --git a/ozhera-demo-client/ozhera-demo-client-server/Dockerfile b/ozhera-demo-client/ozhera-demo-client-server/Dockerfile index 7d8f0b44a..7c94b7a64 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/Dockerfile +++ b/ozhera-demo-client/ozhera-demo-client-server/Dockerfile @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM openjdk:21-jdk-bookworm RUN echo 'Asia/Shanghai' >/etc/timezone diff --git a/ozhera-demo-client/ozhera-demo-client-server/src/main/proto/MyService.proto b/ozhera-demo-client/ozhera-demo-client-server/src/main/proto/MyService.proto index 095028a73..1d0b08533 100644 --- a/ozhera-demo-client/ozhera-demo-client-server/src/main/proto/MyService.proto +++ b/ozhera-demo-client/ozhera-demo-client-server/src/main/proto/MyService.proto @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + syntax = "proto3"; package com.xiaomi.mone.hera.demo.grpc; diff --git a/ozhera-demo-server/ozhera-demo-server-server/Dockerfile b/ozhera-demo-server/ozhera-demo-server-server/Dockerfile index 84c4a9e63..9b1d5ee3a 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/Dockerfile +++ b/ozhera-demo-server/ozhera-demo-server-server/Dockerfile @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM openjdk:21-jdk-bookworm RUN echo 'Asia/Shanghai' >/etc/timezone diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/proto/MyService.proto b/ozhera-demo-server/ozhera-demo-server-server/src/main/proto/MyService.proto index 095028a73..1d0b08533 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/proto/MyService.proto +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/proto/MyService.proto @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + syntax = "proto3"; package com.xiaomi.mone.hera.demo.grpc; diff --git a/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/Dockerfile b/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/Dockerfile index 7bc9bdf50..a3c2a5d95 100644 --- a/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/Dockerfile +++ b/ozhera-demo-server/ozhera-demo-server-server/src/main/resources/Dockerfile @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM miserver MAINTAINER youpin-biz-arch@xiaomi.com RUN mkdir -p /home/work/zxw_test2/ diff --git a/trace-etl/trace-etl-es/Dockerfile b/trace-etl/trace-etl-es/Dockerfile new file mode 100644 index 000000000..0ea223366 --- /dev/null +++ b/trace-etl/trace-etl-es/Dockerfile @@ -0,0 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM openjdk:21-jdk-bookworm + +COPY ./target/trace-etl-es-1.0.1-jdk21.jar /home/work/trace-etl-es/trace-etl-es-1.0.0-SNAPSHOT.jar + +ENTRYPOINT ["sh","-c","java -XX:+UseZGC --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.reflect=ALL-UNNAMED --add-opens java.base/java.xml=ALL-UNNAMED --add-exports java.base/sun.reflect.annotation=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports java.xml/com.sun.org.apache.xerces.internal.impl.dv.util=ALL-UNNAMED -Duser.timezone=Asia/Shanghai -jar /home/work/trace-etl-es/trace-etl-es-1.0.0-SNAPSHOT.jar"] \ No newline at end of file diff --git a/trace-etl/trace-etl-es/dockerfile b/trace-etl/trace-etl-es/dockerfile deleted file mode 100644 index 9887ede60..000000000 --- a/trace-etl/trace-etl-es/dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM openjdk:21-jdk-bookworm - -COPY ./target/trace-etl-es-1.0.1-jdk21.jar /home/work/trace-etl-es/trace-etl-es-1.0.0-SNAPSHOT.jar - -ENTRYPOINT ["sh","-c","java -XX:+UseZGC --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.reflect=ALL-UNNAMED --add-opens java.base/java.xml=ALL-UNNAMED --add-exports java.base/sun.reflect.annotation=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports java.xml/com.sun.org.apache.xerces.internal.impl.dv.util=ALL-UNNAMED -Duser.timezone=Asia/Shanghai -jar /home/work/trace-etl-es/trace-etl-es-1.0.0-SNAPSHOT.jar"] \ No newline at end of file diff --git a/trace-etl/trace-etl-server/Dockerfile b/trace-etl/trace-etl-server/Dockerfile new file mode 100644 index 000000000..413c1b24c --- /dev/null +++ b/trace-etl/trace-etl-server/Dockerfile @@ -0,0 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM openjdk:21-jdk-bookworm + +COPY ./target/trace-etl-server-1.0.1-jdk21.jar /home/work/trace-etl-server-1.0.0-SNAPSHOT.jar + +ENTRYPOINT ["sh","-c","java -XX:+UseZGC --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.reflect=ALL-UNNAMED --add-opens java.base/java.xml=ALL-UNNAMED --add-exports java.base/sun.reflect.annotation=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports java.xml/com.sun.org.apache.xerces.internal.impl.dv.util=ALL-UNNAMED -Duser.timezone=Asia/Shanghai -jar /home/work/trace-etl-server-1.0.0-SNAPSHOT.jar"] \ No newline at end of file diff --git a/trace-etl/trace-etl-server/dockerfile b/trace-etl/trace-etl-server/dockerfile deleted file mode 100644 index c9af710ea..000000000 --- a/trace-etl/trace-etl-server/dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM openjdk:21-jdk-bookworm - -COPY ./target/trace-etl-server-1.0.1-jdk21.jar /home/work/trace-etl-server-1.0.0-SNAPSHOT.jar - -ENTRYPOINT ["sh","-c","java -XX:+UseZGC --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.reflect=ALL-UNNAMED --add-opens java.base/java.xml=ALL-UNNAMED --add-exports java.base/sun.reflect.annotation=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports java.xml/com.sun.org.apache.xerces.internal.impl.dv.util=ALL-UNNAMED -Duser.timezone=Asia/Shanghai -jar /home/work/trace-etl-server-1.0.0-SNAPSHOT.jar"] \ No newline at end of file From 4100d7f18ea5d5881506e6c3950918b4a402dde7 Mon Sep 17 00:00:00 2001 From: Xue <97078819+xs3508198@users.noreply.github.com> Date: Wed, 20 Nov 2024 18:23:35 +0800 Subject: [PATCH 18/19] fix: operator information changes (#514) Co-authored-by: xueshan Co-authored-by: wodiwudi <40229449+wodiwudi@users.noreply.github.com> --- ozhera-operator/ozhera-operator-server/Dockerfile | 4 ++-- ozhera-operator/ozhera-operator-server/pom.xml | 10 ++++++++++ .../src/main/resources/config.properties | 2 +- .../ozhera_init/alertManager/ozhera_alertmanager.yaml | 2 +- .../resources/ozhera_init/grafana/ozhera_grafana.yaml | 2 +- .../ozhera_init/prometheus/ozhera_prometheus.yaml | 2 +- .../operator/handler/HeraResourceEventHandler.java | 3 ++- 7 files changed, 18 insertions(+), 7 deletions(-) diff --git a/ozhera-operator/ozhera-operator-server/Dockerfile b/ozhera-operator/ozhera-operator-server/Dockerfile index adf39a897..2f7260da9 100644 --- a/ozhera-operator/ozhera-operator-server/Dockerfile +++ b/ozhera-operator/ozhera-operator-server/Dockerfile @@ -14,6 +14,6 @@ # limitations under the License. FROM openjdk:21-jdk-bookworm -COPY ./target/ozhera-operator-server-1.0-jdk21.jar /home/work/ozhera-operator-server-1.0-SNAPSHOT.jar +COPY ./target/ozhera-operator-server-2.0.0-SNAPSHOT.jar /home/work/ozhera-operator-server-1.0-SNAPSHOT.jar -ENTRYPOINT ["sh","-c","java -XX:+UseZGC --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.reflect=ALL-UNNAMED --add-opens java.base/java.xml=ALL-UNNAMED --add-exports java.base/sun.reflect.annotation=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports java.xml/com.sun.org.apache.xerces.internal.impl.dv.util=ALL-UNNAMED -Duser.timezone=Asia/Shanghai -jar /home/work/ozhera-operator-server-1.0-SNAPSHOT.jar"] \ No newline at end of file +ENTRYPOINT ["sh","-c","java -XX:+UseZGC --enable-preview --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.reflect=ALL-UNNAMED --add-opens java.base/java.xml=ALL-UNNAMED --add-exports java.base/sun.reflect.annotation=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports java.xml/com.sun.org.apache.xerces.internal.impl.dv.util=ALL-UNNAMED -Duser.timezone=Asia/Shanghai -jar /home/work/ozhera-operator-server-1.0-SNAPSHOT.jar"] \ No newline at end of file diff --git a/ozhera-operator/ozhera-operator-server/pom.xml b/ozhera-operator/ozhera-operator-server/pom.xml index a11707c03..c67902d7c 100644 --- a/ozhera-operator/ozhera-operator-server/pom.xml +++ b/ozhera-operator/ozhera-operator-server/pom.xml @@ -60,6 +60,16 @@ http://www.apache.org/licenses/LICENSE-2.0 + + + + org.yaml + snakeyaml + 1.33 + + + + diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/config.properties b/ozhera-operator/ozhera-operator-server/src/main/resources/config.properties index a4cddeee2..ec22e4c6e 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/config.properties +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/config.properties @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. log.path=/home/work/log/ozhera-operator -crd=mone:run.mone.hera.operator.bo.HeraBootstrap:run.mone.hera.operator.bo.HeraBootstrapList:heraClient:HeraResourceEventHandler \ No newline at end of file +crd=mone:org.apache.ozhera.operator.bo.HeraBootstrap:org.apache.ozhera.operator.bo.HeraBootstrapList:heraClient:HeraResourceEventHandler \ No newline at end of file diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/alertManager/ozhera_alertmanager.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/alertManager/ozhera_alertmanager.yaml index af123efe3..e11962337 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/alertManager/ozhera_alertmanager.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/alertManager/ozhera_alertmanager.yaml @@ -96,7 +96,7 @@ spec: persistentVolumeReclaimPolicy: Retain storageClassName: local-storage local: - path: /home/work/alertmanager_hera_namespace_pv + path: /home/work/alertmanager_ozhera_namespace_pv nodeAffinity: required: nodeSelectorTerms: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/grafana/ozhera_grafana.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/grafana/ozhera_grafana.yaml index edcab4150..7f2b9b4b5 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/grafana/ozhera_grafana.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/grafana/ozhera_grafana.yaml @@ -1656,7 +1656,7 @@ spec: persistentVolumeReclaimPolicy: Retain storageClassName: local-storage local: - path: /home/work/grafana_hera_namespace_pv + path: /home/work/grafana_ozhera_namespace_pv nodeAffinity: required: nodeSelectorTerms: diff --git a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus.yaml b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus.yaml index ddcdd7f14..98cc5fe93 100644 --- a/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus.yaml +++ b/ozhera-operator/ozhera-operator-server/src/main/resources/ozhera_init/prometheus/ozhera_prometheus.yaml @@ -80,7 +80,7 @@ spec: persistentVolumeReclaimPolicy: Retain storageClassName: local-storage local: - path: /home/work/prometheus_hera_namespace_pv + path: /home/work/prometheus_ozhera_namespace_pv nodeAffinity: required: nodeSelectorTerms: diff --git a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java index 3c594350e..538d7231c 100644 --- a/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java +++ b/ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/handler/HeraResourceEventHandler.java @@ -251,8 +251,9 @@ private void initTpc(String action) { } } - private void initNacos(String action, String nacosAddress, String pwd, List propConfList) { + private void initNacos(String action, String nacosAddress, String pwd, List propConfList) throws InterruptedException { log.warn("initNacos begin nacosAddress:{}", nacosAddress); + Thread.sleep(1000 * 30); String url = String.format("http://%s/nacos/v1/ns/cluster/enable?level=4&pwd=%s", nacosAddress, pwd); String nacosEnable = HttpClientV6.get(url, new HashMap<>(), 2000); if (!"ok".equals(nacosEnable)) { From 66402b2a2b33712fa060efe7aa2f254bb32922cb Mon Sep 17 00:00:00 2001 From: gaoxh <32359336+gaoxh@users.noreply.github.com> Date: Thu, 21 Nov 2024 19:45:40 +0800 Subject: [PATCH 19/19] fix: add header to files missing copyright notice (#517) --- .../src/main/resources/config.properties | 15 ++++++++++++++ .../src/main/resources/config/open.properties | 15 ++++++++++++++ .../log-stream/src/main/resources/logback.xml | 20 +++++++++++++++++++ .../main/resources/META-INF/app.properties | 15 ++++++++++++++ .../main/resources/META-INF/spring.factories | 15 ++++++++++++++ .../src/main/resources/sql/create_table.sql | 19 ++++++++++++++++++ trace-etl/trace-etl-manager/dockerfile | 15 ++++++++++++++ 7 files changed, 114 insertions(+) diff --git a/ozhera-log/log-stream/src/main/resources/config.properties b/ozhera-log/log-stream/src/main/resources/config.properties index 67d9da30d..a73e3569e 100644 --- a/ozhera-log/log-stream/src/main/resources/config.properties +++ b/ozhera-log/log-stream/src/main/resources/config.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + app_name=${app_name} nacos_config_dataid=${nacos_config_dataid} nacos_config_group=DEFAULT_GROUP diff --git a/ozhera-log/log-stream/src/main/resources/config/open.properties b/ozhera-log/log-stream/src/main/resources/config/open.properties index 1c46f5edd..ae2ba6c20 100644 --- a/ozhera-log/log-stream/src/main/resources/config/open.properties +++ b/ozhera-log/log-stream/src/main/resources/config/open.properties @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + app_name=hera_log_stream nacos_config_dataid=log_stream_dataId_open diff --git a/ozhera-log/log-stream/src/main/resources/logback.xml b/ozhera-log/log-stream/src/main/resources/logback.xml index 4216cdbbb..6d2940d09 100644 --- a/ozhera-log/log-stream/src/main/resources/logback.xml +++ b/ozhera-log/log-stream/src/main/resources/logback.xml @@ -1,4 +1,24 @@ + diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/resources/META-INF/app.properties b/ozhera-monitor/ozhera-monitor-server/src/main/resources/META-INF/app.properties index 9f3860292..92db21d12 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/resources/META-INF/app.properties +++ b/ozhera-monitor/ozhera-monitor-server/src/main/resources/META-INF/app.properties @@ -1,2 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + app.name=mimonitor app.nacos=@app.nacos@ \ No newline at end of file diff --git a/ozhera-monitor/ozhera-monitor-server/src/main/resources/META-INF/spring.factories b/ozhera-monitor/ozhera-monitor-server/src/main/resources/META-INF/spring.factories index 4026c179f..047498b01 100644 --- a/ozhera-monitor/ozhera-monitor-server/src/main/resources/META-INF/spring.factories +++ b/ozhera-monitor/ozhera-monitor-server/src/main/resources/META-INF/spring.factories @@ -1 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + org.springframework.context.ApplicationListener=org.apache.ozhera.monitor.listener.ApplicationStartedListener \ No newline at end of file diff --git a/ozhera-monitor/ozhera-monitor-service/src/main/resources/sql/create_table.sql b/ozhera-monitor/ozhera-monitor-service/src/main/resources/sql/create_table.sql index 7ed6eacc9..939d4327f 100644 --- a/ozhera-monitor/ozhera-monitor-service/src/main/resources/sql/create_table.sql +++ b/ozhera-monitor/ozhera-monitor-service/src/main/resources/sql/create_table.sql @@ -1,3 +1,22 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + CREATE TABLE `app_grafana_mapping` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `app_name` varchar(100) NOT NULL, diff --git a/trace-etl/trace-etl-manager/dockerfile b/trace-etl/trace-etl-manager/dockerfile index 5a7ed99db..d07a0d6fa 100644 --- a/trace-etl/trace-etl-manager/dockerfile +++ b/trace-etl/trace-etl-manager/dockerfile @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM openjdk:21-jdk-bookworm COPY ./target/trace-etl-manager-1.0.1-jdk21.jar /home/work/trace-etl-manager-1.0.0-SNAPSHOT.jar

    x$NJ9 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 ?z^xUud9a= zk#|bTk>^eJN$j#d#-WF{j>ABW9~DINK-PgsTlO8OD!jcBQC6-4)c``i2gp*9fcS#R2z7OcM`ikE}U!tQ?gjh zf4ev55^bJB#_s(YwU5V_d3)F>D;x3^c^riH0ytt@EHG6ENW2&ApDv4ny%!;QD8X-{aay<35s)7u+=04aeWebrZmZcp z@64E&3qx{lELDoVhVmL&KcNxF{DV6~#z9p789q^MDHGJwv787R9{mW^M zJ>^7i-Qc{Rk@DLRKbw3!5h|1Ms<3bojNIGNx944v7+vf)bo9bki`;)O@G*=l1TPTA zNm${8Z_76$o0gO&`2kdK!o+fmKXctY##c`m51^6uwqoXezY#)OYt<@*cL zL-}r^jaY{BIj_sm)o)okxlKw^R>$cc6tEqLT{@EVA(Eag0FLO_<K=mi;>YN4|X|#z(WXSr6i1!#QQ`m>n_e+g;3(p5-yRAFn?jljQ+b zT6^KbHU

  • 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 a{hK?LlCOHDb0TJ>b~)I&oNl(ckp36Yaau+I diff --git a/readme/contributing/images/1-5.PNG b/readme/contributing/images/1-5.PNG deleted file mode 100644 index 9f6908e3163e8e91d3deb89a1f568ce28650a297..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51911 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