From 2d415b17cff3ee48ece8fa655f1301a9de1c7189 Mon Sep 17 00:00:00 2001 From: Evelina02 Date: Mon, 9 Mar 2026 17:07:52 +0300 Subject: [PATCH] EPMRPP-110768 fix paths --- build.gradle | 5 +++-- .../extension/slack/SlackPluginExtension.java | 10 +++++----- .../collector/laucnh/AttributesCollector.java | 4 ++-- .../laucnh/LaunchPropertiesCollector.java | 2 +- .../collector/laucnh/ResultColorCollector.java | 10 +++++----- .../laucnh/StatisticsPropertiesCollector.java | 2 +- .../launch/SlackLaunchFinishEventListener.java | 18 +++++++++--------- .../launch/resolver/AttachmentResolver.java | 2 +- .../launch/resolver/SenderCaseMatcher.java | 16 ++++++++-------- .../event/plugin/PluginLoadedEventHandler.java | 4 ++-- .../factory/PropertyCollectorFactory.java | 2 +- .../slack/info/PluginInfoProvider.java | 2 +- .../info/impl/PluginInfoProviderImpl.java | 8 ++++---- .../slack/model/enums/SlackEventType.java | 2 +- .../enums/SlackIntegrationProperties.java | 2 +- .../utils/NotificationConfigConverter.java | 4 ++-- .../SlackLaunchFinishEventListenerTest.java | 6 +++--- .../extension/slack/utils/MockData.java | 18 +++++++++--------- 18 files changed, 59 insertions(+), 58 deletions(-) diff --git a/build.gradle b/build.gradle index 3e6de56..deeb691 100644 --- a/build.gradle +++ b/build.gradle @@ -30,6 +30,7 @@ apply from: scriptsUrl + '/signing.gradle' repositories { mavenLocal() mavenCentral { url = "https://repo1.maven.org/maven2" } + maven { url = "https://build.shibboleth.net/nexus/content/repositories/releases/" } if (!releaseMode) { maven { url = 'https://jitpack.io' } } @@ -43,8 +44,8 @@ dependencies { implementation 'com.epam.reportportal:service-api' annotationProcessor 'com.epam.reportportal:service-api' } else { - implementation 'com.github.reportportal:service-api:7044a29' - annotationProcessor 'com.github.reportportal:service-api:7044a29' + implementation 'com.github.reportportal:service-api:e81b4f6' + annotationProcessor 'com.github.reportportal:service-api:e81b4f6' } compileOnly "org.projectlombok:lombok:${lombokVersion}" diff --git a/src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java b/src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java index aa0cd80..ec5a7e6 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java +++ b/src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java @@ -16,7 +16,7 @@ package com.epam.reportportal.extension.slack; -import com.epam.reportportal.core.events.domain.PluginUploadedEvent; +import com.epam.reportportal.base.core.events.domain.PluginUploadedEvent; import com.epam.reportportal.extension.CommonPluginCommand; import com.epam.reportportal.extension.PluginCommand; import com.epam.reportportal.extension.ReportPortalExtensionPoint; @@ -31,10 +31,10 @@ import com.epam.reportportal.extension.slack.factory.PropertyCollectorFactory; import com.epam.reportportal.extension.slack.info.impl.PluginInfoProviderImpl; import com.epam.reportportal.extension.slack.utils.MemoizingSupplier; -import com.epam.reportportal.infrastructure.persistence.dao.IntegrationTypeRepository; -import com.epam.reportportal.infrastructure.persistence.dao.LaunchRepository; -import com.epam.reportportal.infrastructure.persistence.dao.ProjectRepository; -import com.epam.reportportal.infrastructure.persistence.dao.TestItemRepository; +import com.epam.reportportal.base.infrastructure.persistence.dao.IntegrationTypeRepository; +import com.epam.reportportal.base.infrastructure.persistence.dao.LaunchRepository; +import com.epam.reportportal.base.infrastructure.persistence.dao.ProjectRepository; +import com.epam.reportportal.base.infrastructure.persistence.dao.TestItemRepository; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/AttributesCollector.java b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/AttributesCollector.java index 3a55298..070efa6 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/AttributesCollector.java +++ b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/AttributesCollector.java @@ -5,8 +5,8 @@ import com.epam.reportportal.extension.slack.collector.PropertyCollector; import com.epam.reportportal.extension.slack.model.enums.template.DefaultTemplateProperty; -import com.epam.reportportal.infrastructure.persistence.entity.ItemAttribute; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.entity.ItemAttribute; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; diff --git a/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/LaunchPropertiesCollector.java b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/LaunchPropertiesCollector.java index 201cb37..0c5d28d 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/LaunchPropertiesCollector.java +++ b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/LaunchPropertiesCollector.java @@ -12,7 +12,7 @@ import com.epam.reportportal.extension.slack.collector.PropertyCollector; import com.epam.reportportal.extension.slack.model.enums.template.DefaultTemplateProperty; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; import com.google.common.collect.ImmutableMap; import java.util.LinkedHashMap; import java.util.Map; diff --git a/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/ResultColorCollector.java b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/ResultColorCollector.java index 7429eff..e49558e 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/ResultColorCollector.java +++ b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/ResultColorCollector.java @@ -15,15 +15,15 @@ */ package com.epam.reportportal.extension.slack.collector.laucnh; -import static com.epam.reportportal.infrastructure.persistence.entity.enums.StatusEnum.FAILED; -import static com.epam.reportportal.infrastructure.persistence.entity.enums.StatusEnum.INTERRUPTED; -import static com.epam.reportportal.infrastructure.persistence.entity.enums.StatusEnum.PASSED; +import static com.epam.reportportal.base.infrastructure.persistence.entity.enums.StatusEnum.FAILED; +import static com.epam.reportportal.base.infrastructure.persistence.entity.enums.StatusEnum.INTERRUPTED; +import static com.epam.reportportal.base.infrastructure.persistence.entity.enums.StatusEnum.PASSED; import com.epam.reportportal.extension.slack.collector.PropertyCollector; import com.epam.reportportal.extension.slack.model.enums.template.Color; import com.epam.reportportal.extension.slack.model.template.TextProperty; -import com.epam.reportportal.infrastructure.persistence.entity.enums.StatusEnum; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.entity.enums.StatusEnum; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; diff --git a/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/StatisticsPropertiesCollector.java b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/StatisticsPropertiesCollector.java index eb4bf40..a2f9be4 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/StatisticsPropertiesCollector.java +++ b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/StatisticsPropertiesCollector.java @@ -4,7 +4,7 @@ import com.epam.reportportal.extension.slack.collector.PropertyCollector; import com.epam.reportportal.extension.slack.model.enums.template.StatisticTemplateProperty; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; import java.util.Arrays; import java.util.Map; import java.util.function.Function; diff --git a/src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java b/src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java index 0efac0c..ac62687 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java +++ b/src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java @@ -18,15 +18,15 @@ import com.epam.reportportal.extension.event.LaunchFinishedNotificationEvent; import com.epam.reportportal.extension.slack.event.launch.resolver.AttachmentResolver; import com.epam.reportportal.extension.slack.event.launch.resolver.SenderCaseMatcher; -import com.epam.reportportal.infrastructure.persistence.dao.LaunchRepository; -import com.epam.reportportal.infrastructure.persistence.dao.ProjectRepository; -import com.epam.reportportal.infrastructure.persistence.entity.enums.ProjectAttributeEnum; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; -import com.epam.reportportal.infrastructure.persistence.entity.project.Project; -import com.epam.reportportal.infrastructure.persistence.entity.project.ProjectUtils; -import com.epam.reportportal.infrastructure.persistence.entity.project.email.SenderCase; -import com.epam.reportportal.infrastructure.rules.exception.ErrorType; -import com.epam.reportportal.infrastructure.rules.exception.ReportPortalException; +import com.epam.reportportal.base.infrastructure.persistence.dao.LaunchRepository; +import com.epam.reportportal.base.infrastructure.persistence.dao.ProjectRepository; +import com.epam.reportportal.base.infrastructure.persistence.entity.enums.ProjectAttributeEnum; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.Project; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.ProjectUtils; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.email.SenderCase; +import com.epam.reportportal.base.infrastructure.rules.exception.ErrorType; +import com.epam.reportportal.base.infrastructure.rules.exception.ReportPortalException; import java.util.Map; import java.util.Optional; import org.apache.commons.lang3.BooleanUtils; diff --git a/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/AttachmentResolver.java b/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/AttachmentResolver.java index ce7eef2..490befb 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/AttachmentResolver.java +++ b/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/AttachmentResolver.java @@ -24,7 +24,7 @@ import com.epam.reportportal.extension.slack.model.enums.SlackEventType; import com.epam.reportportal.extension.slack.model.template.TemplateProperty; import com.epam.reportportal.extension.slack.model.template.TextProperty; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; import com.fasterxml.jackson.databind.JsonNode; import java.util.LinkedHashMap; import java.util.List; diff --git a/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/SenderCaseMatcher.java b/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/SenderCaseMatcher.java index b9b05e1..cd89c09 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/SenderCaseMatcher.java +++ b/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/SenderCaseMatcher.java @@ -21,14 +21,14 @@ import static com.epam.reportportal.extension.slack.model.enums.template.StatisticTemplateProperty.STATISTIC_EXECUTION_TOTAL; import com.epam.reportportal.extension.slack.utils.NotificationConfigConverter; -import com.epam.reportportal.infrastructure.persistence.dao.TestItemRepository; -import com.epam.reportportal.infrastructure.persistence.entity.enums.LogicalOperator; -import com.epam.reportportal.infrastructure.persistence.entity.enums.SendCase; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; -import com.epam.reportportal.infrastructure.persistence.entity.project.email.LaunchAttributeRule; -import com.epam.reportportal.infrastructure.persistence.entity.project.email.SenderCase; -import com.epam.reportportal.infrastructure.persistence.entity.statistics.Statistics; -import com.epam.reportportal.reporting.ItemAttributeResource; +import com.epam.reportportal.base.infrastructure.persistence.dao.TestItemRepository; +import com.epam.reportportal.base.infrastructure.persistence.entity.enums.LogicalOperator; +import com.epam.reportportal.base.infrastructure.persistence.entity.enums.SendCase; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.email.LaunchAttributeRule; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.email.SenderCase; +import com.epam.reportportal.base.infrastructure.persistence.entity.statistics.Statistics; +import com.epam.reportportal.base.reporting.ItemAttributeResource; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; diff --git a/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginLoadedEventHandler.java b/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginLoadedEventHandler.java index 8c0ddf9..6b920f9 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginLoadedEventHandler.java +++ b/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginLoadedEventHandler.java @@ -1,8 +1,8 @@ package com.epam.reportportal.extension.slack.event.plugin; -import com.epam.reportportal.core.events.domain.PluginUploadedEvent; +import com.epam.reportportal.base.core.events.domain.PluginUploadedEvent; import com.epam.reportportal.extension.slack.info.PluginInfoProvider; -import com.epam.reportportal.infrastructure.persistence.dao.IntegrationTypeRepository; +import com.epam.reportportal.base.infrastructure.persistence.dao.IntegrationTypeRepository; import org.springframework.context.ApplicationListener; /** diff --git a/src/main/java/com/epam/reportportal/extension/slack/factory/PropertyCollectorFactory.java b/src/main/java/com/epam/reportportal/extension/slack/factory/PropertyCollectorFactory.java index 292ae59..ac7a720 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/factory/PropertyCollectorFactory.java +++ b/src/main/java/com/epam/reportportal/extension/slack/factory/PropertyCollectorFactory.java @@ -6,7 +6,7 @@ import com.epam.reportportal.extension.slack.collector.laucnh.ResultColorCollector; import com.epam.reportportal.extension.slack.collector.laucnh.StatisticsPropertiesCollector; import com.epam.reportportal.extension.slack.model.template.TemplateProperty; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; import java.util.List; public class PropertyCollectorFactory { diff --git a/src/main/java/com/epam/reportportal/extension/slack/info/PluginInfoProvider.java b/src/main/java/com/epam/reportportal/extension/slack/info/PluginInfoProvider.java index 58e359b..acaddab 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/info/PluginInfoProvider.java +++ b/src/main/java/com/epam/reportportal/extension/slack/info/PluginInfoProvider.java @@ -1,6 +1,6 @@ package com.epam.reportportal.extension.slack.info; -import com.epam.reportportal.infrastructure.persistence.entity.integration.IntegrationType; +import com.epam.reportportal.base.infrastructure.persistence.entity.integration.IntegrationType; /** * @author Ivan Budayeu diff --git a/src/main/java/com/epam/reportportal/extension/slack/info/impl/PluginInfoProviderImpl.java b/src/main/java/com/epam/reportportal/extension/slack/info/impl/PluginInfoProviderImpl.java index f57a6aa..ce2c17d 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/info/impl/PluginInfoProviderImpl.java +++ b/src/main/java/com/epam/reportportal/extension/slack/info/impl/PluginInfoProviderImpl.java @@ -3,10 +3,10 @@ import static java.util.Optional.ofNullable; import com.epam.reportportal.extension.slack.info.PluginInfoProvider; -import com.epam.reportportal.infrastructure.persistence.entity.enums.IntegrationGroupEnum; -import com.epam.reportportal.infrastructure.persistence.entity.integration.IntegrationType; -import com.epam.reportportal.infrastructure.rules.exception.ErrorType; -import com.epam.reportportal.infrastructure.rules.exception.ReportPortalException; +import com.epam.reportportal.base.infrastructure.persistence.entity.enums.IntegrationGroupEnum; +import com.epam.reportportal.base.infrastructure.persistence.entity.integration.IntegrationType; +import com.epam.reportportal.base.infrastructure.rules.exception.ErrorType; +import com.epam.reportportal.base.infrastructure.rules.exception.ReportPortalException; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; diff --git a/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackEventType.java b/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackEventType.java index c3ccd79..6c3c3a3 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackEventType.java +++ b/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackEventType.java @@ -2,7 +2,7 @@ import static java.util.Optional.ofNullable; -import com.epam.reportportal.infrastructure.persistence.entity.integration.Integration; +import com.epam.reportportal.base.infrastructure.persistence.entity.integration.Integration; import java.util.Optional; public enum SlackEventType { diff --git a/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackIntegrationProperties.java b/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackIntegrationProperties.java index b43ca92..f5d7729 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackIntegrationProperties.java +++ b/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackIntegrationProperties.java @@ -2,7 +2,7 @@ import static java.util.Optional.ofNullable; -import com.epam.reportportal.infrastructure.persistence.entity.integration.Integration; +import com.epam.reportportal.base.infrastructure.persistence.entity.integration.Integration; import java.util.Optional; public enum SlackIntegrationProperties { diff --git a/src/main/java/com/epam/reportportal/extension/slack/utils/NotificationConfigConverter.java b/src/main/java/com/epam/reportportal/extension/slack/utils/NotificationConfigConverter.java index 11f53d4..d139215 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/utils/NotificationConfigConverter.java +++ b/src/main/java/com/epam/reportportal/extension/slack/utils/NotificationConfigConverter.java @@ -16,8 +16,8 @@ package com.epam.reportportal.extension.slack.utils; -import com.epam.reportportal.infrastructure.persistence.entity.project.email.LaunchAttributeRule; -import com.epam.reportportal.reporting.ItemAttributeResource; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.email.LaunchAttributeRule; +import com.epam.reportportal.base.reporting.ItemAttributeResource; import java.util.function.Function; /** diff --git a/src/test/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListenerTest.java b/src/test/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListenerTest.java index 18d6b87..29da7d1 100644 --- a/src/test/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListenerTest.java +++ b/src/test/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListenerTest.java @@ -28,9 +28,9 @@ import com.epam.reportportal.extension.slack.event.launch.resolver.AttachmentResolver; import com.epam.reportportal.extension.slack.event.launch.resolver.SenderCaseMatcher; import com.epam.reportportal.extension.slack.utils.MockData; -import com.epam.reportportal.infrastructure.persistence.dao.LaunchRepository; -import com.epam.reportportal.infrastructure.persistence.dao.ProjectRepository; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.dao.LaunchRepository; +import com.epam.reportportal.base.infrastructure.persistence.dao.ProjectRepository; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; import java.net.URI; import java.net.URISyntaxException; import java.util.Optional; diff --git a/src/test/java/com/epam/reportportal/extension/slack/utils/MockData.java b/src/test/java/com/epam/reportportal/extension/slack/utils/MockData.java index df28f95..3b3655d 100644 --- a/src/test/java/com/epam/reportportal/extension/slack/utils/MockData.java +++ b/src/test/java/com/epam/reportportal/extension/slack/utils/MockData.java @@ -19,15 +19,15 @@ import static com.epam.reportportal.extension.slack.event.launch.SlackLaunchFinishEventListener.PLUGIN_NOTIFICATION_TYPE; import static com.epam.reportportal.extension.slack.event.launch.SlackLaunchFinishEventListener.SLACK_NOTIFICATION_ATTRIBUTE; import static com.epam.reportportal.extension.slack.event.launch.SlackLaunchFinishEventListener.WEBHOOK_DETAILS; -import static com.epam.reportportal.infrastructure.persistence.entity.enums.ProjectAttributeEnum.NOTIFICATIONS_ENABLED; - -import com.epam.reportportal.infrastructure.persistence.entity.attribute.Attribute; -import com.epam.reportportal.infrastructure.persistence.entity.enums.SendCase; -import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; -import com.epam.reportportal.infrastructure.persistence.entity.project.Project; -import com.epam.reportportal.infrastructure.persistence.entity.project.ProjectAttribute; -import com.epam.reportportal.infrastructure.persistence.entity.project.email.SenderCase; -import com.epam.reportportal.infrastructure.persistence.entity.project.email.SenderCaseOptions; +import static com.epam.reportportal.base.infrastructure.persistence.entity.enums.ProjectAttributeEnum.NOTIFICATIONS_ENABLED; + +import com.epam.reportportal.base.infrastructure.persistence.entity.attribute.Attribute; +import com.epam.reportportal.base.infrastructure.persistence.entity.enums.SendCase; +import com.epam.reportportal.base.infrastructure.persistence.entity.launch.Launch; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.Project; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.ProjectAttribute; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.email.SenderCase; +import com.epam.reportportal.base.infrastructure.persistence.entity.project.email.SenderCaseOptions; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets;