diff --git a/build.gradle b/build.gradle index b5df1a0..c66206b 100644 --- a/build.gradle +++ b/build.gradle @@ -33,24 +33,16 @@ repositories { } } -dependencyManagement { - imports { - mavenBom(releaseMode ? 'com.epam.reportportal:commons-bom:' + getProperty('bom.version') : 'com.epam.reportportal:commons-bom:5.12.1') - } -} - ext['spring-boot.version'] = "${springBootVersion}" ext['junit-jupiter.version'] = "${junitVersion}" dependencies { if (releaseMode) { - implementation 'com.epam.reportportal:commons-dao' - implementation 'com.epam.reportportal:plugin-api' - annotationProcessor 'com.epam.reportportal:plugin-api' + implementation 'com.epam.reportportal:service-api' + annotationProcessor 'com.epam.reportportal:service-api' } else { - implementation 'com.github.reportportal:commons-dao:develop-SNAPSHOT' - implementation 'com.github.reportportal:plugin-api:develop-SNAPSHOT' - annotationProcessor 'com.github.reportportal:plugin-api:develop-SNAPSHOT' + implementation 'com.github.reportportal:service-api:3e34a90' + annotationProcessor 'com.github.reportportal:service-api:3e34a90' } compileOnly "org.projectlombok:lombok:${lombokVersion}" @@ -58,7 +50,6 @@ dependencies { testCompileOnly "org.projectlombok:lombok:${lombokVersion}" testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.2' testImplementation 'org.mockito:mockito-core:5.14.2' testImplementation 'org.mockito:mockito-junit-jupiter:5.14.2' testImplementation "org.junit.jupiter:junit-jupiter" diff --git a/gradle.properties b/gradle.properties index e11e0c0..2fa671c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ version=1.1.0 description=EPAM Report Portal. Slack plugin. pluginId = slack -lombokVersion=1.18.36 +lombokVersion=1.18.42 junitVersion=5.11.0 -springBootVersion=3.4.2 +springBootVersion=3.4.11 diff --git a/src/main/java/com/epam/reportportal/extension/slack/SlackPlugin.java b/src/main/java/com/epam/reportportal/extension/slack/SlackPlugin.java index 4c150c7..b143b47 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/SlackPlugin.java +++ b/src/main/java/com/epam/reportportal/extension/slack/SlackPlugin.java @@ -7,14 +7,14 @@ * @author Andrei Piankouski */ public class SlackPlugin extends Plugin { - /** - * Constructor to be used by plugin manager for plugin instantiation. - * Your plugins have to provide constructor with this exact signature to - * be successfully loaded by manager. - * - * @param wrapper - A wrapper over plugin instance. - */ - public SlackPlugin(PluginWrapper wrapper) { - super(wrapper); - } + + /** + * Constructor to be used by plugin manager for plugin instantiation. Your plugins have to provide constructor with + * this exact signature to be successfully loaded by manager. + * + * @param wrapper - A wrapper over plugin instance. + */ + public SlackPlugin(PluginWrapper wrapper) { + super(wrapper); + } } 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 34f5444..8d87570 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java +++ b/src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java @@ -32,11 +32,11 @@ 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.ta.reportportal.dao.IntegrationRepository; -import com.epam.ta.reportportal.dao.IntegrationTypeRepository; -import com.epam.ta.reportportal.dao.LaunchRepository; -import com.epam.ta.reportportal.dao.ProjectRepository; -import com.epam.ta.reportportal.dao.TestItemRepository; +import com.epam.reportportal.infrastructure.persistence.dao.IntegrationRepository; +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.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 787c526..3a55298 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,12 +5,12 @@ import com.epam.reportportal.extension.slack.collector.PropertyCollector; import com.epam.reportportal.extension.slack.model.enums.template.DefaultTemplateProperty; -import com.epam.ta.reportportal.entity.ItemAttribute; -import com.epam.ta.reportportal.entity.launch.Launch; +import com.epam.reportportal.infrastructure.persistence.entity.ItemAttribute; +import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.BooleanUtils; public class AttributesCollector implements PropertyCollector { 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 4685fa8..201cb37 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.ta.reportportal.entity.launch.Launch; +import com.epam.reportportal.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 ff35ea6..7429eff 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.ta.reportportal.entity.enums.StatusEnum.FAILED; -import static com.epam.ta.reportportal.entity.enums.StatusEnum.INTERRUPTED; -import static com.epam.ta.reportportal.entity.enums.StatusEnum.PASSED; +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 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.ta.reportportal.entity.enums.StatusEnum; -import com.epam.ta.reportportal.entity.launch.Launch; +import com.epam.reportportal.infrastructure.persistence.entity.enums.StatusEnum; +import com.epam.reportportal.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 9b9aed4..eb4bf40 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,12 +4,12 @@ import com.epam.reportportal.extension.slack.collector.PropertyCollector; import com.epam.reportportal.extension.slack.model.enums.template.StatisticTemplateProperty; -import com.epam.ta.reportportal.entity.launch.Launch; +import com.epam.reportportal.infrastructure.persistence.entity.launch.Launch; import java.util.Arrays; import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; -import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections4.CollectionUtils; public class StatisticsPropertiesCollector implements PropertyCollector { @@ -22,8 +22,10 @@ public Map collect(Launch launch) { ofNullable(launch.getStatistics()).filter(CollectionUtils::isNotEmpty) .ifPresent(statistics -> statistics.stream() - .filter(s -> properties.containsKey(StatisticTemplateProperty.valueOfByName(s.getStatisticsField().getName()))) - .forEach(s -> properties.put(StatisticTemplateProperty.valueOfByName(s.getStatisticsField().getName()), String.valueOf(s.getCounter())))); + .filter( + s -> properties.containsKey(StatisticTemplateProperty.valueOfByName(s.getStatisticsField().getName()))) + .forEach(s -> properties.put(StatisticTemplateProperty.valueOfByName(s.getStatisticsField().getName()), + String.valueOf(s.getCounter())))); return properties; } diff --git a/src/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java b/src/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java index 2c43727..9874422 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java +++ b/src/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java @@ -5,5 +5,5 @@ */ public interface EventHandler { - void handle(T event); + void handle(T event); } diff --git a/src/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java b/src/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java index c4682fb..a979859 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java +++ b/src/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java @@ -3,7 +3,7 @@ import com.epam.reportportal.extension.event.PluginEvent; import com.epam.reportportal.extension.slack.event.handler.EventHandler; import com.epam.reportportal.extension.slack.info.PluginInfoProvider; -import com.epam.ta.reportportal.dao.IntegrationTypeRepository; +import com.epam.reportportal.infrastructure.persistence.dao.IntegrationTypeRepository; /** * @author Andrei Piankouski 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 f24b73c..7860919 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.LaunchFinishedPluginEvent; import com.epam.reportportal.extension.slack.event.launch.resolver.AttachmentResolver; import com.epam.reportportal.extension.slack.event.launch.resolver.SenderCaseMatcher; -import com.epam.reportportal.rules.exception.ErrorType; -import com.epam.reportportal.rules.exception.ReportPortalException; -import com.epam.ta.reportportal.dao.LaunchRepository; -import com.epam.ta.reportportal.dao.ProjectRepository; -import com.epam.ta.reportportal.entity.enums.ProjectAttributeEnum; -import com.epam.ta.reportportal.entity.launch.Launch; -import com.epam.ta.reportportal.entity.project.Project; -import com.epam.ta.reportportal.entity.project.ProjectUtils; -import com.epam.ta.reportportal.entity.project.email.SenderCase; +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 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 6159a1f..ce7eef2 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.ta.reportportal.entity.launch.Launch; +import com.epam.reportportal.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 20b9b20..b9b05e1 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,18 +21,18 @@ 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.ta.reportportal.dao.TestItemRepository; -import com.epam.ta.reportportal.entity.enums.LogicalOperator; -import com.epam.ta.reportportal.entity.enums.SendCase; -import com.epam.ta.reportportal.entity.launch.Launch; -import com.epam.ta.reportportal.entity.project.email.LaunchAttributeRule; -import com.epam.ta.reportportal.entity.project.email.SenderCase; -import com.epam.ta.reportportal.entity.statistics.Statistics; -import com.epam.ta.reportportal.ws.reporting.ItemAttributeResource; +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 java.util.Objects; import java.util.Set; import java.util.stream.Collectors; -import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections4.CollectionUtils; /** * @author Andrei Piankouski diff --git a/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java b/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java index c620d2c..6d17699 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java +++ b/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java @@ -5,7 +5,7 @@ import com.epam.reportportal.extension.slack.event.handler.EventHandler; import com.epam.reportportal.extension.slack.event.handler.plugin.PluginLoadedEventHandler; import com.epam.reportportal.extension.slack.info.PluginInfoProvider; -import com.epam.ta.reportportal.dao.IntegrationTypeRepository; +import com.epam.reportportal.infrastructure.persistence.dao.IntegrationTypeRepository; import java.util.HashMap; import java.util.Map; @@ -19,7 +19,7 @@ public class PluginEventHandlerFactory implements EventHandlerFactory> eventHandlerMapping; public PluginEventHandlerFactory(IntegrationTypeRepository integrationTypeRepository, - PluginInfoProvider pluginInfoProvider) { + PluginInfoProvider pluginInfoProvider) { this.eventHandlerMapping = new HashMap<>(); this.eventHandlerMapping.put(LOAD_KEY, new PluginLoadedEventHandler(integrationTypeRepository, pluginInfoProvider) diff --git a/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java b/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java index a28e2f7..803239d 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java +++ b/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java @@ -22,8 +22,9 @@ public PluginEventListener(String pluginId, EventHandlerFactory plu @Override public void onApplicationEvent(PluginEvent event) { if (supports(event)) { - ofNullable(pluginEventEventHandlerFactory.getEventHandler(event.getType())).ifPresent(pluginEventEventHandler -> pluginEventEventHandler - .handle(event)); + ofNullable(pluginEventEventHandlerFactory.getEventHandler(event.getType())).ifPresent( + pluginEventEventHandler -> pluginEventEventHandler + .handle(event)); } } 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 07acd5c..292ae59 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.ta.reportportal.entity.launch.Launch; +import com.epam.reportportal.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 e2c9b93..58e359b 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.ta.reportportal.entity.integration.IntegrationType; +import com.epam.reportportal.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 483e0d9..f57a6aa 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.rules.exception.ErrorType; -import com.epam.reportportal.rules.exception.ReportPortalException; -import com.epam.ta.reportportal.entity.enums.IntegrationGroupEnum; -import com.epam.ta.reportportal.entity.integration.IntegrationType; +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 java.io.IOException; import java.io.InputStream; import java.nio.file.Files; @@ -99,10 +99,11 @@ private void addFieldsInfo(IntegrationType integrationType) { ruleField.put("label", "Webhook URL"); ruleField.put("type", "text"); ruleField.put("placeholder", "https://..."); - ruleField.put("required", true); + ruleField.put("required", true); Map validation = new HashMap<>(); validation.put("type", "url"); - validation.put("regex", "^https:\\/\\/hooks\\.slack\\.com\\/services\\/T[A-Z0-9]{8,12}\\/B[A-Z0-9]{8,12}\\/[a-zA-Z0-9]{24}$"); + validation.put("regex", + "^https:\\/\\/hooks\\.slack\\.com\\/services\\/T[A-Z0-9]{8,12}\\/B[A-Z0-9]{8,12}\\/[a-zA-Z0-9]{24}$"); validation.put("errorMessage", "Field is Required. Please provide valid URL"); ruleField.put("validation", validation); details.put(FIELDS_KEY, List.of(ruleField)); 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 2f402d9..c3ccd79 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.ta.reportportal.entity.integration.Integration; +import com.epam.reportportal.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 d1bc56d..b43ca92 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.ta.reportportal.entity.integration.Integration; +import com.epam.reportportal.infrastructure.persistence.entity.integration.Integration; import java.util.Optional; public enum SlackIntegrationProperties { diff --git a/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/StatisticTemplateProperty.java b/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/StatisticTemplateProperty.java index f8928ff..6ae95d3 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/StatisticTemplateProperty.java +++ b/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/StatisticTemplateProperty.java @@ -9,7 +9,7 @@ public enum StatisticTemplateProperty implements TemplateProperty { STATISTIC_EXECUTION_FAILED("statistics$executions$failed"), STATISTIC_EXECUTION_SKIPPED("statistics$executions$skipped"), STATISTIC_DEFECTS_PRODUCT_BUG("statistics$defects$product_bug$total"), - STATISTIC_DEFECTS_SYSTEM_ISSUE ("statistics$defects$system_issue$total"), + STATISTIC_DEFECTS_SYSTEM_ISSUE("statistics$defects$system_issue$total"), STATISTIC_DEFECTS_AUTOMATION_BUG("statistics$defects$automation_bug$total"), STATISTIC_DEFECTS_NO_DEFECT("statistics$defects$no_defect$total"), STATISTIC_DEFECTS_TO_INVESTIGATE("statistics$defects$to_investigate$total"), diff --git a/src/main/java/com/epam/reportportal/extension/slack/utils/MemoizingSupplier.java b/src/main/java/com/epam/reportportal/extension/slack/utils/MemoizingSupplier.java index f75d1ea..b47aa19 100644 --- a/src/main/java/com/epam/reportportal/extension/slack/utils/MemoizingSupplier.java +++ b/src/main/java/com/epam/reportportal/extension/slack/utils/MemoizingSupplier.java @@ -10,29 +10,29 @@ */ public class MemoizingSupplier implements Supplier { - private final Supplier delegate; + private final Supplier delegate; - private AtomicBoolean initialized = new AtomicBoolean(false); + private AtomicBoolean initialized = new AtomicBoolean(false); - private T value; + private T value; - public MemoizingSupplier(Supplier delegate) { - this.delegate = checkNotNull(delegate); - } + public MemoizingSupplier(Supplier delegate) { + this.delegate = checkNotNull(delegate); + } - @Override - public T get() { + @Override + public T get() { + if (!initialized.get()) { + synchronized (this) { if (!initialized.get()) { - synchronized (this) { - if (!initialized.get()) { - T t = delegate.get(); - value = t; - initialized.set(true); - return t; - } - } + T t = delegate.get(); + value = t; + initialized.set(true); + return t; } - return value; + } } + return value; + } } 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 6dcf136..11f53d4 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.ta.reportportal.entity.project.email.LaunchAttributeRule; -import com.epam.ta.reportportal.ws.reporting.ItemAttributeResource; +import com.epam.reportportal.infrastructure.persistence.entity.project.email.LaunchAttributeRule; +import com.epam.reportportal.reporting.ItemAttributeResource; import java.util.function.Function; /** diff --git a/src/main/resources/scripts/001_add_slack_notification_attribute.sql b/src/main/resources/scripts/001_add_slack_notification_attribute.sql index 129fd6f..a33e90d 100644 --- a/src/main/resources/scripts/001_add_slack_notification_attribute.sql +++ b/src/main/resources/scripts/001_add_slack_notification_attribute.sql @@ -1,24 +1,23 @@ CREATE TEMPORARY TABLE temp_project AS - SELECT project_id - FROM project_attribute - GROUP BY project_id - EXCEPT - SELECT project_id - FROM project_attribute - WHERE attribute_id = (SELECT id FROM attribute WHERE name = 'notifications.slack.enabled'); +SELECT project_id +FROM project_attribute +GROUP BY project_id +EXCEPT +SELECT project_id +FROM project_attribute +WHERE attribute_id = (SELECT id FROM attribute WHERE name = 'notifications.slack.enabled'); INSERT INTO attribute (name) SELECT 'notifications.slack.enabled' WHERE NOT EXISTS (SELECT 1 FROM attribute WHERE name = 'notifications.slack.enabled'); -WITH attr AS ( - SELECT id - FROM attribute - WHERE name = 'notifications.slack.enabled' -) -INSERT INTO project_attribute(attribute_id, value, project_id) +WITH attr AS (SELECT id + FROM attribute + WHERE name = 'notifications.slack.enabled') +INSERT +INTO project_attribute(attribute_id, value, project_id) SELECT attr.id, 'true', temp.project_id FROM temp_project temp -CROSS JOIN attr; + CROSS JOIN attr; -DROP TABLE temp_project; \ No newline at end of file +DROP TABLE temp_project; 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 65a6af5..cedf027 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.ta.reportportal.dao.LaunchRepository; -import com.epam.ta.reportportal.dao.ProjectRepository; -import com.epam.ta.reportportal.entity.launch.Launch; +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 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 3a1b203..df28f95 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.ta.reportportal.entity.enums.ProjectAttributeEnum.NOTIFICATIONS_ENABLED; - -import com.epam.ta.reportportal.entity.attribute.Attribute; -import com.epam.ta.reportportal.entity.enums.SendCase; -import com.epam.ta.reportportal.entity.launch.Launch; -import com.epam.ta.reportportal.entity.project.Project; -import com.epam.ta.reportportal.entity.project.ProjectAttribute; -import com.epam.ta.reportportal.entity.project.email.SenderCase; -import com.epam.ta.reportportal.entity.project.email.SenderCaseOptions; +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 java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets;