From 3c9b08646d2485299ca96170a947e64901dd7fcd Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Fri, 3 Aug 2018 13:39:19 +0200 Subject: [PATCH 01/72] update pom for new osgi annotations --- pom.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pom.xml b/pom.xml index 0d78e339e..210b691e5 100644 --- a/pom.xml +++ b/pom.xml @@ -198,6 +198,21 @@ 1.8.16 provided + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + + + org.osgi + org.osgi.annotation + 6.0.0 + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + From 85e16c43d7d61e9f6f961ae0eb628e39741f2915 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Fri, 3 Aug 2018 16:07:49 +0200 Subject: [PATCH 02/72] add dependencies to worker module --- core/worker/pom.xml | 12 ++++++++++++ pom.xml | 3 +++ 2 files changed, 15 insertions(+) diff --git a/core/worker/pom.xml b/core/worker/pom.xml index 30df9e274..133a9e5cf 100644 --- a/core/worker/pom.xml +++ b/core/worker/pom.xml @@ -71,6 +71,18 @@ org.osgi org.osgi.core + + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations + org.apache.sling org.apache.sling.commons.osgi diff --git a/pom.xml b/pom.xml index 210b691e5..e85d7424b 100644 --- a/pom.xml +++ b/pom.xml @@ -202,16 +202,19 @@ org.osgi org.osgi.service.component.annotations 1.3.0 + provided org.osgi org.osgi.annotation 6.0.0 + provided org.osgi org.osgi.service.metatype.annotations 1.3.0 + provided From 65f2f8e435c4f9cd2f0d7a87cc925718cf5a923e Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Tue, 7 Aug 2018 09:08:33 +0200 Subject: [PATCH 03/72] update annotations in ChromeWebDriverFactory --- .../chrome/ChromeWebDriverFactory.java | 58 ++++++------------- .../chrome/ChromeWebDriverFactoryConf.java | 39 +++++++++++++ 2 files changed, 57 insertions(+), 40 deletions(-) create mode 100644 core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConf.java diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java index aa405a2bd..b91672199 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java @@ -15,13 +15,6 @@ */ package com.cognifide.aet.worker.drivers.chrome; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.DEFAULT_SELENIUM_GRID_URL; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_DESC; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_LABEL; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.SELENIUM_GRID_URL; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.SELENIUM_GRID_URL_LABEL; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.getProp; import static com.cognifide.aet.worker.drivers.WebDriverHelper.setupProxy; import com.cognifide.aet.job.api.collector.HttpRequestExecutorFactory; @@ -31,17 +24,9 @@ import com.cognifide.aet.worker.exceptions.WorkerException; import java.net.MalformedURLException; import java.net.URL; -import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.logging.Level; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.ConfigurationPolicy; -import org.apache.felix.scr.annotations.Properties; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; import org.openqa.selenium.Proxy; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; @@ -52,37 +37,28 @@ import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.osgi.framework.Constants; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.ConfigurationPolicy; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; + -@Service @Component( - policy = ConfigurationPolicy.REQUIRE, - description = "AET Chrome WebDriver Factory", - label = "AET Chrome WebDriver Factory", - metatype = true) -@Properties({@Property(name = Constants.SERVICE_VENDOR, value = "Cognifide Ltd")}) + configurationPolicy = ConfigurationPolicy.REQUIRE, + property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"} +) +@Designate(ocd = ChromeWebDriverFactoryConf.class) public class ChromeWebDriverFactory implements WebDriverFactory { - private static final String DEFAULT_BROWSER_NAME = "chrome"; - @Reference private HttpRequestExecutorFactory requestExecutorFactory; - @Property(name = NAME, - label = NAME_LABEL, - description = NAME_DESC, - value = DEFAULT_BROWSER_NAME) - private String name; - - @Property(name = SELENIUM_GRID_URL, - label = SELENIUM_GRID_URL_LABEL, - description = "Url to selenium grid hub. When null local Chrome driver will be used. Local Chrome driver does not work on Linux", - value = DEFAULT_SELENIUM_GRID_URL) - private String seleniumGridUrl; + private ChromeWebDriverFactoryConf chromeWebDriverFactoryConf; @Activate - public void activate(Map properties) { - this.name = getProp(properties, NAME, DEFAULT_BROWSER_NAME); - this.seleniumGridUrl = getProp(properties, SELENIUM_GRID_URL, DEFAULT_SELENIUM_GRID_URL); + public void activate(ChromeWebDriverFactoryConf chromeWebDriverFactoryConf) { + this.chromeWebDriverFactoryConf = chromeWebDriverFactoryConf; } @Override @@ -104,7 +80,7 @@ public WebCommunicationWrapper createWebDriver(ProxyServerWrapper proxyServer) @Override public String getName() { - return name; + return chromeWebDriverFactoryConf.name(); } private WebCommunicationWrapper createWebDriver(DesiredCapabilities capabilities, @@ -120,8 +96,10 @@ private WebCommunicationWrapper createWebDriver(DesiredCapabilities capabilities private WebDriver getChromeDriver(DesiredCapabilities capabilities) throws MalformedURLException { - WebDriver driver = StringUtils.isNotBlank(seleniumGridUrl) ? new RemoteWebDriver( - new URL(seleniumGridUrl), capabilities) : new ChromeDriver(capabilities); + WebDriver driver = + StringUtils.isNotBlank(chromeWebDriverFactoryConf.seleniumGridUrl()) ? + new RemoteWebDriver(new URL(chromeWebDriverFactoryConf.seleniumGridUrl()), capabilities) + : new ChromeDriver(capabilities); driver.manage().timeouts().pageLoadTimeout(5L, TimeUnit.MINUTES); return driver; } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConf.java new file mode 100644 index 000000000..bf3cf4932 --- /dev/null +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConf.java @@ -0,0 +1,39 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.worker.drivers.chrome; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +import static com.cognifide.aet.worker.drivers.WebDriverHelper.*; + +@ObjectClassDefinition(name = "AET Chrome WebDriver Factory", description = "AET Chrome WebDriver Factory") +public @interface ChromeWebDriverFactoryConf { + + String DEFAULT_BROWSER_NAME = "chrome"; + + @AttributeDefinition( + name = NAME_LABEL, + description = NAME_DESC, + defaultValue = DEFAULT_BROWSER_NAME) + String name(); + + @AttributeDefinition( + name = SELENIUM_GRID_URL_LABEL, + description = SELENIUM_GRID_URL_DESC, + defaultValue = DEFAULT_SELENIUM_GRID_URL) + String seleniumGridUrl(); +} From 3ec6946161a5b9c9bb44c158a788a2f05533427e Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Tue, 7 Aug 2018 09:13:45 +0200 Subject: [PATCH 04/72] update annotations in FirefoxWebDriverFactory --- .../aet/worker/drivers/WebDriverHelper.java | 12 ++-- .../local/FirefoxWebDriverFactory.java | 68 ++++++------------- .../local/FirefoxWebDriverFactoryConf.java | 42 ++++++++++++ 3 files changed, 67 insertions(+), 55 deletions(-) create mode 100644 core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConf.java diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java index 57090d243..fe87ee478 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java @@ -27,22 +27,18 @@ */ public final class WebDriverHelper { - public static final String NAME = "name"; - public static final String NAME_LABEL = "Name"; public static final String NAME_DESC = "Driver name that will be used by other services like Screenshot Collectors"; - public static final String PATH = "path"; - - public static final String PATH_LABEL = "Path"; + public static final String PATH_LABEL = "Custom path to Firefox binary"; - public static final String PATH_DESC = "Custom path to driver binary"; - - public static final String SELENIUM_GRID_URL = "seleniumGridUrl"; + public static final String LOG_FILE_PATH_LABEL = "Path to firefox error log"; public static final String SELENIUM_GRID_URL_LABEL = "Selenium grid URL"; + public static final String SELENIUM_GRID_URL_DESC = "Url to selenium grid hub. When null local Chrome driver will be used. Local Chrome driver does not work on Linux"; + public static final String DEFAULT_SELENIUM_GRID_URL = "http://localhost:4444/wd/hub"; private WebDriverHelper() { diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java index 08f7c6497..3f8b17a71 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java @@ -1,13 +1,13 @@ /** * AET - * + *

* Copyright (C) 2013 Cognifide Limited - * + *

* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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 @@ -15,10 +15,6 @@ */ package com.cognifide.aet.worker.drivers.firefox.local; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_LABEL; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.PATH; - import com.cognifide.aet.worker.drivers.firefox.FirefoxCommunicationWrapperImpl; import com.cognifide.aet.worker.drivers.firefox.FirefoxProfileBuilder; import com.cognifide.aet.job.api.collector.HttpRequestExecutorFactory; @@ -26,17 +22,10 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.worker.api.WebDriverFactory; import com.cognifide.aet.worker.exceptions.WorkerException; + import java.io.File; -import java.util.Map; import java.util.concurrent.TimeUnit; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.ConfigurationPolicy; -import org.apache.felix.scr.annotations.Properties; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; -import org.apache.sling.commons.osgi.PropertiesUtil; + import org.openqa.selenium.Proxy; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; @@ -44,38 +33,26 @@ import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.osgi.framework.Constants; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; + -@Service @Component( - description = "AET Firefox WebDriver Factory", - label = "AET Firefox WebDriver Factory", - metatype = true) -@Properties({@Property(name = Constants.SERVICE_VENDOR, value = "Cognifide Ltd")}) + property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"} +) +@Designate(ocd = FirefoxWebDriverFactoryConf.class) public class FirefoxWebDriverFactory implements WebDriverFactory { - private static final String DEFAULT_FIREFOX_BINARY_PATH = "/usr/bin/firefox"; - - private static final String DEFAULT_FIREFOX_ERROR_LOG_FILE_PATH = "/opt/aet/firefox/log/stderr.log"; - - private static final String LOG_FILE_PATH = "logFilePath"; - - private static final String DEFAULT_FF_NAME = "ff"; - @Reference private HttpRequestExecutorFactory requestExecutorFactory; - @Property(name = NAME, label = NAME_LABEL, value = DEFAULT_FF_NAME) - private String name; - - @Property(name = PATH, label = "Custom path to Firefox binary", value = DEFAULT_FIREFOX_BINARY_PATH) - private String path; - - @Property(name = LOG_FILE_PATH, label = "Path to firefox error log", value = DEFAULT_FIREFOX_ERROR_LOG_FILE_PATH) - private String logFilePath; + private FirefoxWebDriverFactoryConf firefoxWebDriverFactoryConf; @Override public String getName() { - return name; + return firefoxWebDriverFactoryConf.name(); } @Override @@ -122,7 +99,7 @@ public WebCommunicationWrapper createWebDriver() throws WorkerException { private FirefoxProfile getFirefoxProfile() { final FirefoxProfile firefoxProfile = FirefoxProfileBuilder.newInstance() .withUnstableAndFastLoadStrategy() - .withLogfilePath(logFilePath) + .withLogfilePath(firefoxWebDriverFactoryConf.logFilePath()) .withFlashSwitchedOff() .withForcedAliasing() .withJavaScriptErrorCollectorPlugin() @@ -131,7 +108,7 @@ private FirefoxProfile getFirefoxProfile() { .withRandomPort() .withUpdateDisabled() .build(); - System.setProperty("webdriver.firefox.logfile", logFilePath); + System.setProperty("webdriver.firefox.logfile", firefoxWebDriverFactoryConf.logFilePath()); System.setProperty("webdriver.load.strategy", "unstable"); return firefoxProfile; } @@ -139,7 +116,7 @@ private FirefoxProfile getFirefoxProfile() { private void setCommonCapabilities(DesiredCapabilities capabilities, FirefoxProfile fp) { capabilities.setCapability(FirefoxDriver.PROFILE, fp); capabilities.setCapability("marionette", false); - capabilities.setCapability("firefox_binary", new File(path).getAbsolutePath()); + capabilities.setCapability("firefox_binary", new File(firefoxWebDriverFactoryConf.path()).getAbsolutePath()); } private WebDriver getFirefoxDriver(DesiredCapabilities capabilities) { @@ -149,11 +126,8 @@ private WebDriver getFirefoxDriver(DesiredCapabilities capabilities) { } @Activate - public void activate(Map properties) { - this.name = PropertiesUtil.toString(properties.get(NAME), DEFAULT_FF_NAME); - this.path = PropertiesUtil.toString(properties.get(PATH), DEFAULT_FIREFOX_BINARY_PATH); - this.logFilePath = PropertiesUtil - .toString(properties.get(LOG_FILE_PATH), DEFAULT_FIREFOX_ERROR_LOG_FILE_PATH); + public void activate(FirefoxWebDriverFactoryConf firefoxWebDriverFactoryConf) { + this.firefoxWebDriverFactoryConf = firefoxWebDriverFactoryConf; } } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConf.java new file mode 100644 index 000000000..e1ddc7eb9 --- /dev/null +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConf.java @@ -0,0 +1,42 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.worker.drivers.firefox.local; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +import static com.cognifide.aet.worker.drivers.WebDriverHelper.LOG_FILE_PATH_LABEL; +import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_LABEL; +import static com.cognifide.aet.worker.drivers.WebDriverHelper.PATH_LABEL; + +@ObjectClassDefinition(name = "AET Firefox WebDriver Factory", description = "AET Firefox WebDriver Factory") +public @interface FirefoxWebDriverFactoryConf { + + String DEFAULT_FF_NAME = "ff"; + + String DEFAULT_FIREFOX_BINARY_PATH = "/usr/bin/firefox"; + + String DEFAULT_FIREFOX_ERROR_LOG_FILE_PATH = "/opt/aet/firefox/log/stderr.log"; + + @AttributeDefinition(name = NAME_LABEL, defaultValue = DEFAULT_FF_NAME) + String name(); + + @AttributeDefinition(name = PATH_LABEL, defaultValue = DEFAULT_FIREFOX_BINARY_PATH) + String path(); + + @AttributeDefinition(name = LOG_FILE_PATH_LABEL, defaultValue = DEFAULT_FIREFOX_ERROR_LOG_FILE_PATH) + String logFilePath(); +} From 65d3fb8a57a109b01bf6a0f218857dbe5738b9f9 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Tue, 7 Aug 2018 09:15:04 +0200 Subject: [PATCH 05/72] update annotations in HttpRequestExecutorFactoryImpl --- .../aet/worker/drivers/HttpRequestExecutorFactoryImpl.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/HttpRequestExecutorFactoryImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/HttpRequestExecutorFactoryImpl.java index 21e3c6898..5abb16860 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/HttpRequestExecutorFactoryImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/HttpRequestExecutorFactoryImpl.java @@ -17,10 +17,8 @@ import com.cognifide.aet.job.api.collector.HttpRequestExecutor; import com.cognifide.aet.job.api.collector.HttpRequestExecutorFactory; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; -@Service @Component public class HttpRequestExecutorFactoryImpl implements HttpRequestExecutorFactory { From 444271f96ccfe29f01f1d130a7e1ec15d6682289 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Tue, 7 Aug 2018 09:16:12 +0200 Subject: [PATCH 06/72] update annotations in WebDriverProvider --- .../aet/worker/drivers/WebDriverProvider.java | 44 ++++++++++--------- .../worker/drivers/WebDriverProviderConf.java | 28 ++++++++++++ 2 files changed, 51 insertions(+), 21 deletions(-) create mode 100644 core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConf.java diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java index 940d16ef4..02efa12fa 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java @@ -23,45 +23,45 @@ import com.google.common.base.Joiner; import com.google.common.collect.Maps; import java.util.Map; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Properties; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.ReferencePolicy; -import org.apache.felix.scr.annotations.Service; + import org.osgi.framework.Constants; +import org.osgi.service.component.annotations.*; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author lukasz.wieczorek */ -@Service(WebDriverProvider.class) -@Component(label = "AET WebDriver Provider", description = "AET WebDriver Provider", immediate = true, metatype = true) -@Properties({@Property(name = Constants.SERVICE_VENDOR, value = "Cognifide Ltd")}) +@Component( + property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"}, + immediate = true +) +@Designate(ocd = WebDriverProviderConf.class) public class WebDriverProvider { private static final Logger LOG = LoggerFactory.getLogger(WebDriverProvider.class); - private static final String DEFAULT_WEB_DRIVER_NAME = "defaultWebDriverName"; - - @Property(name = DEFAULT_WEB_DRIVER_NAME, label = "Default Web Driver name", value = "ff") - private String defaultWebDriverName; + private WebDriverProviderConf webDriverProviderConf; - @Reference(referenceInterface = WebDriverFactory.class, policy = ReferencePolicy.DYNAMIC, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, bind = "bindWebDriverFactory", unbind = "unbindWebDriverFactory") + @Reference( + service = WebDriverFactory.class, + policy = ReferencePolicy.DYNAMIC, + cardinality = ReferenceCardinality.MULTIPLE, + bind = "bindWebDriverFactory", + unbind = "unbindWebDriverFactory") private final Map collectorFactories = Maps.newConcurrentMap(); @Reference private ProxyServerProvider proxyServerProvider; @Activate - void activate(Map properties) { - defaultWebDriverName = properties.get(DEFAULT_WEB_DRIVER_NAME); + void activate(WebDriverProviderConf webDriverProviderConf) { + this.webDriverProviderConf = webDriverProviderConf; } - public WebCommunicationWrapper createWebDriverWithProxy(String preferredWebDriver, String proxyName) + public WebCommunicationWrapper createWebDriverWithProxy(String preferredWebDriver, + String proxyName) throws WorkerException { WebDriverFactory webDriverFactory = findWebDriverFactory(preferredWebDriver); try { @@ -94,11 +94,13 @@ protected void unbindWebDriverFactory(WebDriverFactory webDriverFactory) { */ private WebDriverFactory findWebDriverFactory(String preferredWebDriver) throws WorkerException { final WebDriverFactory webDriverFactory; - String id = preferredWebDriver == null ? defaultWebDriverName : preferredWebDriver; + String id = preferredWebDriver == null ? + webDriverProviderConf.defaultWebDriverName() : preferredWebDriver; webDriverFactory = collectorFactories.get(id); if (webDriverFactory == null) { String webDrivers = Joiner.on(", ").join(collectorFactories.keySet()); - String errorMessage = String.format("Undefined WebDriver: '%s'. Available: %s", id, webDrivers); + String errorMessage = String + .format("Undefined WebDriver: '%s'. Available: %s", id, webDrivers); throw new WorkerException(errorMessage); } return webDriverFactory; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConf.java new file mode 100644 index 000000000..461bb1bfa --- /dev/null +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConf.java @@ -0,0 +1,28 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.worker.drivers; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "AET WebDriver Provider", description = "AET WebDriver Provider") +public @interface WebDriverProviderConf { + + String DEFAULT_WEB_DRIVER_NAME_LABEL = "Default Web Driver name"; + + @AttributeDefinition(name = DEFAULT_WEB_DRIVER_NAME_LABEL, defaultValue = "ff") + String defaultWebDriverName(); +} From e834ee0c8334b3ae5b8cdbd9ffdfc3c9f8ac9f65 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Tue, 7 Aug 2018 09:17:32 +0200 Subject: [PATCH 07/72] update annotations in worker/impl --- .../worker/impl/CollectorDispatcherImpl.java | 8 ++-- .../worker/impl/ComparatorDispatcherImpl.java | 8 ++-- .../aet/worker/impl/JobRegistryImpl.java | 40 +++++++++++++------ 3 files changed, 33 insertions(+), 23 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/impl/CollectorDispatcherImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/impl/CollectorDispatcherImpl.java index 1bad32015..538cf2fb9 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/impl/CollectorDispatcherImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/impl/CollectorDispatcherImpl.java @@ -29,14 +29,12 @@ import com.cognifide.aet.worker.api.JobRegistry; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(immediate = true, label = "AET Collector Dispatcher", description = "Collector Dispatcher") +@Component(immediate = true, name = "AET Collector Dispatcher") public class CollectorDispatcherImpl implements CollectorDispatcher { private static final Logger LOGGER = LoggerFactory.getLogger(CollectorDispatcherImpl.class); diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/impl/ComparatorDispatcherImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/impl/ComparatorDispatcherImpl.java index a6b5b4891..2b50b7198 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/impl/ComparatorDispatcherImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/impl/ComparatorDispatcherImpl.java @@ -35,14 +35,12 @@ import javax.annotation.Nullable; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(label = "AET Comparator Dispatcher", description = "Comparator Dispatcher", immediate = true) +@Component(name = "AET Comparator Dispatcher", immediate = true) public class ComparatorDispatcherImpl implements ComparatorDispatcher { private static final Logger LOGGER = LoggerFactory.getLogger(ComparatorDispatcherImpl.class); diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/impl/JobRegistryImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/impl/JobRegistryImpl.java index 5afe4eba6..58d1a04a9 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/impl/JobRegistryImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/impl/JobRegistryImpl.java @@ -21,31 +21,45 @@ import com.cognifide.aet.worker.api.JobRegistry; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Properties; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.ReferencePolicy; -import org.apache.felix.scr.annotations.Service; import org.osgi.framework.Constants; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(immediate = true, description = "AET JMS Registry", label = "AET Job Registry Implementation") -@Properties({@Property(name = Constants.SERVICE_VENDOR, value = "Cognifide Ltd")}) +@Component( + immediate = true, + name = "AET Job Registry Implementation", + property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"} +) public class JobRegistryImpl implements JobRegistry { private static final Logger LOGGER = LoggerFactory.getLogger(JobRegistryImpl.class); - @Reference(referenceInterface = CollectorFactory.class, policy = ReferencePolicy.DYNAMIC, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, bind = "bindCollectorFactory", unbind = "unbindCollectorFactory") + @Reference( + service = CollectorFactory.class, + policy = ReferencePolicy.DYNAMIC, + cardinality = ReferenceCardinality.MULTIPLE, + bind = "bindCollectorFactory", + unbind = "unbindCollectorFactory") private Map collectorFactories = new ConcurrentHashMap<>(); - @Reference(referenceInterface = ComparatorFactory.class, policy = ReferencePolicy.DYNAMIC, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, bind = "bindComparatorFactory", unbind = "unbindComparatorFactory") + @Reference( + service = ComparatorFactory.class, + policy = ReferencePolicy.DYNAMIC, + cardinality = ReferenceCardinality.MULTIPLE, + bind = "bindComparatorFactory", + unbind = "unbindComparatorFactory") private Map comparatorFactoryMap = new ConcurrentHashMap<>(); - @Reference(referenceInterface = DataFilterFactory.class, policy = ReferencePolicy.DYNAMIC, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, bind = "bindDataModifierFactory", unbind = "unbindDataModifierFactory") + @Reference( + service = DataFilterFactory.class, + policy = ReferencePolicy.DYNAMIC, + cardinality = ReferenceCardinality.MULTIPLE, + bind = "bindDataModifierFactory", + unbind = "unbindDataModifierFactory") private Map dataModifierFactoryMap = new ConcurrentHashMap<>(); private Map defaultComparatorMap = new ConcurrentHashMap<>(); From 0c9794afbb431c7b05689a0f720c8993a7bd52ee Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Tue, 7 Aug 2018 09:51:25 +0200 Subject: [PATCH 08/72] fix missing service parameter --- .../java/com/cognifide/aet/worker/drivers/WebDriverProvider.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java index 02efa12fa..041a8b2cd 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java @@ -34,6 +34,7 @@ * @author lukasz.wieczorek */ @Component( + service = WebDriverProvider.class, property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"}, immediate = true ) From e68f7a602cccaebf0ac5fc37dac6d7abcdf5daef Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 7 Aug 2018 11:12:04 +0200 Subject: [PATCH 09/72] updated osgi annotations in runner --- core/runner/pom.xml | 12 +++ .../cognifide/aet/runner/MessagesManager.java | 29 +++--- .../aet/runner/RunnerConfiguration.java | 96 ++++--------------- .../aet/runner/RunnerMessageListener.java | 19 ++-- .../aet/runner/SuiteExecutorService.java | 23 +++-- .../configuration/MessagesManagerConf.java | 31 ++++++ .../RunnerConfigurationConf.java | 74 ++++++++++++++ .../RunnerMessageListenerConf.java | 23 +++++ .../SuiteExecutorServiceConf.java | 23 +++++ .../processing/SuiteExecutionFactory.java | 19 +++- .../SuiteExecutionFactoryConf.java | 23 +++++ .../processing/data/SuiteDataService.java | 19 +++- .../configuration/SuiteDataServiceConf.java | 23 +++++ .../CollectorJobSchedulerService.java | 23 +++-- .../CollectorJobSchedulerServiceConf.java | 23 +++++ .../aet/runner/MessagesManagerTest.java | 23 ++--- pom.xml | 18 ++++ 17 files changed, 355 insertions(+), 146 deletions(-) create mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/configuration/MessagesManagerConf.java create mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerConfigurationConf.java create mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerMessageListenerConf.java create mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/configuration/SuiteExecutorServiceConf.java create mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/processing/configuration/SuiteExecutionFactoryConf.java create mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/processing/data/configuration/SuiteDataServiceConf.java create mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/scheduler/configuration/CollectorJobSchedulerServiceConf.java diff --git a/core/runner/pom.xml b/core/runner/pom.xml index 7efa8cc83..d50fa7634 100644 --- a/core/runner/pom.xml +++ b/core/runner/pom.xml @@ -80,6 +80,18 @@ org.apache.sling org.apache.sling.commons.osgi + + + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java b/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java index 7bf49b9c8..4450591f5 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java @@ -16,9 +16,9 @@ package com.cognifide.aet.runner; import com.cognifide.aet.communication.api.exceptions.AETException; +import com.cognifide.aet.runner.configuration.MessagesManagerConf; import java.io.IOException; import java.util.HashSet; -import java.util.Map; import java.util.Set; import javax.management.MBeanServerConnection; import javax.management.ObjectName; @@ -26,22 +26,16 @@ import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Service; -import org.apache.sling.commons.osgi.PropertiesUtil; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(MessagesManager.class) -@Component(immediate = true, metatype = true, description = "AET Messages Manager", label = "AET Messages Manager") +@Component(service = MessagesManager.class, immediate = true, name = "AET Messages Manager") +@Designate(ocd = MessagesManagerConf.class) public class MessagesManager { - private static final String JMX_URL_PROPERTY_NAME = "jxm-url"; - - private static final String DEFAULT_JMX_URL = "service:jmx:rmi:///jndi/rmi://localhost:11199/jmxrmi"; - private static final String REMOVE_OPERATION_NAME = "removeMatchingMessages"; private static final String JMS_CORRELATION_ID = "JMSCorrelationID"; @@ -58,12 +52,11 @@ public class MessagesManager { static final String DESTINATION_NAME_PROPERTY = "destinationName"; - @Property(name = JMX_URL_PROPERTY_NAME, label = "ActiveMQ JMX endpoint URL", description = "ActiveMQ JMX endpoint URL", value = DEFAULT_JMX_URL) - private String jmxUrl; + private MessagesManagerConf config; @Activate - public void activate(Map properties) { - jmxUrl = PropertiesUtil.toString(properties.get(JMX_URL_PROPERTY_NAME), DEFAULT_JMX_URL); + public void activate(MessagesManagerConf config) { + this.config = config; } /** @@ -76,7 +69,7 @@ public void remove(String correlationID) throws AETException { Object[] removeSelector = {JMS_CORRELATION_ID + "='" + correlationID + "'"}; String[] signature = {STRING_SIGNATURE}; - try (JMXConnector jmxc = getJmxConnection(jmxUrl)) { + try (JMXConnector jmxc = getJmxConnection(config.jmxUrl())) { MBeanServerConnection connection = jmxc.getMBeanServerConnection(); for (ObjectName queue : getAetQueuesObjects(connection)) { String queueName = queue.getKeyProperty(DESTINATION_NAME_PROPERTY); @@ -98,7 +91,7 @@ public static String createFullQueueName(String name) { } protected String getJmxUrl() { - return jmxUrl; + return config.jmxUrl(); } protected Set getAetQueuesObjects(MBeanServerConnection connection) diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/RunnerConfiguration.java b/core/runner/src/main/java/com/cognifide/aet/runner/RunnerConfiguration.java index baaf6487a..4c3b0f128 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/RunnerConfiguration.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/RunnerConfiguration.java @@ -15,13 +15,11 @@ */ package com.cognifide.aet.runner; -import java.util.Map; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.ConfigurationPolicy; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Service; -import org.apache.sling.commons.osgi.PropertiesUtil; +import com.cognifide.aet.runner.configuration.RunnerConfigurationConf; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.ConfigurationPolicy; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,88 +27,30 @@ * Runner is an entry point for whole application, it main goal is to coordinate JMS communication * between workers. This class contains all necessary configuration for the runner bundle. */ -@Service(RunnerConfiguration.class) -@Component(metatype = true, description = "AET Runner Configuration", label = "AET Runner Configuration", policy = ConfigurationPolicy.REQUIRE) +@Component(service = RunnerConfiguration.class, configurationPolicy = ConfigurationPolicy.REQUIRE) +@Designate(ocd = RunnerConfigurationConf.class) public class RunnerConfiguration { private static final Logger LOGGER = LoggerFactory.getLogger(RunnerConfiguration.class); - private static final int DEFAULT_TASK_RUN_FAILURE_TIMEOUT_SECONDS = 120; - - private static final String PARAM_FAILURE_TIMEOUT = "ft"; - - private static final String PARAM_MESSAGE_TTL = "mttl"; - - private static final String PARAM_URL_PACKAGE_SIZE = "urlPackageSize"; - - private static final String PARAM_MAX_MESSAGES_IN_COLLECTOR_QUEUE = "maxMessagesInCollectorQueue"; - - private static final String PARAM_MAX_CONCURRENT_SUITES_PROCESSED_COUNT = "maxConcurrentSuitesCount"; - - private static final int DEFAULT_MAX_CONCURRENT_SUITES_PROCESSED_COUNT = 5; - - @Property(name = PARAM_FAILURE_TIMEOUT, label = "Failure timeout", description = - "Time in seconds, after which suite processing will be interrupted if no notification was received in duration of this parameter. Default: " - + DEFAULT_TASK_RUN_FAILURE_TIMEOUT_SECONDS - + " sec", longValue = DEFAULT_TASK_RUN_FAILURE_TIMEOUT_SECONDS) - private long ft = DEFAULT_TASK_RUN_FAILURE_TIMEOUT_SECONDS; - - private static final int DEFAULT_MESSAGE_TIME_TO_LIVE_SECONDS = 300; - - @Property(name = PARAM_MESSAGE_TTL, label = "Message ttl", description = - "Time in seconds after which messages will be thrown out of queues, default: " - + DEFAULT_MESSAGE_TIME_TO_LIVE_SECONDS - + " sec", longValue = DEFAULT_MESSAGE_TIME_TO_LIVE_SECONDS) - private long mttl = DEFAULT_MESSAGE_TIME_TO_LIVE_SECONDS; - - private static final int DEFAULT_URL_PACKAGE_SIZE = 5; - - @Property(name = PARAM_URL_PACKAGE_SIZE, label = "URL Package Size", description = - "Defines how many links are being sent in one message. Each message is being processed by single CollectorListener. Default: " - + DEFAULT_URL_PACKAGE_SIZE + " items", intValue = DEFAULT_URL_PACKAGE_SIZE) - private int urlPackageSize = DEFAULT_URL_PACKAGE_SIZE; - - private static final int DEFAULT_MAX_MESSAGES_IN_COLLECTOR_QUEUE = 20; - - @Property(name = PARAM_MAX_MESSAGES_IN_COLLECTOR_QUEUE, label = "Max Messages in Collector Queue", description = - "Defines the maximum amount of messages in the collector queue. Default: " - + DEFAULT_MAX_MESSAGES_IN_COLLECTOR_QUEUE - + " messages", intValue = DEFAULT_MAX_MESSAGES_IN_COLLECTOR_QUEUE) - private int maxMessagesInCollectorQueue = DEFAULT_MAX_MESSAGES_IN_COLLECTOR_QUEUE; - - @Property(name = PARAM_MAX_CONCURRENT_SUITES_PROCESSED_COUNT, label = "Max Concurrent Suites Count", description = - "Defines the maximum number of suites processed concurrently byt the Runner. Default: " - + DEFAULT_MAX_CONCURRENT_SUITES_PROCESSED_COUNT - + " messages", intValue = DEFAULT_MAX_CONCURRENT_SUITES_PROCESSED_COUNT) - private int maxConcurrentSuitesCount = DEFAULT_MAX_CONCURRENT_SUITES_PROCESSED_COUNT; + private static RunnerConfigurationConf config; @Activate - public void activate(Map properties) { - ft = PropertiesUtil.toLong(properties.get(PARAM_FAILURE_TIMEOUT), - DEFAULT_TASK_RUN_FAILURE_TIMEOUT_SECONDS); - mttl = PropertiesUtil - .toLong(properties.get(PARAM_MESSAGE_TTL), DEFAULT_MESSAGE_TIME_TO_LIVE_SECONDS) * 1000; - urlPackageSize = PropertiesUtil.toInteger(properties.get(PARAM_URL_PACKAGE_SIZE), - DEFAULT_URL_PACKAGE_SIZE); - maxMessagesInCollectorQueue = PropertiesUtil.toInteger( - properties.get(PARAM_MAX_MESSAGES_IN_COLLECTOR_QUEUE), - DEFAULT_MAX_MESSAGES_IN_COLLECTOR_QUEUE); - maxConcurrentSuitesCount = PropertiesUtil.toInteger( - properties.get(PARAM_MAX_CONCURRENT_SUITES_PROCESSED_COUNT), - DEFAULT_MAX_CONCURRENT_SUITES_PROCESSED_COUNT); - + public void activate(RunnerConfigurationConf config) { + this.config = config; LOGGER.info( "Runner configured with parameters: [ft: {} sec ; mttl: {} ; urlPackageSize: {} ; maxMessagesInCollectorQueue: {}; maxConcurrentSuitesCount: {}.]", - ft, mttl, urlPackageSize, maxMessagesInCollectorQueue, maxConcurrentSuitesCount); - } + config.ft(), config.mttl(), config.urlPackageSize(), config.maxMessagesInCollectorQueue(), + config.maxConcurrentSuitesCount()); + } /** * @return time in seconds, test run will be interrupted if no response was received in duration * of this parameter. */ public long getFt() { - return ft; + return config.ft(); } @@ -118,7 +58,7 @@ public long getFt() { * @return time in seconds after which messages will be thrown out of queues. */ public long getMttl() { - return mttl; + return config.mttl(); } @@ -126,7 +66,7 @@ public long getMttl() { * @return the maximum amount of messages in the collector queue. */ public int getMaxMessagesInCollectorQueue() { - return maxMessagesInCollectorQueue; + return config.maxMessagesInCollectorQueue(); } /** @@ -134,13 +74,13 @@ public int getMaxMessagesInCollectorQueue() { * CollectorListener. */ public int getUrlPackageSize() { - return urlPackageSize; + return config.urlPackageSize(); } /** * @return how many suites can be processed concurrently byt the Runner. */ public int getMaxConcurrentSuitesCount() { - return maxConcurrentSuitesCount; + return config.maxConcurrentSuitesCount(); } } diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java b/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java index b3f5af50f..569297d89 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java @@ -21,6 +21,7 @@ import com.cognifide.aet.communication.api.metadata.Suite; import com.cognifide.aet.communication.api.queues.JmsConnection; import com.cognifide.aet.queues.JmsUtils; +import com.cognifide.aet.runner.configuration.RunnerMessageListenerConf; import com.cognifide.aet.runner.scheduler.CollectorJobSchedulerService; import java.util.Map; import javax.jms.Destination; @@ -30,17 +31,19 @@ import javax.jms.MessageListener; import javax.jms.MessageProducer; import javax.jms.Session; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Listens to incoming runner queue messages. When message received, schedules suite processing. */ -@Component(immediate = true, description = "Runner Messages Listener", label = "Runner Messages Listener") +@Component(immediate = true, name = "Runner Messages Listener") +@Designate(ocd = RunnerMessageListenerConf.class) public class RunnerMessageListener implements MessageListener { private static final Logger LOGGER = LoggerFactory.getLogger(RunnerMessageListener.class); @@ -57,6 +60,8 @@ public class RunnerMessageListener implements MessageListener { private Session session; + private RunnerMessageListenerConf config; + @Reference private JmsConnection jmsConnection; @@ -69,9 +74,9 @@ public class RunnerMessageListener implements MessageListener { @Reference private CollectorJobSchedulerService collectorJobSchedulerService; - @Activate - public void activate(Map properties) { + public void activate(RunnerMessageListenerConf config) { + this.config = config; LOGGER.debug("Activating RunnerMessageListener"); try { diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java b/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java index 30c0e8cea..93fea9729 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java @@ -16,6 +16,7 @@ package com.cognifide.aet.runner; import com.cognifide.aet.communication.api.metadata.Suite; +import com.cognifide.aet.runner.configuration.SuiteExecutorServiceConf; import com.cognifide.aet.runner.processing.SuiteExecutionFactory; import com.cognifide.aet.runner.processing.SuiteExecutionTask; import com.cognifide.aet.runner.processing.data.SuiteDataService; @@ -30,24 +31,29 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import javax.jms.Destination; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(SuiteExecutorService.class) -@Component(immediate = true, description = "Runner Suite Executor Service", label = "Runner Suite Executor Service") + +@Component(service = SuiteExecutorService.class, immediate = true, name = "Runner Suite Executor Service") +@Designate(ocd = SuiteExecutorServiceConf.class) public class SuiteExecutorService { private static final Logger LOGGER = LoggerFactory.getLogger(SuiteExecutorService.class); private ListeningExecutorService executor; + private ExecutorService callbackExecutor; + private Set scheduledSuites; + private SuiteExecutorServiceConf config; + @Reference private RunnerConfiguration runnerConfiguration; @@ -58,7 +64,8 @@ public class SuiteExecutorService { private SuiteExecutionFactory suiteExecutionFactory; @Activate - public void activate(Map properties) { + public void activate(SuiteExecutorServiceConf config) { + this.config = config; LOGGER.debug("Activating SuiteExecutorService"); executor = MoreExecutors.listeningDecorator( Executors.newFixedThreadPool(runnerConfiguration.getMaxConcurrentSuitesCount())); diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/MessagesManagerConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/MessagesManagerConf.java new file mode 100644 index 000000000..f85322bec --- /dev/null +++ b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/MessagesManagerConf.java @@ -0,0 +1,31 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.configuration; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.AttributeType; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "Messages Manager configuration", description = "Service configuration") +public @interface MessagesManagerConf { + + String DEFAULT_JMX_URL = "service:jmx:rmi:///jndi/rmi://localhost:11199/jmxrmi"; + + @AttributeDefinition(name = "JMX_URL_PROPERTY_NAME", description = "ActiveMQ JMX endpoint URL", + type = AttributeType.STRING) + String jmxUrl() default DEFAULT_JMX_URL; + +} diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerConfigurationConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerConfigurationConf.java new file mode 100644 index 000000000..4ee1b8d6d --- /dev/null +++ b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerConfigurationConf.java @@ -0,0 +1,74 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.configuration; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.AttributeType; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "AET Runner configuration", description = "AET Runner configuration") +public @interface RunnerConfigurationConf { + + int DEFAULT_TASK_RUN_FAILURE_TIMEOUT_SECONDS = 120; + + String PARAM_FAILURE_TIMEOUT = "ft"; + + String PARAM_MESSAGE_TTL = "mttl"; + + String PARAM_URL_PACKAGE_SIZE = "urlPackageSize"; + + String PARAM_MAX_MESSAGES_IN_COLLECTOR_QUEUE = "maxMessagesInCollectorQueue"; + + String PARAM_MAX_CONCURRENT_SUITES_PROCESSED_COUNT = "maxConcurrentSuitesCount"; + + int DEFAULT_MAX_CONCURRENT_SUITES_PROCESSED_COUNT = 5; + + int DEFAULT_MESSAGE_TIME_TO_LIVE_SECONDS = 300; + + int DEFAULT_URL_PACKAGE_SIZE = 5; + + int DEFAULT_MAX_MESSAGES_IN_COLLECTOR_QUEUE = 20; + + @AttributeDefinition(name = PARAM_FAILURE_TIMEOUT, description = + "Time in seconds, after which suite processing will be interrupted if no notification was received in duration of this parameter. Default: " + + DEFAULT_TASK_RUN_FAILURE_TIMEOUT_SECONDS + " sec", type = AttributeType.LONG) + long ft() default DEFAULT_TASK_RUN_FAILURE_TIMEOUT_SECONDS; + + @AttributeDefinition(name = PARAM_MESSAGE_TTL, description = + "Time in seconds after which messages will be thrown out of queues, default: " + + DEFAULT_MESSAGE_TIME_TO_LIVE_SECONDS + + " sec", type = AttributeType.LONG) + long mttl() default DEFAULT_MESSAGE_TIME_TO_LIVE_SECONDS; + + + @AttributeDefinition(name = PARAM_URL_PACKAGE_SIZE, description = + "Defines how many links are being sent in one message. Each message is being processed by single CollectorListener. Default: " + + DEFAULT_URL_PACKAGE_SIZE + " items", type = AttributeType.INTEGER) + int urlPackageSize() default DEFAULT_URL_PACKAGE_SIZE; + + @AttributeDefinition(name = PARAM_MAX_MESSAGES_IN_COLLECTOR_QUEUE, description = + "Defines the maximum amount of messages in the collector queue. Default: " + + DEFAULT_MAX_MESSAGES_IN_COLLECTOR_QUEUE + + " messages", type = AttributeType.INTEGER) + int maxMessagesInCollectorQueue() default DEFAULT_MAX_MESSAGES_IN_COLLECTOR_QUEUE; + + @AttributeDefinition(name = PARAM_MAX_CONCURRENT_SUITES_PROCESSED_COUNT, description = + "Defines the maximum number of suites processed concurrently byt the Runner. Default: " + + DEFAULT_MAX_CONCURRENT_SUITES_PROCESSED_COUNT + + " messages", type = AttributeType.INTEGER) + int maxConcurrentSuitesCount() default DEFAULT_MAX_CONCURRENT_SUITES_PROCESSED_COUNT; + +} diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerMessageListenerConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerMessageListenerConf.java new file mode 100644 index 000000000..125ff027c --- /dev/null +++ b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerMessageListenerConf.java @@ -0,0 +1,23 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.configuration; + +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "Runner Messages Listener", description = "Runner Messages Listener") +public @interface RunnerMessageListenerConf { + +} diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/SuiteExecutorServiceConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/SuiteExecutorServiceConf.java new file mode 100644 index 000000000..7d68da178 --- /dev/null +++ b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/SuiteExecutorServiceConf.java @@ -0,0 +1,23 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.configuration; + +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "Runner Suite Executor Service", description = "Runner Suite Executor Service") +public @interface SuiteExecutorServiceConf { + +} diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java index 40f9e6ce3..d6a28a8bd 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java @@ -18,6 +18,7 @@ import com.cognifide.aet.communication.api.queues.JmsConnection; import com.cognifide.aet.runner.MessagesManager; import com.cognifide.aet.runner.RunnerConfiguration; +import com.cognifide.aet.runner.processing.configuration.SuiteExecutionFactoryConf; import com.cognifide.aet.runner.processing.data.SuiteIndexWrapper; import com.cognifide.aet.runner.processing.steps.CollectDispatcher; import com.cognifide.aet.runner.processing.steps.CollectionResultsRouter; @@ -25,14 +26,17 @@ import com.cognifide.aet.runner.scheduler.CollectorJobSchedulerService; import javax.jms.Destination; import javax.jms.JMSException; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; -@Service(SuiteExecutionFactory.class) -@Component(description = "Suite Execution Factory", label = "Suite Execution Factory") +@Component(service = SuiteExecutionFactory.class, name = "Suite Execution Factory") +@Designate(ocd = SuiteExecutionFactoryConf.class) public class SuiteExecutionFactory { + private SuiteExecutionFactoryConf config; + @Reference private RunnerConfiguration runnerConfiguration; @@ -45,6 +49,11 @@ public class SuiteExecutionFactory { @Reference private JmsConnection jmsConnection; + @Activate + public void activate(SuiteExecutionFactoryConf config){ + this.config = config; + } + CollectDispatcher newCollectDispatcher(TimeoutWatch timeoutWatch, SuiteIndexWrapper suite) throws JMSException { diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/configuration/SuiteExecutionFactoryConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/configuration/SuiteExecutionFactoryConf.java new file mode 100644 index 000000000..2566ec569 --- /dev/null +++ b/core/runner/src/main/java/com/cognifide/aet/runner/processing/configuration/SuiteExecutionFactoryConf.java @@ -0,0 +1,23 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.processing.configuration; + +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "Suite Execution Factory", description = "Suite Execution Factory") +public @interface SuiteExecutionFactoryConf { + +} diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java index c48274fff..26b5d7e31 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java @@ -17,20 +17,29 @@ import com.cognifide.aet.communication.api.metadata.Suite; import com.cognifide.aet.communication.api.metadata.ValidatorException; +import com.cognifide.aet.runner.processing.data.configuration.SuiteDataServiceConf; import com.cognifide.aet.vs.MetadataDAO; import com.cognifide.aet.vs.SimpleDBKey; import com.cognifide.aet.vs.StorageException; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; -@Service(SuiteDataService.class) -@Component(label = "Internal Runner service for Suite data operations") +@Component(service = SuiteDataService.class, name = "Internal Runner service for Suite data operations") +@Designate(ocd = SuiteDataServiceConf.class) public class SuiteDataService { + private SuiteDataServiceConf config; + @Reference private MetadataDAO metadataDAO; + @Activate + public void activate(SuiteDataServiceConf config){ + this.config = config; + } + /** * @param currentRun - current suite run * @return suite wrapper with all patterns from the last or specified (see diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/configuration/SuiteDataServiceConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/configuration/SuiteDataServiceConf.java new file mode 100644 index 000000000..5caea4983 --- /dev/null +++ b/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/configuration/SuiteDataServiceConf.java @@ -0,0 +1,23 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.processing.data.configuration; + +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "Internal Runner service for Suite data operations", description = "Internal Runner service for Suite data operations") +public @interface SuiteDataServiceConf { + +} diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/CollectorJobSchedulerService.java b/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/CollectorJobSchedulerService.java index 22e8f6104..26c803322 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/CollectorJobSchedulerService.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/CollectorJobSchedulerService.java @@ -18,37 +18,44 @@ import com.cognifide.aet.communication.api.queues.JmsConnection; import com.cognifide.aet.runner.MessagesManager; import com.cognifide.aet.runner.RunnerConfiguration; +import com.cognifide.aet.runner.scheduler.configuration.CollectorJobSchedulerServiceConf; import java.util.Map; import java.util.Queue; import java.util.concurrent.Executors; import java.util.concurrent.Future; import javax.jms.JMSException; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(CollectorJobSchedulerService.class) -@Component(description = "Collector Job Scheduler Service", label = "Collector Job Scheduler Service") +@Component(service = CollectorJobSchedulerService.class, name = "Collector Job Scheduler Service") +@Designate(ocd = CollectorJobSchedulerServiceConf.class) public class CollectorJobSchedulerService { private static final Logger LOGGER = LoggerFactory.getLogger(CollectorJobSchedulerService.class); + private CollectorJobSchedulerServiceConf config; + @Reference private JmsConnection jmsConnection; + @Reference private MessagesManager messagesManager; + @Reference private RunnerConfiguration runnerConfiguration; private CollectorJobScheduler collectorJobScheduler; + private Future collectorJobSchedulerFeature; @Activate - public void activate(Map properties) throws JMSException { + public void activate(CollectorJobSchedulerServiceConf config) throws JMSException { + this.config = config; LOGGER.debug("Activating CollectorJobSchedulerService"); collectorJobScheduler = new CollectorJobScheduler(jmsConnection, runnerConfiguration.getMaxMessagesInCollectorQueue(), messagesManager); diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/configuration/CollectorJobSchedulerServiceConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/configuration/CollectorJobSchedulerServiceConf.java new file mode 100644 index 000000000..475f3d866 --- /dev/null +++ b/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/configuration/CollectorJobSchedulerServiceConf.java @@ -0,0 +1,23 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.scheduler.configuration; + +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "Collector Job Scheduler Service", description = "Collector Job Scheduler Service") +public @interface CollectorJobSchedulerServiceConf { + +} diff --git a/core/runner/src/test/java/com/cognifide/aet/runner/MessagesManagerTest.java b/core/runner/src/test/java/com/cognifide/aet/runner/MessagesManagerTest.java index 280c0d079..5f40adbdb 100644 --- a/core/runner/src/test/java/com/cognifide/aet/runner/MessagesManagerTest.java +++ b/core/runner/src/test/java/com/cognifide/aet/runner/MessagesManagerTest.java @@ -24,19 +24,23 @@ import static org.mockito.Mockito.when; import com.cognifide.aet.communication.api.exceptions.AETException; -import java.util.Collections; +import com.cognifide.aet.runner.configuration.MessagesManagerConf; import javax.management.MBeanServerConnection; import javax.management.ObjectName; import javax.management.remote.JMXConnector; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Matchers; +import org.mockito.Mock; import org.mockito.Mockito; import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) public class MessagesManagerTest { + @Mock + private MessagesManagerConf config; + @Test(expected = IllegalArgumentException.class) public void createFullQueueName_whenNameIsNull_expectException() throws Exception { MessagesManager.createFullQueueName(null); @@ -53,21 +57,6 @@ public void createFullQueueName_expectFullName() throws Exception { assertThat(fullQueueName, is("AET.test")); } - @Test - public void activate_whenUrlNotSet_expectDefaultJmxUrlSetup() throws Exception { - MessagesManager messagesManager = new MessagesManager(); - messagesManager.activate(Collections.emptyMap()); - assertThat(messagesManager.getJmxUrl(), - is("service:jmx:rmi:///jndi/rmi://localhost:11199/jmxrmi")); - } - - @Test - public void activate_whenUrlSet_expectProvidedJmxUrlSetup() throws Exception { - MessagesManager messagesManager = new MessagesManager(); - messagesManager.activate(Collections.singletonMap("jxm-url", "localhost:111999")); - assertThat(messagesManager.getJmxUrl(), is("localhost:111999")); - } - @Test public void remove_ExpectRemovingInvoked() throws Exception { MessagesManager messagesManager = new MessagesManager(); @@ -90,7 +79,7 @@ public void remove_ExpectRemovingInvoked() throws Exception { org.mockito.Matchers.any(), org.mockito.Matchers.any())) .thenReturn(10); - messagesManager.activate(Collections.emptyMap()); + messagesManager.activate(config); messagesManager.remove("correlation-company-correlation-12345"); verify(mockedConnection, times(1)).invoke(objectName, "removeMatchingMessages", diff --git a/pom.xml b/pom.xml index 0d78e339e..a6b444ef3 100644 --- a/pom.xml +++ b/pom.xml @@ -442,6 +442,24 @@ ${project.version} provided + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + compile + + + org.osgi + org.osgi.annotation + 6.0.0 + compile + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + compile + From 55b8f0220cf8cb7fdb24ae739eb65ef724540d86 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 7 Aug 2018 12:00:51 +0200 Subject: [PATCH 10/72] removed unused interfaces --- .../aet/runner/RunnerMessageListener.java | 10 +------- .../aet/runner/SuiteExecutorService.java | 9 +------- .../RunnerMessageListenerConf.java | 23 ------------------- .../SuiteExecutorServiceConf.java | 23 ------------------- .../processing/SuiteExecutionFactory.java | 11 --------- .../SuiteExecutionFactoryConf.java | 23 ------------------- .../processing/data/SuiteDataService.java | 11 --------- .../configuration/SuiteDataServiceConf.java | 23 ------------------- 8 files changed, 2 insertions(+), 131 deletions(-) delete mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerMessageListenerConf.java delete mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/configuration/SuiteExecutorServiceConf.java delete mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/processing/configuration/SuiteExecutionFactoryConf.java delete mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/processing/data/configuration/SuiteDataServiceConf.java diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java b/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java index 569297d89..8a9318620 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java @@ -21,9 +21,7 @@ import com.cognifide.aet.communication.api.metadata.Suite; import com.cognifide.aet.communication.api.queues.JmsConnection; import com.cognifide.aet.queues.JmsUtils; -import com.cognifide.aet.runner.configuration.RunnerMessageListenerConf; import com.cognifide.aet.runner.scheduler.CollectorJobSchedulerService; -import java.util.Map; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.Message; @@ -35,7 +33,6 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Reference; -import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,7 +40,6 @@ * Listens to incoming runner queue messages. When message received, schedules suite processing. */ @Component(immediate = true, name = "Runner Messages Listener") -@Designate(ocd = RunnerMessageListenerConf.class) public class RunnerMessageListener implements MessageListener { private static final Logger LOGGER = LoggerFactory.getLogger(RunnerMessageListener.class); @@ -60,8 +56,6 @@ public class RunnerMessageListener implements MessageListener { private Session session; - private RunnerMessageListenerConf config; - @Reference private JmsConnection jmsConnection; @@ -75,9 +69,7 @@ public class RunnerMessageListener implements MessageListener { private CollectorJobSchedulerService collectorJobSchedulerService; @Activate - public void activate(RunnerMessageListenerConf config) { - this.config = config; - + public void activate() { LOGGER.debug("Activating RunnerMessageListener"); try { session = jmsConnection.getJmsSession(); diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java b/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java index 93fea9729..24f454859 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java @@ -16,7 +16,6 @@ package com.cognifide.aet.runner; import com.cognifide.aet.communication.api.metadata.Suite; -import com.cognifide.aet.runner.configuration.SuiteExecutorServiceConf; import com.cognifide.aet.runner.processing.SuiteExecutionFactory; import com.cognifide.aet.runner.processing.SuiteExecutionTask; import com.cognifide.aet.runner.processing.data.SuiteDataService; @@ -26,7 +25,6 @@ import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; -import java.util.Map; import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -35,13 +33,11 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Reference; -import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Component(service = SuiteExecutorService.class, immediate = true, name = "Runner Suite Executor Service") -@Designate(ocd = SuiteExecutorServiceConf.class) public class SuiteExecutorService { private static final Logger LOGGER = LoggerFactory.getLogger(SuiteExecutorService.class); @@ -52,8 +48,6 @@ public class SuiteExecutorService { private Set scheduledSuites; - private SuiteExecutorServiceConf config; - @Reference private RunnerConfiguration runnerConfiguration; @@ -64,8 +58,7 @@ public class SuiteExecutorService { private SuiteExecutionFactory suiteExecutionFactory; @Activate - public void activate(SuiteExecutorServiceConf config) { - this.config = config; + public void activate() { LOGGER.debug("Activating SuiteExecutorService"); executor = MoreExecutors.listeningDecorator( Executors.newFixedThreadPool(runnerConfiguration.getMaxConcurrentSuitesCount())); diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerMessageListenerConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerMessageListenerConf.java deleted file mode 100644 index 125ff027c..000000000 --- a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerMessageListenerConf.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * AET - * - * Copyright (C) 2013 Cognifide Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.configuration; - -import org.osgi.service.metatype.annotations.ObjectClassDefinition; - -@ObjectClassDefinition(name = "Runner Messages Listener", description = "Runner Messages Listener") -public @interface RunnerMessageListenerConf { - -} diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/SuiteExecutorServiceConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/SuiteExecutorServiceConf.java deleted file mode 100644 index 7d68da178..000000000 --- a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/SuiteExecutorServiceConf.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * AET - * - * Copyright (C) 2013 Cognifide Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.configuration; - -import org.osgi.service.metatype.annotations.ObjectClassDefinition; - -@ObjectClassDefinition(name = "Runner Suite Executor Service", description = "Runner Suite Executor Service") -public @interface SuiteExecutorServiceConf { - -} diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java index d6a28a8bd..f0e5bf5bc 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java @@ -18,7 +18,6 @@ import com.cognifide.aet.communication.api.queues.JmsConnection; import com.cognifide.aet.runner.MessagesManager; import com.cognifide.aet.runner.RunnerConfiguration; -import com.cognifide.aet.runner.processing.configuration.SuiteExecutionFactoryConf; import com.cognifide.aet.runner.processing.data.SuiteIndexWrapper; import com.cognifide.aet.runner.processing.steps.CollectDispatcher; import com.cognifide.aet.runner.processing.steps.CollectionResultsRouter; @@ -26,17 +25,12 @@ import com.cognifide.aet.runner.scheduler.CollectorJobSchedulerService; import javax.jms.Destination; import javax.jms.JMSException; -import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import org.osgi.service.metatype.annotations.Designate; @Component(service = SuiteExecutionFactory.class, name = "Suite Execution Factory") -@Designate(ocd = SuiteExecutionFactoryConf.class) public class SuiteExecutionFactory { - private SuiteExecutionFactoryConf config; - @Reference private RunnerConfiguration runnerConfiguration; @@ -49,11 +43,6 @@ public class SuiteExecutionFactory { @Reference private JmsConnection jmsConnection; - @Activate - public void activate(SuiteExecutionFactoryConf config){ - this.config = config; - } - CollectDispatcher newCollectDispatcher(TimeoutWatch timeoutWatch, SuiteIndexWrapper suite) throws JMSException { diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/configuration/SuiteExecutionFactoryConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/configuration/SuiteExecutionFactoryConf.java deleted file mode 100644 index 2566ec569..000000000 --- a/core/runner/src/main/java/com/cognifide/aet/runner/processing/configuration/SuiteExecutionFactoryConf.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * AET - * - * Copyright (C) 2013 Cognifide Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.processing.configuration; - -import org.osgi.service.metatype.annotations.ObjectClassDefinition; - -@ObjectClassDefinition(name = "Suite Execution Factory", description = "Suite Execution Factory") -public @interface SuiteExecutionFactoryConf { - -} diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java index 26b5d7e31..48c24a398 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java @@ -17,29 +17,18 @@ import com.cognifide.aet.communication.api.metadata.Suite; import com.cognifide.aet.communication.api.metadata.ValidatorException; -import com.cognifide.aet.runner.processing.data.configuration.SuiteDataServiceConf; import com.cognifide.aet.vs.MetadataDAO; import com.cognifide.aet.vs.SimpleDBKey; import com.cognifide.aet.vs.StorageException; -import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import org.osgi.service.metatype.annotations.Designate; @Component(service = SuiteDataService.class, name = "Internal Runner service for Suite data operations") -@Designate(ocd = SuiteDataServiceConf.class) public class SuiteDataService { - private SuiteDataServiceConf config; - @Reference private MetadataDAO metadataDAO; - @Activate - public void activate(SuiteDataServiceConf config){ - this.config = config; - } - /** * @param currentRun - current suite run * @return suite wrapper with all patterns from the last or specified (see diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/configuration/SuiteDataServiceConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/configuration/SuiteDataServiceConf.java deleted file mode 100644 index 5caea4983..000000000 --- a/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/configuration/SuiteDataServiceConf.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * AET - * - * Copyright (C) 2013 Cognifide Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.processing.data.configuration; - -import org.osgi.service.metatype.annotations.ObjectClassDefinition; - -@ObjectClassDefinition(name = "Internal Runner service for Suite data operations", description = "Internal Runner service for Suite data operations") -public @interface SuiteDataServiceConf { - -} From e0159f292659045df27fe830d994a4421994d7d8 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 7 Aug 2018 12:14:16 +0200 Subject: [PATCH 11/72] removed unused function --- .../main/java/com/cognifide/aet/runner/MessagesManager.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java b/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java index 4450591f5..ac95bb3c2 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java @@ -90,10 +90,6 @@ public static String createFullQueueName(String name) { return AET_QUEUE_DOMAIN + name; } - protected String getJmxUrl() { - return config.jmxUrl(); - } - protected Set getAetQueuesObjects(MBeanServerConnection connection) throws AETException { ObjectName[] queues; From 0c7164de6cea8cac32baa5e507f4fe197772439f Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 7 Aug 2018 12:27:56 +0200 Subject: [PATCH 12/72] change scopes in pom --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index a6b444ef3..ab7d4e87f 100644 --- a/pom.xml +++ b/pom.xml @@ -446,19 +446,19 @@ org.osgi org.osgi.service.component.annotations 1.3.0 - compile + provided org.osgi org.osgi.annotation 6.0.0 - compile + provided org.osgi org.osgi.service.metatype.annotations 1.3.0 - compile + provided From dcd7d626c8d5992747e363b0086884eddc46701e Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 7 Aug 2018 14:42:33 +0200 Subject: [PATCH 13/72] removed names --- .../cognifide/aet/runner/MessagesManager.java | 2 +- .../aet/runner/RunnerMessageListener.java | 2 +- .../aet/runner/SuiteExecutorService.java | 2 +- .../configuration/MessagesManagerConf.java | 2 +- .../processing/SuiteExecutionFactory.java | 2 +- .../processing/data/SuiteDataService.java | 2 +- .../CollectorJobSchedulerService.java | 11 ++------- .../CollectorJobSchedulerServiceConf.java | 23 ------------------- 8 files changed, 8 insertions(+), 38 deletions(-) delete mode 100644 core/runner/src/main/java/com/cognifide/aet/runner/scheduler/configuration/CollectorJobSchedulerServiceConf.java diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java b/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java index ac95bb3c2..1fd752e43 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/MessagesManager.java @@ -32,7 +32,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component(service = MessagesManager.class, immediate = true, name = "AET Messages Manager") +@Component(service = MessagesManager.class, immediate = true) @Designate(ocd = MessagesManagerConf.class) public class MessagesManager { diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java b/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java index 8a9318620..890e1fdc0 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/RunnerMessageListener.java @@ -39,7 +39,7 @@ /** * Listens to incoming runner queue messages. When message received, schedules suite processing. */ -@Component(immediate = true, name = "Runner Messages Listener") +@Component(immediate = true) public class RunnerMessageListener implements MessageListener { private static final Logger LOGGER = LoggerFactory.getLogger(RunnerMessageListener.class); diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java b/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java index 24f454859..3c446afda 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/SuiteExecutorService.java @@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory; -@Component(service = SuiteExecutorService.class, immediate = true, name = "Runner Suite Executor Service") +@Component(service = SuiteExecutorService.class, immediate = true) public class SuiteExecutorService { private static final Logger LOGGER = LoggerFactory.getLogger(SuiteExecutorService.class); diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/MessagesManagerConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/MessagesManagerConf.java index f85322bec..892ae0045 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/MessagesManagerConf.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/MessagesManagerConf.java @@ -19,7 +19,7 @@ import org.osgi.service.metatype.annotations.AttributeType; import org.osgi.service.metatype.annotations.ObjectClassDefinition; -@ObjectClassDefinition(name = "Messages Manager configuration", description = "Service configuration") +@ObjectClassDefinition(name = "Messages Manager Configuration", description = "Service Configuration") public @interface MessagesManagerConf { String DEFAULT_JMX_URL = "service:jmx:rmi:///jndi/rmi://localhost:11199/jmxrmi"; diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java index f0e5bf5bc..f378ea75e 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/processing/SuiteExecutionFactory.java @@ -28,7 +28,7 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -@Component(service = SuiteExecutionFactory.class, name = "Suite Execution Factory") +@Component(service = SuiteExecutionFactory.class) public class SuiteExecutionFactory { @Reference diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java b/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java index 48c24a398..5a367171f 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/processing/data/SuiteDataService.java @@ -23,7 +23,7 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -@Component(service = SuiteDataService.class, name = "Internal Runner service for Suite data operations") +@Component(service = SuiteDataService.class) public class SuiteDataService { @Reference diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/CollectorJobSchedulerService.java b/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/CollectorJobSchedulerService.java index 26c803322..74419080d 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/CollectorJobSchedulerService.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/CollectorJobSchedulerService.java @@ -18,8 +18,6 @@ import com.cognifide.aet.communication.api.queues.JmsConnection; import com.cognifide.aet.runner.MessagesManager; import com.cognifide.aet.runner.RunnerConfiguration; -import com.cognifide.aet.runner.scheduler.configuration.CollectorJobSchedulerServiceConf; -import java.util.Map; import java.util.Queue; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -28,18 +26,14 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Reference; -import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component(service = CollectorJobSchedulerService.class, name = "Collector Job Scheduler Service") -@Designate(ocd = CollectorJobSchedulerServiceConf.class) +@Component(service = CollectorJobSchedulerService.class) public class CollectorJobSchedulerService { private static final Logger LOGGER = LoggerFactory.getLogger(CollectorJobSchedulerService.class); - private CollectorJobSchedulerServiceConf config; - @Reference private JmsConnection jmsConnection; @@ -54,8 +48,7 @@ public class CollectorJobSchedulerService { private Future collectorJobSchedulerFeature; @Activate - public void activate(CollectorJobSchedulerServiceConf config) throws JMSException { - this.config = config; + public void activate() throws JMSException { LOGGER.debug("Activating CollectorJobSchedulerService"); collectorJobScheduler = new CollectorJobScheduler(jmsConnection, runnerConfiguration.getMaxMessagesInCollectorQueue(), messagesManager); diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/configuration/CollectorJobSchedulerServiceConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/configuration/CollectorJobSchedulerServiceConf.java deleted file mode 100644 index 475f3d866..000000000 --- a/core/runner/src/main/java/com/cognifide/aet/runner/scheduler/configuration/CollectorJobSchedulerServiceConf.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * AET - * - * Copyright (C) 2013 Cognifide Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.runner.scheduler.configuration; - -import org.osgi.service.metatype.annotations.ObjectClassDefinition; - -@ObjectClassDefinition(name = "Collector Job Scheduler Service", description = "Collector Job Scheduler Service") -public @interface CollectorJobSchedulerServiceConf { - -} From 375fda51ef677036c564704e3a2a519c63f03bb4 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 7 Aug 2018 16:10:30 +0200 Subject: [PATCH 14/72] updated annotations in test executor --- pom.xml | 20 +++++++++++- test-executor/pom.xml | 24 ++++++-------- .../cognifide/aet/executor/SuiteExecutor.java | 31 +++++++----------- .../cognifide/aet/executor/SuiteFactory.java | 13 ++------ .../cognifide/aet/executor/SuiteServlet.java | 12 +++---- .../aet/executor/SuiteStatusServlet.java | 13 +++----- .../aet/executor/SuiteValidator.java | 12 ++----- .../configuration/SuiteExecutorConf.java | 32 +++++++++++++++++++ 8 files changed, 88 insertions(+), 69 deletions(-) create mode 100644 test-executor/src/main/java/com/cognifide/aet/executor/configuration/SuiteExecutorConf.java diff --git a/pom.xml b/pom.xml index 0d78e339e..a28489a8a 100644 --- a/pom.xml +++ b/pom.xml @@ -442,6 +442,24 @@ ${project.version} provided + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + provided + + + org.osgi + org.osgi.annotation + 6.0.0 + provided + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + provided + @@ -668,7 +686,7 @@ org.codehaus.mojo sonar-maven-plugin - 3.4.1.1168 + 3.4.1.1168 org.jacoco diff --git a/test-executor/pom.xml b/test-executor/pom.xml index 074d797dc..1ae11d991 100644 --- a/test-executor/pom.xml +++ b/test-executor/pom.xml @@ -97,8 +97,16 @@ - org.apache.felix - org.apache.felix.scr.annotations + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations @@ -123,18 +131,6 @@ - - org.apache.felix - maven-scr-plugin - - - generate-scr-scrdescriptor - - scr - - - - org.apache.felix maven-bundle-plugin diff --git a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteExecutor.java b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteExecutor.java index 510b573b7..f45b99992 100644 --- a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteExecutor.java +++ b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteExecutor.java @@ -21,6 +21,7 @@ import com.cognifide.aet.communication.api.metadata.Suite; import com.cognifide.aet.communication.api.metadata.ValidatorException; import com.cognifide.aet.communication.api.queues.JmsConnection; +import com.cognifide.aet.executor.configuration.SuiteExecutorConf; import com.cognifide.aet.executor.http.HttpSuiteExecutionResultWrapper; import com.cognifide.aet.executor.model.TestRun; import com.cognifide.aet.executor.model.TestSuiteRun; @@ -29,7 +30,6 @@ import com.cognifide.aet.executor.xmlparser.xml.XmlTestSuiteParser; import com.cognifide.aet.rest.LockService; import com.cognifide.aet.rest.helpers.ReportConfigurationManager; -import com.cognifide.aet.vs.MetadataDAO; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.cache.RemovalListener; @@ -44,13 +44,12 @@ import javax.jms.JMSException; import javax.jms.Session; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; import org.apache.http.HttpStatus; import org.apache.sling.commons.osgi.PropertiesUtil; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -59,9 +58,8 @@ * It creates the {@link SuiteRunner} and {@link SuiteStatusResult} queue for each test suite run * and keeps those items in cache. */ -@Service(SuiteExecutor.class) -@Component(label = "AET Suite Executor", description = "Executes received test suite", immediate = true, - metatype = true) +@Component(service = SuiteExecutor.class, immediate = true) +@Designate(ocd = SuiteExecutorConf.class) public class SuiteExecutor { private static final Logger LOGGER = LoggerFactory.getLogger(SuiteExecutor.class); @@ -72,17 +70,11 @@ public class SuiteExecutor { private static final String XUNIT_REPORT_URL_FORMAT = "%s/xunit?company=%s&project=%s&correlationId=%s"; - private static final String MESSAGE_RECEIVE_TIMEOUT_PROPERTY_NAME = "messageReceiveTimeout"; - private static final String LOCKED_SUITE_MESSAGE = "Suite is currently locked. Please try again later."; private static final long CACHE_EXPIRATION_TIMEOUT = 20000L; - private static final long DEFAULT_MESSAGE_RECEIVE_TIMEOUT = 300000L; - - @Property(name = MESSAGE_RECEIVE_TIMEOUT_PROPERTY_NAME, label = "ActiveMQ message receive timeout", - description = "ActiveMQ message receive timeout", longValue = DEFAULT_MESSAGE_RECEIVE_TIMEOUT) - private Long messageReceiveTimeout; + private SuiteExecutorConf config; @Reference private JmsConnection jmsConnection; @@ -108,9 +100,8 @@ public class SuiteExecutor { private SuiteStatusHandler suiteStatusHandler; @Activate - public void activate(Map properties) { - messageReceiveTimeout = PropertiesUtil.toLong( - properties.get(MESSAGE_RECEIVE_TIMEOUT_PROPERTY_NAME), DEFAULT_MESSAGE_RECEIVE_TIMEOUT); + public void activate(SuiteExecutorConf config) { + this.config = config; suiteRunnerCache = CacheBuilder.newBuilder() .expireAfterAccess(CACHE_EXPIRATION_TIMEOUT, TimeUnit.MILLISECONDS) @@ -235,7 +226,7 @@ private boolean lockTestSuite(Suite suite) { private SuiteRunner createSuiteRunner(Suite suite) throws JMSException { Session session = jmsConnection.getJmsSession(); SuiteRunner suiteRunner = new SuiteRunner(session, cacheUpdater, - suiteStatusHandler, suite, RUNNER_IN_QUEUE, messageReceiveTimeout); + suiteStatusHandler, suite, RUNNER_IN_QUEUE, config.messageReceiveTimeout()); suiteRunnerCache.put(suite.getCorrelationId(), suiteRunner); suiteStatusCache.put(suite.getCorrelationId(), new ConcurrentLinkedQueue()); return suiteRunner; diff --git a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteFactory.java b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteFactory.java index d5f932259..158d8f14d 100644 --- a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteFactory.java +++ b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteFactory.java @@ -34,19 +34,12 @@ import java.util.Map; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -@Service(SuiteFactory.class) -@Component( - label = "AET Suite Factory", - description = "Creates a new Suite object from the test suite", - immediate = true -) +@Component(service = SuiteFactory.class, immediate = true) public class SuiteFactory { private static final Logger LOG = LoggerFactory.getLogger(SuiteFactory.class); diff --git a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteServlet.java b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteServlet.java index c0e9562c1..edcf090aa 100644 --- a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteServlet.java +++ b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteServlet.java @@ -33,19 +33,17 @@ import org.apache.commons.fileupload.util.Streams; import org.apache.commons.lang3.CharEncoding; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; import org.apache.http.HttpStatus; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.osgi.service.http.HttpService; import org.osgi.service.http.NamespaceException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(label = "SuiteServlet", description = "Executes received test suite", immediate = true) +@Component(service = HttpServlet.class, immediate = true) public class SuiteServlet extends HttpServlet { private static final long serialVersionUID = 5266041156537459410L; diff --git a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteStatusServlet.java b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteStatusServlet.java index 4d1154279..144754eae 100644 --- a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteStatusServlet.java +++ b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteStatusServlet.java @@ -23,19 +23,16 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.osgi.service.http.HttpService; import org.osgi.service.http.NamespaceException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(label = "SuiteStatusServlet", description = "Returns status of test suite processing", - immediate = true) +@Component(service = HttpServlet.class, immediate = true) public class SuiteStatusServlet extends HttpServlet { private static final Logger LOGGER = LoggerFactory.getLogger(SuiteStatusServlet.class); diff --git a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteValidator.java b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteValidator.java index b68d5d45e..e265a5238 100644 --- a/test-executor/src/main/java/com/cognifide/aet/executor/SuiteValidator.java +++ b/test-executor/src/main/java/com/cognifide/aet/executor/SuiteValidator.java @@ -26,18 +26,12 @@ import com.google.common.base.Joiner; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(SuiteValidator.class) -@Component( - label = "AET Suite Validator", - description = "Validates received test suite", - immediate = true -) +@Component(service = SuiteValidator.class, immediate = true) public class SuiteValidator { private static final Logger LOG = LoggerFactory.getLogger(SuiteValidator.class); diff --git a/test-executor/src/main/java/com/cognifide/aet/executor/configuration/SuiteExecutorConf.java b/test-executor/src/main/java/com/cognifide/aet/executor/configuration/SuiteExecutorConf.java new file mode 100644 index 000000000..188e6cd50 --- /dev/null +++ b/test-executor/src/main/java/com/cognifide/aet/executor/configuration/SuiteExecutorConf.java @@ -0,0 +1,32 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.executor.configuration; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.AttributeType; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "AET Suite Executor Configuration" , description = "Executes received test suite") +public @interface SuiteExecutorConf { + + String MESSAGE_RECEIVE_TIMEOUT_PROPERTY_NAME = "messageReceiveTimeout"; + + long DEFAULT_MESSAGE_RECEIVE_TIMEOUT = 300000L; + + @AttributeDefinition(name = MESSAGE_RECEIVE_TIMEOUT_PROPERTY_NAME, description = "ActiveMQ message receive timeout", type = AttributeType.LONG) + long messageReceiveTimeout() default DEFAULT_MESSAGE_RECEIVE_TIMEOUT; + +} From 1d18fb8ef79f0e43b2005161969d18fc67196a5c Mon Sep 17 00:00:00 2001 From: Wiiitek Date: Tue, 7 Aug 2018 23:45:04 +0200 Subject: [PATCH 15/72] Removing dependency to SCR annotations --- core/runner/pom.xml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/core/runner/pom.xml b/core/runner/pom.xml index d50fa7634..3d2088d45 100644 --- a/core/runner/pom.xml +++ b/core/runner/pom.xml @@ -73,10 +73,6 @@ javax.validation validation-api - - org.apache.felix - org.apache.felix.scr.annotations - org.apache.sling org.apache.sling.commons.osgi @@ -141,6 +137,17 @@ + + + org.apache.felix + maven-scr-plugin + + + generate-scr-descriptor + none + + + From df37aea4fe9cb9a372b64104f926bc360cc062a8 Mon Sep 17 00:00:00 2001 From: Wiiitek Date: Tue, 7 Aug 2018 23:45:21 +0200 Subject: [PATCH 16/72] removing powermock dependencies --- core/runner/pom.xml | 8 -------- .../com/cognifide/aet/runner/MessagesManagerTest.java | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/core/runner/pom.xml b/core/runner/pom.xml index 3d2088d45..6ced4b3b9 100644 --- a/core/runner/pom.xml +++ b/core/runner/pom.xml @@ -110,14 +110,6 @@ com.googlecode.zohhak zohhak - - org.powermock - powermock-api-mockito - - - org.powermock - powermock-module-junit4 - diff --git a/core/runner/src/test/java/com/cognifide/aet/runner/MessagesManagerTest.java b/core/runner/src/test/java/com/cognifide/aet/runner/MessagesManagerTest.java index 5f40adbdb..43efece64 100644 --- a/core/runner/src/test/java/com/cognifide/aet/runner/MessagesManagerTest.java +++ b/core/runner/src/test/java/com/cognifide/aet/runner/MessagesManagerTest.java @@ -33,9 +33,9 @@ import org.mockito.Matchers; import org.mockito.Mock; import org.mockito.Mockito; -import org.powermock.modules.junit4.PowerMockRunner; +import org.mockito.runners.MockitoJUnitRunner; -@RunWith(PowerMockRunner.class) +@RunWith(MockitoJUnitRunner.class) public class MessagesManagerTest { @Mock From 2c4405d7ee780c8a037dafe9aca5579f38da3b42 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Wed, 8 Aug 2018 08:16:05 +0200 Subject: [PATCH 17/72] added todo in runner pom xml --- core/runner/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/core/runner/pom.xml b/core/runner/pom.xml index 6ced4b3b9..96565c824 100644 --- a/core/runner/pom.xml +++ b/core/runner/pom.xml @@ -130,6 +130,7 @@ + org.apache.felix maven-scr-plugin From 7eb8aecd538405a043f886d7cd0a7d98e365ce3f Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Wed, 8 Aug 2018 11:17:12 +0200 Subject: [PATCH 18/72] new OSGi annotations - proxy --- osgi-dependencies/proxy/pom.xml | 26 +++---- .../aet/proxy/ProxyServerProvider.java | 23 +++---- .../cognifide/aet/proxy/RestProxyManager.java | 69 +++++-------------- .../configuration/RestProxyManagerConf.java | 45 ++++++++++++ pom.xml | 19 ++++- 5 files changed, 106 insertions(+), 76 deletions(-) create mode 100644 osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/configuration/RestProxyManagerConf.java diff --git a/osgi-dependencies/proxy/pom.xml b/osgi-dependencies/proxy/pom.xml index 542f956b8..8114c6629 100644 --- a/osgi-dependencies/proxy/pom.xml +++ b/osgi-dependencies/proxy/pom.xml @@ -48,6 +48,20 @@ org.osgi org.osgi.core + + + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations + + org.json json @@ -79,18 +93,6 @@ - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - - scr - - - - org.apache.felix maven-bundle-plugin diff --git a/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/ProxyServerProvider.java b/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/ProxyServerProvider.java index 91cf2da3d..7c09c045c 100644 --- a/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/ProxyServerProvider.java +++ b/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/ProxyServerProvider.java @@ -19,22 +19,21 @@ import com.cognifide.aet.job.api.exceptions.ProxyException; import com.google.common.collect.Maps; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Properties; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.ReferencePolicy; -import org.apache.felix.scr.annotations.Service; import org.osgi.framework.Constants; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; -@Service(ProxyServerProvider.class) -@Component(immediate = true, label = "AET Proxy Server Provider", description = "AET Proxy Server Provider") -@Properties({@Property(name = Constants.SERVICE_VENDOR, value = "Cognifide Ltd")}) +@Component( + service = ProxyServerProvider.class, + immediate = true, + property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"} +) public class ProxyServerProvider { - @Reference(referenceInterface = ProxyManager.class, policy = ReferencePolicy.DYNAMIC, - cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, bind = "bindProxyManager", + @Reference(service = ProxyManager.class, policy = ReferencePolicy.DYNAMIC, + cardinality = ReferenceCardinality.MULTIPLE, bind = "bindProxyManager", unbind = "unbindProxyManager") private final Map collectorManagers = Maps.newConcurrentMap(); diff --git a/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/RestProxyManager.java b/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/RestProxyManager.java index e0e545d5e..0c3c552f9 100644 --- a/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/RestProxyManager.java +++ b/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/RestProxyManager.java @@ -16,60 +16,32 @@ package com.cognifide.aet.proxy; import com.cognifide.aet.job.api.exceptions.ProxyException; +import com.cognifide.aet.proxy.configuration.RestProxyManagerConf; import com.github.detro.browsermobproxyclient.BMPCProxy; import com.github.detro.browsermobproxyclient.exceptions.BMPCUnableToConnectException; import com.github.detro.browsermobproxyclient.manager.BMPCDefaultManager; import com.google.common.collect.Sets; -import java.util.Map; import java.util.Set; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Service; -import org.apache.sling.commons.osgi.PropertiesUtil; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(immediate = true, metatype = true, description = "AET REST Proxy Manager", label = "AET REST Proxy Manager") +@Component(immediate = true) +@Designate(ocd = RestProxyManagerConf.class) public class RestProxyManager implements ProxyManager { public static final String CREATE_PROXY_EXCEPTION_FORMAT = "Unable to create proxy! Reached max attempts: %d"; private static final String NAME = "rest"; - private static final String SERVER_PROPERTY_NAME = "server"; - - private static final String PORT_PROPERTY_NAME = "port"; - - private static final String MAX_ATTEMPTS_PROPERTY_NAME = "maxAttempts"; - - private static final String ATTEMPTS_INTERVAL_PROPERTY_NAME = "attemptsInterval"; - - private static final String DEFAULT_SERVER = "localhost"; - - private static final int DEFAULT_PORT = 9272; - - private static final int DEFAULT_MAX_ATTEMPTS = 3; - - private static final int DEFAULT_ATTEMPTS_INTERVAL = 50; - private static final Logger LOG = LoggerFactory.getLogger(RestProxyManager.class); private final Set proxies = Sets.newHashSet(); - @Property(name = SERVER_PROPERTY_NAME, label = "Server", description = "BrowserMob server address", value = DEFAULT_SERVER) - private String server; - - @Property(name = PORT_PROPERTY_NAME, label = "Port", description = "BrowserMob API port", intValue = 8080) - private int port; - - @Property(name = MAX_ATTEMPTS_PROPERTY_NAME, label = "Max attempts", description = "Maximum number of attempts that will be performed to create single proxy", intValue = 3) - private int maxAttempts; - - @Property(name = ATTEMPTS_INTERVAL_PROPERTY_NAME, label = "Attempts interval", description = "Wait interval for failed Attempts", intValue = 50) - private int attemptsInterval; + private RestProxyManagerConf config; private BMPCDefaultManager manager; @@ -79,13 +51,8 @@ public String getName() { } @Activate - public void activate(Map properties) { - port = PropertiesUtil.toInteger(properties.get(PORT_PROPERTY_NAME), DEFAULT_PORT); - server = PropertiesUtil.toString(properties.get(SERVER_PROPERTY_NAME), DEFAULT_SERVER); - maxAttempts = PropertiesUtil - .toInteger(properties.get(MAX_ATTEMPTS_PROPERTY_NAME), DEFAULT_MAX_ATTEMPTS); - attemptsInterval = PropertiesUtil - .toInteger(properties.get(ATTEMPTS_INTERVAL_PROPERTY_NAME), DEFAULT_ATTEMPTS_INTERVAL); + public void activate(RestProxyManagerConf config) { + this.config = config; } @Deactivate @@ -99,7 +66,7 @@ public void deactivate() { public RestProxyServer createProxy() throws ProxyException { RestProxyServer proxy; if (manager == null) { - manager = new BMPCDefaultManager(server, port); + manager = new BMPCDefaultManager(config.server(), config.port()); } proxy = new RestProxyServer(getBmpcProxy(), this); proxies.add(proxy); @@ -114,13 +81,15 @@ private BMPCProxy getBmpcProxy() throws ProxyException { try { bmpcProxy = manager.createProxy(); } catch (BMPCUnableToConnectException e) { - if (++attempt >= maxAttempts) { - throw new ProxyException(String.format(CREATE_PROXY_EXCEPTION_FORMAT, maxAttempts), e); + if (++attempt >= config.maxAttempts()) { + throw new ProxyException( + String.format(CREATE_PROXY_EXCEPTION_FORMAT, config.maxAttempts()), e); } - LOG.warn(String.format("Failed to create Proxy attempt %d/%d", attempt, maxAttempts)); + LOG.warn( + String.format("Failed to create Proxy attempt %d/%d", attempt, config.maxAttempts())); try { - Thread.sleep(attemptsInterval); + Thread.sleep(config.attemptsInterval()); } catch (InterruptedException e1) { Thread.currentThread().interrupt(); } @@ -135,11 +104,11 @@ public void detach(RestProxyServer proxy) { } public String getServer() { - return server; + return config.server(); } public int getPort() { - return port; + return config.port(); } } diff --git a/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/configuration/RestProxyManagerConf.java b/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/configuration/RestProxyManagerConf.java new file mode 100644 index 000000000..fd154cef5 --- /dev/null +++ b/osgi-dependencies/proxy/src/main/java/com/cognifide/aet/proxy/configuration/RestProxyManagerConf.java @@ -0,0 +1,45 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.proxy.configuration; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.AttributeType; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(description = "AET REST Proxy Manager", name = "AET REST Proxy Manager") +public @interface RestProxyManagerConf { + String SERVER_PROPERTY_NAME = "server"; + + String PORT_PROPERTY_NAME = "port"; + + String MAX_ATTEMPTS_PROPERTY_NAME = "maxAttempts"; + + String ATTEMPTS_INTERVAL_PROPERTY_NAME = "attemptsInterval"; + + String DEFAULT_SERVER = "localhost"; + + @AttributeDefinition(name = SERVER_PROPERTY_NAME, description = "BrowserMob server address", type = AttributeType.STRING) + String server() default DEFAULT_SERVER; + + @AttributeDefinition(name = PORT_PROPERTY_NAME, description = "BrowserMob API port", type = AttributeType.INTEGER) + int port() default 8080; + + @AttributeDefinition(name = MAX_ATTEMPTS_PROPERTY_NAME, description = "Maximum number of attempts that will be performed to create single proxy", type = AttributeType.INTEGER) + int maxAttempts() default 3; + + @AttributeDefinition(name = ATTEMPTS_INTERVAL_PROPERTY_NAME, description = "Wait interval for failed Attempts", type = AttributeType.INTEGER) + int attemptsInterval() default 50; +} diff --git a/pom.xml b/pom.xml index 0d78e339e..a41271638 100644 --- a/pom.xml +++ b/pom.xml @@ -198,6 +198,21 @@ 1.8.16 provided + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + + + org.osgi + org.osgi.annotation + 6.0.0 + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + @@ -668,7 +683,7 @@ org.codehaus.mojo sonar-maven-plugin - 3.4.1.1168 + 3.4.1.1168 org.jacoco @@ -1098,4 +1113,4 @@ - + \ No newline at end of file From 2d22451746312dd645e9e5a3340e8ff67ecff01c Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Wed, 8 Aug 2018 11:41:02 +0200 Subject: [PATCH 19/72] update annotations in worker/listeners --- .../AbstractTaskMessageListener.java | 41 ++----------- .../CollectorMessageListenerImpl.java | 53 +++++------------ .../CollectorMessageListenerImplConf.java | 59 +++++++++++++++++++ .../ComparatorMessageListenerImpl.java | 51 +++++----------- .../ComparatorMessageListenerImplConf.java | 59 +++++++++++++++++++ 5 files changed, 154 insertions(+), 109 deletions(-) create mode 100644 core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConf.java create mode 100644 core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConf.java diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/AbstractTaskMessageListener.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/AbstractTaskMessageListener.java index 91c9346ca..5b3892a68 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/AbstractTaskMessageListener.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/AbstractTaskMessageListener.java @@ -18,45 +18,20 @@ import com.cognifide.aet.communication.api.queues.JmsConnection; import com.cognifide.aet.queues.JmsUtils; import com.cognifide.aet.worker.results.FeedbackQueue; -import java.util.Map; import javax.jms.JMSException; import javax.jms.MessageConsumer; import javax.jms.MessageListener; import javax.jms.Session; -import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Property; -@Component public abstract class AbstractTaskMessageListener implements MessageListener { - protected static final String LISTENER_NAME = "name"; + private Session jmsSession; - protected static final String CONSUMER_QUEUE_NAME = "consumerQueueName"; + private MessageConsumer consumer; - protected static final String PRODUCER_QUEUE_NAME = "producerQueueName"; + FeedbackQueue feedbackQueue; - protected static final String PREFETCH_SIZE_NAME = "pf"; - - protected static final String PREFETCH_SIZE_DEFAULT_VALUE = "1"; - - protected Session jmsSession; - - protected MessageConsumer consumer; - - protected FeedbackQueue feedbackQueue; - - @Property(name = PREFETCH_SIZE_NAME, label = "Prefetch size", description = "http://activemq.apache.org/what-is-the-prefetch-limit-for.html", value = PREFETCH_SIZE_DEFAULT_VALUE) - private String prefetchSize; - - protected void doActivate(Map properties) { - setName(properties.get(LISTENER_NAME)); - this.prefetchSize = StringUtils.defaultString(properties.get(PREFETCH_SIZE_NAME), - PREFETCH_SIZE_DEFAULT_VALUE); - String consumerQueueName = properties.get(CONSUMER_QUEUE_NAME); - setConsumerQueueName(consumerQueueName); - String producerQueueName = properties.get(PRODUCER_QUEUE_NAME); - setProducerQueueName(producerQueueName); + void doActivate(String consumerQueueName, String producerQueueName, String prefetchSize) { String queueName = consumerQueueName + "?consumer.prefetchSize=" + prefetchSize; try { @@ -69,7 +44,7 @@ protected void doActivate(Map properties) { } } - protected void doDeactivate() { + void doDeactivate() { if (feedbackQueue != null) { feedbackQueue.close(); } @@ -77,12 +52,6 @@ protected void doDeactivate() { JmsUtils.closeQuietly(jmsSession); } - protected abstract void setName(String name); - - protected abstract void setConsumerQueueName(String consumerQueueName); - - protected abstract void setProducerQueueName(String producerQueueName); - protected abstract JmsConnection getJmsConnection(); } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java index 276bfc203..2dd468e5b 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java @@ -28,35 +28,25 @@ import com.cognifide.aet.worker.api.CollectorDispatcher; import com.cognifide.aet.worker.drivers.WebDriverProvider; import com.cognifide.aet.worker.exceptions.WorkerException; -import java.util.Map; import javax.jms.JMSException; import javax.jms.Message; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.ConfigurationPolicy; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(immediate = true, metatype = true, label = "AET Collector Message Listener", policy = ConfigurationPolicy.REQUIRE, configurationFactory = true) +@Component( + service = CollectorMessageListenerImpl.class, + immediate = true) +@Designate(ocd = CollectorMessageListenerImplConf.class, factory = true) public class CollectorMessageListenerImpl extends AbstractTaskMessageListener { private static final Logger LOGGER = LoggerFactory.getLogger(CollectorMessageListenerImpl.class); - @Property(name = LISTENER_NAME, label = "Collector name", description = "Name of collector. Used in logs only", value = "Collector") - private String name; - - @Property(name = CONSUMER_QUEUE_NAME, label = "Consumer queue name", value = "AET.collectorJobs") - private String consumerQueueName; - - @Property(name = PRODUCER_QUEUE_NAME, label = "Producer queue name", value = "AET.collectorResults") - private String producerQueueName; - @Reference private JmsConnection jmsConnection; @@ -66,9 +56,12 @@ public class CollectorMessageListenerImpl extends AbstractTaskMessageListener { @Reference private WebDriverProvider webDriverProvider; + private CollectorMessageListenerImplConf collectorMessageListenerImplConf; + @Activate - void activate(Map properties) { - super.doActivate(properties); + void activate(CollectorMessageListenerImplConf conf) { + this.collectorMessageListenerImplConf = conf; + super.doActivate(conf.consumerQueueName(), conf.producerQueueName(), conf.pf()); } @Deactivate @@ -90,7 +83,8 @@ public void onMessage(final Message message) { && requestMessageId != null) { LOGGER.info( "CollectorJobData [{}] message arrived with {} urls. CorrelationId: {} RequestMessageId: {}", - name, collectorJobData.getUrls().size(), correlationId, requestMessageId); + collectorMessageListenerImplConf.name(), collectorJobData.getUrls().size(), correlationId, + requestMessageId); WebCommunicationWrapper webCommunicationWrapper = null; int collected = 0; String preferredWebDriver = collectorJobData.getPreferredBrowserId(); @@ -181,21 +175,6 @@ private void quitWebDriver(WebCommunicationWrapper webCommunicationWrapper) { } } - @Override - protected void setName(String name) { - this.name = name; - } - - @Override - protected void setConsumerQueueName(String consumerQueueName) { - this.consumerQueueName = consumerQueueName; - } - - @Override - protected void setProducerQueueName(String producerQueueName) { - this.producerQueueName = producerQueueName; - } - @Override protected JmsConnection getJmsConnection() { return jmsConnection; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConf.java new file mode 100644 index 000000000..706ec9e4e --- /dev/null +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConf.java @@ -0,0 +1,59 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.worker.listeners; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "AET Collector Message Listener") +public @interface CollectorMessageListenerImplConf { + + String LISTENER_NAME_LABEL = "Collector name"; + String LISTENER_NAME_DESC = "Name of collector. Used in logs only"; + String LISTENER_NAME_DEFAULT_VALUE = "Collector"; + + String CONSUMER_QUEUE_NAME_LABEL = "Consumer queue name"; + String CONSUMER_QUEUE_NAME_DEFAULT_VALUE = "AET.collectorJobs"; + + String PRODUCER_QUEUE_NAME_LABEL = "Producer queue name"; + String PRODUCER_QUEUE_NAME_DEFAULT_VALUE = "AET.collectorResults"; + + String PREFETCH_SIZE_LABEL = "Prefetch size"; + String PREFETCH_SIZE_DESC = "http://activemq.apache.org/what-is-the-prefetch-limit-for.html"; + String PREFETCH_SIZE_DEFAULT_VALUE = "1"; + + @AttributeDefinition( + name = LISTENER_NAME_LABEL, + description = LISTENER_NAME_DESC, + defaultValue = LISTENER_NAME_DEFAULT_VALUE) + String name(); + + @AttributeDefinition( + name = CONSUMER_QUEUE_NAME_LABEL, + defaultValue = CONSUMER_QUEUE_NAME_DEFAULT_VALUE) + String consumerQueueName(); + + @AttributeDefinition( + name = PRODUCER_QUEUE_NAME_LABEL, + defaultValue = PRODUCER_QUEUE_NAME_DEFAULT_VALUE) + String producerQueueName(); + + @AttributeDefinition( + name = PREFETCH_SIZE_LABEL, + description = PREFETCH_SIZE_DESC, + defaultValue = PREFETCH_SIZE_DEFAULT_VALUE) + String pf(); +} diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java index 1ab6bca17..1f05cd975 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java @@ -26,44 +26,38 @@ import com.cognifide.aet.job.api.comparator.ComparatorProperties; import com.cognifide.aet.queues.JmsUtils; import com.cognifide.aet.worker.api.ComparatorDispatcher; -import java.util.Map; import javax.jms.JMSException; import javax.jms.Message; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.ConfigurationPolicy; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.ConfigurationPolicy; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(immediate = true, metatype = true, label = "AET Comparator Message Listener", policy = ConfigurationPolicy.REQUIRE, configurationFactory = true) +@Component( + service = ComparatorMessageListenerImpl.class, + immediate = true) +@Designate(ocd = ComparatorMessageListenerImplConf.class, factory = true) public class ComparatorMessageListenerImpl extends AbstractTaskMessageListener { private static final Logger LOGGER = LoggerFactory.getLogger(ComparatorMessageListenerImpl.class); - @Property(name = LISTENER_NAME, label = "Comparator name", description = "Name of comparator. Used in logs only", value = "Comparator") - private String name; - - @Property(name = CONSUMER_QUEUE_NAME, label = "Consumer queue name", value = "AET.comparatorJobs") - private String consumerQueueName; - - @Property(name = PRODUCER_QUEUE_NAME, label = "Producer queue name", value = "AET.comparatorResults") - private String producerQueueName; - @Reference private JmsConnection jmsConnection; @Reference private ComparatorDispatcher dispatcher; + private ComparatorMessageListenerImplConf comparatorMessageListenerImplConf; + @Activate - void activate(Map properties) { - super.doActivate(properties); + void activate(ComparatorMessageListenerImplConf conf) { + this.comparatorMessageListenerImplConf = conf; + super.doActivate(conf.consumerQueueName(), conf.producerQueueName(), conf.pf()); } @Deactivate @@ -124,21 +118,6 @@ public void onMessage(final Message message) { } } - @Override - protected void setName(String name) { - this.name = name; - } - - @Override - protected void setConsumerQueueName(String consumerQueueName) { - this.consumerQueueName = consumerQueueName; - } - - @Override - protected void setProducerQueueName(String producerQueueName) { - this.producerQueueName = producerQueueName; - } - @Override protected JmsConnection getJmsConnection() { return jmsConnection; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConf.java new file mode 100644 index 000000000..1b0d8cfcc --- /dev/null +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConf.java @@ -0,0 +1,59 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.worker.listeners; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "AET Comparator Message Listener") +public @interface ComparatorMessageListenerImplConf { + + String LISTENER_NAME_LABEL = "Comparator name"; + String LISTENER_NAME_DESC = "Name of comparator. Used in logs only"; + String LISTENER_NAME_DEFAULT_VALUE = "Comparator"; + + String CONSUMER_QUEUE_NAME_LABEL = "Consumer queue name"; + String CONSUMER_QUEUE_NAME_DEFAULT_VALUE = "AET.comparatorJobs"; + + String PRODUCER_QUEUE_NAME_LABEL = "Producer queue name"; + String PRODUCER_QUEUE_NAME_DEFAULT_VALUE = "AET.comparatorResults"; + + String PREFETCH_SIZE_LABEL = "Prefetch size"; + String PREFETCH_SIZE_DESC = "http://activemq.apache.org/what-is-the-prefetch-limit-for.html"; + String PREFETCH_SIZE_DEFAULT_VALUE = "1"; + + @AttributeDefinition( + name = LISTENER_NAME_LABEL, + description = LISTENER_NAME_DESC, + defaultValue = LISTENER_NAME_DEFAULT_VALUE) + String name(); + + @AttributeDefinition( + name = CONSUMER_QUEUE_NAME_LABEL, + defaultValue = CONSUMER_QUEUE_NAME_DEFAULT_VALUE) + String consumerQueueName(); + + @AttributeDefinition( + name = PRODUCER_QUEUE_NAME_LABEL, + defaultValue = PRODUCER_QUEUE_NAME_DEFAULT_VALUE) + String producerQueueName(); + + @AttributeDefinition( + name = PREFETCH_SIZE_LABEL, + description = PREFETCH_SIZE_DESC, + defaultValue = PREFETCH_SIZE_DEFAULT_VALUE) + String pf(); +} From 38d0262cdafc9330352fcea59750f2034eeb80c3 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Wed, 8 Aug 2018 12:25:07 +0200 Subject: [PATCH 20/72] new OSGi annotations - validation --- core/validation/pom.xml | 25 +++++++++++++++++-- .../ValidationResultBuilderFactoryImpl.java | 11 +++----- pom.xml | 15 +++++++++++ 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/core/validation/pom.xml b/core/validation/pom.xml index 3a39b813d..c939d5c39 100644 --- a/core/validation/pom.xml +++ b/core/validation/pom.xml @@ -41,9 +41,18 @@ - org.apache.felix - org.apache.felix.scr.annotations + org.osgi + org.osgi.service.component.annotations + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations + + org.apache.commons commons-lang3 @@ -81,6 +90,18 @@ + + + + org.apache.felix + maven-scr-plugin + + + generate-scr-descriptor + none + + + diff --git a/core/validation/src/main/java/com/cognifide/aet/validation/impl/ValidationResultBuilderFactoryImpl.java b/core/validation/src/main/java/com/cognifide/aet/validation/impl/ValidationResultBuilderFactoryImpl.java index e7bb2585a..645cd35ab 100644 --- a/core/validation/src/main/java/com/cognifide/aet/validation/impl/ValidationResultBuilderFactoryImpl.java +++ b/core/validation/src/main/java/com/cognifide/aet/validation/impl/ValidationResultBuilderFactoryImpl.java @@ -17,16 +17,11 @@ import com.cognifide.aet.validation.ValidationResultBuilder; import com.cognifide.aet.validation.ValidationResultBuilderFactory; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; -@Service -@Component( - label = "AET Validation Result Builder Factory", - description = "AET Validation Result Builder Factory") +@Component public class ValidationResultBuilderFactoryImpl implements ValidationResultBuilderFactory { - - @Override + public ValidationResultBuilder createInstance() { return new ValidationResultBuilderImpl(); } diff --git a/pom.xml b/pom.xml index 0d78e339e..210b691e5 100644 --- a/pom.xml +++ b/pom.xml @@ -198,6 +198,21 @@ 1.8.16 provided + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + + + org.osgi + org.osgi.annotation + 6.0.0 + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + From 7d2b474675d33e1f4f82f2971991ce81b5594642 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Wed, 8 Aug 2018 13:50:30 +0200 Subject: [PATCH 21/72] remove wildcard import --- .../aet/worker/drivers/WebDriverProvider.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java index 041a8b2cd..3719f2372 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java @@ -25,7 +25,11 @@ import java.util.Map; import org.osgi.framework.Constants; -import org.osgi.service.component.annotations.*; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -61,8 +65,7 @@ void activate(WebDriverProviderConf webDriverProviderConf) { this.webDriverProviderConf = webDriverProviderConf; } - public WebCommunicationWrapper createWebDriverWithProxy(String preferredWebDriver, - String proxyName) + public WebCommunicationWrapper createWebDriverWithProxy(String preferredWebDriver, String proxyName) throws WorkerException { WebDriverFactory webDriverFactory = findWebDriverFactory(preferredWebDriver); try { @@ -100,8 +103,7 @@ private WebDriverFactory findWebDriverFactory(String preferredWebDriver) throws webDriverFactory = collectorFactories.get(id); if (webDriverFactory == null) { String webDrivers = Joiner.on(", ").join(collectorFactories.keySet()); - String errorMessage = String - .format("Undefined WebDriver: '%s'. Available: %s", id, webDrivers); + String errorMessage = String.format("Undefined WebDriver: '%s'. Available: %s", id, webDrivers); throw new WorkerException(errorMessage); } return webDriverFactory; From 2c31febcfe4608e3c0e89836f929baf585eda675 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Wed, 8 Aug 2018 13:51:49 +0200 Subject: [PATCH 22/72] remove formatting changes in license header --- .../drivers/firefox/local/FirefoxWebDriverFactory.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java index 3f8b17a71..d116e5e23 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java @@ -1,13 +1,13 @@ /** * AET - *

+ * * Copyright (C) 2013 Cognifide Limited - *

+ * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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 From 9720686d845284f656342cf589a302759943c4a2 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Wed, 8 Aug 2018 14:33:07 +0200 Subject: [PATCH 23/72] updated osgi annotatation in jobs --- core/jobs/pom.xml | 12 ++++++ .../AccessibilityCollectorFactory.java | 8 ++-- .../cookie/CookieCollectorFactory.java | 6 +-- .../jserrors/JsErrorsCollectorFactory.java | 6 +-- .../collectors/open/OpenPageFactory.java | 4 +- ...ClientSidePerformanceCollectorFactory.java | 8 ++-- .../screen/ScreenCollectorFactory.java | 8 ++-- .../source/SourceCollectorFactory.java | 29 +++++--------- .../SourceCollectorFactoryConf.java | 35 ++++++++++++++++ .../StatusCodesCollectorFactory.java | 6 +-- .../AccessibilityComparatorFactory.java | 6 +-- .../cookie/CookieComparatorFactory.java | 6 +-- .../jserrors/JsErrorsComparatorFactory.java | 6 +-- .../layout/LayoutComparatorFactory.java | 6 +-- ...lientSidePerformanceComparatorFactory.java | 6 +-- .../source/SourceComparatorFactory.java | 6 +-- .../StatusCodesComparatorFactory.java | 7 +--- .../w3chtml5/W3cHtml5ComparatorFactory.java | 6 +-- .../AccessibilityFilterFactory.java | 4 +- .../ExtractElementDataFilterFactory.java | 4 +- .../jserrorsfilter/JsErrorsFilterFactory.java | 4 +- .../RemoveLinesDataFilterFactory.java | 4 +- .../RemoveNodesDataFilterFactory.java | 4 +- .../RemoveRegexpDataFilterFactory.java | 4 +- .../ExcludeStatusCodesFilterFactory.java | 4 +- .../IncludeStatusCodesFilterFactory.java | 4 +- .../w3chtmlfilter/W3cHtml5FilterFactory.java | 4 +- .../modifiers/click/ClickModiferFactory.java | 4 +- .../cookie/CookieModifierFactory.java | 6 +-- .../ExecuteJavaScriptModifierFactory.java | 6 +-- .../ExternalSnippetHttpClient.java | 39 ++++++------------ .../ExternalSnippetHttpClientConf.java | 40 +++++++++++++++++++ .../header/HeaderModifierFactory.java | 4 +- .../modifiers/hide/HideModifierFactory.java | 4 +- .../modifiers/login/LoginModifierFactory.java | 8 +--- .../replacetext/ReplaceTextFactory.java | 4 +- .../resolution/ResolutionModifierFactory.java | 4 +- .../modifiers/sleep/SleepModifierFactory.java | 4 +- ...ntToBeVisibleModifierCollectorFactory.java | 4 +- ...ageCompletionModifierCollectorFactory.java | 4 +- .../WaitForPageLoadedModifierFactory.java | 4 +- pom.xml | 18 +++++++++ 42 files changed, 185 insertions(+), 175 deletions(-) create mode 100644 core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/configuration/SourceCollectorFactoryConf.java create mode 100644 core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/executejavascript/configuration/ExternalSnippetHttpClientConf.java diff --git a/core/jobs/pom.xml b/core/jobs/pom.xml index 2347e6c57..7aa261e9e 100644 --- a/core/jobs/pom.xml +++ b/core/jobs/pom.xml @@ -35,6 +35,18 @@ + + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations + com.cognifide.aet communication-api diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/accessibility/AccessibilityCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/accessibility/AccessibilityCollectorFactory.java index 0d8ec20ca..ba2a0b5db 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/accessibility/AccessibilityCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/accessibility/AccessibilityCollectorFactory.java @@ -22,14 +22,12 @@ import com.cognifide.aet.job.api.exceptions.ParametersException; import com.cognifide.aet.vs.ArtifactsDAO; import java.util.Map; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; import org.osgi.framework.BundleContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; @Component -@Service public class AccessibilityCollectorFactory implements CollectorFactory { @Reference diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/cookie/CookieCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/cookie/CookieCollectorFactory.java index 2bfae12b9..eff21fbbd 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/cookie/CookieCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/cookie/CookieCollectorFactory.java @@ -22,12 +22,10 @@ import com.cognifide.aet.job.api.exceptions.ParametersException; import com.cognifide.aet.vs.ArtifactsDAO; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; @Component -@Service public class CookieCollectorFactory implements CollectorFactory { @Reference diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/jserrors/JsErrorsCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/jserrors/JsErrorsCollectorFactory.java index 87a23cced..f0ccead64 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/jserrors/JsErrorsCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/jserrors/JsErrorsCollectorFactory.java @@ -22,12 +22,10 @@ import com.cognifide.aet.job.api.exceptions.ParametersException; import com.cognifide.aet.vs.ArtifactsDAO; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; @Component -@Service public class JsErrorsCollectorFactory implements CollectorFactory { @Reference diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/open/OpenPageFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/open/OpenPageFactory.java index d4123f41d..c04f50e2e 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/open/OpenPageFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/open/OpenPageFactory.java @@ -21,11 +21,9 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; @Component -@Service public class OpenPageFactory implements CollectorFactory { @Override diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/performance/clientside/ClientSidePerformanceCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/performance/clientside/ClientSidePerformanceCollectorFactory.java index a4f147f8e..2bab04bff 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/performance/clientside/ClientSidePerformanceCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/performance/clientside/ClientSidePerformanceCollectorFactory.java @@ -22,14 +22,12 @@ import com.cognifide.aet.job.api.exceptions.ParametersException; import com.cognifide.aet.vs.ArtifactsDAO; import java.util.Map; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; import org.osgi.framework.BundleContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; @Component -@Service public class ClientSidePerformanceCollectorFactory implements CollectorFactory { private BundleContext context; diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/screen/ScreenCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/screen/ScreenCollectorFactory.java index 48771238b..2051f6389 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/screen/ScreenCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/screen/ScreenCollectorFactory.java @@ -22,12 +22,10 @@ import com.cognifide.aet.job.api.exceptions.ParametersException; import com.cognifide.aet.vs.ArtifactsDAO; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; -@Component(description = "AET Screen Collector Factory", label = "AET Screen Collector Factory") -@Service +@Component(service = CollectorFactory.class) public class ScreenCollectorFactory implements CollectorFactory { @Reference diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java index 559886bfe..81e54a540 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java @@ -20,25 +20,19 @@ import com.cognifide.aet.job.api.collector.CollectorProperties; import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; +import com.cognifide.aet.job.common.collectors.source.configuration.SourceCollectorFactoryConf; import com.cognifide.aet.vs.ArtifactsDAO; import java.util.Map; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; -import org.apache.sling.commons.osgi.PropertiesUtil; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; -@Component(metatype = true, description = "AET Source Collector Factory", label = "AET Source Collector Factory") -@Service +@Component(service = CollectorFactory.class) +@Designate(ocd = SourceCollectorFactoryConf.class) public class SourceCollectorFactory implements CollectorFactory { - private static final String SOURCE_COLLECTOR_TIMEOUT_VALUE = "sourceCollectorTimeoutValue"; - - private static final int DEFAULT_TIMEOUT = 20000; - - @Property(name = SOURCE_COLLECTOR_TIMEOUT_VALUE, label = "Timeout value for source collector [ms]", intValue = DEFAULT_TIMEOUT, description = "Timeout value for source collector [ms]") - private int timeoutValue; + SourceCollectorFactoryConf config; @Reference private ArtifactsDAO artifactsDAO; @@ -53,13 +47,12 @@ public CollectorJob createInstance(CollectorProperties properties, Map properties) { + protected void activate(ExternalSnippetHttpClientConf config) { LOGGER.info("Activating ExternalSnippetHttpClient - {}", this); - - Long connectionTtl = PropertiesUtil - .toLong(properties.get(CONNECTION_TTL_PARAMETER), DEFAULT_CONNECTION_TTL); - Integer maxConcurrentConnections = PropertiesUtil - .toInteger(properties.get(MAX_CONCURRENT_CONNECTIONS_PARAMETER), - DEFAULT_MAX_CONCURRENT_CONNECTIONS); + this.config = config; final PoolingHttpClientConnectionManager poolingConnManager = - new PoolingHttpClientConnectionManager(connectionTtl, TimeUnit.SECONDS); - poolingConnManager.setMaxTotal(maxConcurrentConnections); + new PoolingHttpClientConnectionManager(config.connectionTtl(), TimeUnit.SECONDS); + poolingConnManager.setMaxTotal(config.maxConcurrentConnections()); httpClient = HttpClients.custom().setConnectionManager(poolingConnManager).build(); } diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/executejavascript/configuration/ExternalSnippetHttpClientConf.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/executejavascript/configuration/ExternalSnippetHttpClientConf.java new file mode 100644 index 000000000..9edf63c8a --- /dev/null +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/executejavascript/configuration/ExternalSnippetHttpClientConf.java @@ -0,0 +1,40 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.job.common.modifiers.executejavascript.configuration; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.AttributeType; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition() +public @interface ExternalSnippetHttpClientConf { + + long DEFAULT_CONNECTION_TTL = 60L; + + int DEFAULT_MAX_CONCURRENT_CONNECTIONS = 50; + + @AttributeDefinition( + name = "Time in seconds that defines maximum life span of persistent connections regardless of their expiration setting", + type = AttributeType.LONG) + long connectionTtl() default DEFAULT_CONNECTION_TTL; + + @AttributeDefinition( + name = "The maximal number of concurrent connections this service can provide. Connections over this limit are rejected.", + type = AttributeType.INTEGER) + int maxConcurrentConnections() default DEFAULT_MAX_CONCURRENT_CONNECTIONS; + + +} diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/header/HeaderModifierFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/header/HeaderModifierFactory.java index aa61452d9..a77b962af 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/header/HeaderModifierFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/header/HeaderModifierFactory.java @@ -21,11 +21,9 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; @Component -@Service public class HeaderModifierFactory implements CollectorFactory { @Override diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/hide/HideModifierFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/hide/HideModifierFactory.java index 0607711e6..acb13582f 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/hide/HideModifierFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/hide/HideModifierFactory.java @@ -21,11 +21,9 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; @Component -@Service public class HideModifierFactory implements CollectorFactory { @Override diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/login/LoginModifierFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/login/LoginModifierFactory.java index 72d1a1b48..b8cea68cd 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/login/LoginModifierFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/login/LoginModifierFactory.java @@ -22,16 +22,12 @@ import com.cognifide.aet.job.api.exceptions.ParametersException; import com.cognifide.aet.validation.ValidationResultBuilderFactory; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; - -@Service @Component public class LoginModifierFactory implements CollectorFactory { - @Reference private ValidationResultBuilderFactory validationResultBuilderFactory; diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/replacetext/ReplaceTextFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/replacetext/ReplaceTextFactory.java index 9c884c7b0..e3dc15da7 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/replacetext/ReplaceTextFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/replacetext/ReplaceTextFactory.java @@ -21,11 +21,9 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; @Component -@Service public class ReplaceTextFactory implements CollectorFactory { @Override diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/resolution/ResolutionModifierFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/resolution/ResolutionModifierFactory.java index 6da70c7d3..c31626efc 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/resolution/ResolutionModifierFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/resolution/ResolutionModifierFactory.java @@ -21,11 +21,9 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; @Component -@Service public class ResolutionModifierFactory implements CollectorFactory { @Override diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/sleep/SleepModifierFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/sleep/SleepModifierFactory.java index 65c9bd8b1..edc30e68f 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/sleep/SleepModifierFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/sleep/SleepModifierFactory.java @@ -21,11 +21,9 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; @Component -@Service public class SleepModifierFactory implements CollectorFactory { @Override diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitfor/elementtobevisible/WaitForElementToBeVisibleModifierCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitfor/elementtobevisible/WaitForElementToBeVisibleModifierCollectorFactory.java index c8399fd2f..0d8ad04bc 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitfor/elementtobevisible/WaitForElementToBeVisibleModifierCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitfor/elementtobevisible/WaitForElementToBeVisibleModifierCollectorFactory.java @@ -21,11 +21,9 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; @Component -@Service public class WaitForElementToBeVisibleModifierCollectorFactory implements CollectorFactory { @Override diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitfor/imagecompletion/WaitForImageCompletionModifierCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitfor/imagecompletion/WaitForImageCompletionModifierCollectorFactory.java index 540fda14b..730088919 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitfor/imagecompletion/WaitForImageCompletionModifierCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitfor/imagecompletion/WaitForImageCompletionModifierCollectorFactory.java @@ -21,11 +21,9 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; @Component -@Service public class WaitForImageCompletionModifierCollectorFactory implements CollectorFactory { @Override diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitforpageloaded/WaitForPageLoadedModifierFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitforpageloaded/WaitForPageLoadedModifierFactory.java index 7a87dc2d9..f7cc4978c 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitforpageloaded/WaitForPageLoadedModifierFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/waitforpageloaded/WaitForPageLoadedModifierFactory.java @@ -21,11 +21,9 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import java.util.Map; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; @Component -@Service public class WaitForPageLoadedModifierFactory implements CollectorFactory { @Override diff --git a/pom.xml b/pom.xml index 0d78e339e..731dd45b6 100644 --- a/pom.xml +++ b/pom.xml @@ -174,6 +174,24 @@ + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + provided + + + org.osgi + org.osgi.annotation + 6.0.0 + provided + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + provided + org.osgi org.osgi.core From 0079d6ff900ffc55f4dd67c77a384e328a84f7f5 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Wed, 8 Aug 2018 14:52:03 +0200 Subject: [PATCH 24/72] updated pom.xml --- core/runner/pom.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/core/runner/pom.xml b/core/runner/pom.xml index 96565c824..5426383b1 100644 --- a/core/runner/pom.xml +++ b/core/runner/pom.xml @@ -73,10 +73,6 @@ javax.validation validation-api - - org.apache.sling - org.apache.sling.commons.osgi - org.osgi org.osgi.service.component.annotations From ce659746aed2bd58bbf851cabd16b5bdb3d28abc Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Wed, 8 Aug 2018 15:06:58 +0200 Subject: [PATCH 25/72] change conf to config --- .../aet/worker/drivers/WebDriverProvider.java | 10 +++++----- ...derConf.java => WebDriverProviderConfig.java} | 2 +- .../drivers/chrome/ChromeWebDriverFactory.java | 14 +++++++------- ...nf.java => ChromeWebDriverFactoryConfig.java} | 2 +- .../firefox/local/FirefoxWebDriverFactory.java | 16 ++++++++-------- ...f.java => FirefoxWebDriverFactoryConfig.java} | 2 +- .../listeners/CollectorMessageListenerImpl.java | 12 ++++++------ ...a => CollectorMessageListenerImplConfig.java} | 2 +- .../listeners/ComparatorMessageListenerImpl.java | 11 +++++------ ... => ComparatorMessageListenerImplConfig.java} | 2 +- 10 files changed, 36 insertions(+), 37 deletions(-) rename core/worker/src/main/java/com/cognifide/aet/worker/drivers/{WebDriverProviderConf.java => WebDriverProviderConfig.java} (96%) rename core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/{ChromeWebDriverFactoryConf.java => ChromeWebDriverFactoryConfig.java} (96%) rename core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/{FirefoxWebDriverFactoryConf.java => FirefoxWebDriverFactoryConfig.java} (97%) rename core/worker/src/main/java/com/cognifide/aet/worker/listeners/{CollectorMessageListenerImplConf.java => CollectorMessageListenerImplConfig.java} (97%) rename core/worker/src/main/java/com/cognifide/aet/worker/listeners/{ComparatorMessageListenerImplConf.java => ComparatorMessageListenerImplConfig.java} (97%) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java index 3719f2372..d23cd308e 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java @@ -42,12 +42,12 @@ property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"}, immediate = true ) -@Designate(ocd = WebDriverProviderConf.class) +@Designate(ocd = WebDriverProviderConfig.class) public class WebDriverProvider { private static final Logger LOG = LoggerFactory.getLogger(WebDriverProvider.class); - private WebDriverProviderConf webDriverProviderConf; + private WebDriverProviderConfig webDriverProviderConfig; @Reference( service = WebDriverFactory.class, @@ -61,8 +61,8 @@ public class WebDriverProvider { private ProxyServerProvider proxyServerProvider; @Activate - void activate(WebDriverProviderConf webDriverProviderConf) { - this.webDriverProviderConf = webDriverProviderConf; + void activate(WebDriverProviderConfig webDriverProviderConfig) { + this.webDriverProviderConfig = webDriverProviderConfig; } public WebCommunicationWrapper createWebDriverWithProxy(String preferredWebDriver, String proxyName) @@ -99,7 +99,7 @@ protected void unbindWebDriverFactory(WebDriverFactory webDriverFactory) { private WebDriverFactory findWebDriverFactory(String preferredWebDriver) throws WorkerException { final WebDriverFactory webDriverFactory; String id = preferredWebDriver == null ? - webDriverProviderConf.defaultWebDriverName() : preferredWebDriver; + webDriverProviderConfig.defaultWebDriverName() : preferredWebDriver; webDriverFactory = collectorFactories.get(id); if (webDriverFactory == null) { String webDrivers = Joiner.on(", ").join(collectorFactories.keySet()); diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConfig.java similarity index 96% rename from core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConf.java rename to core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConfig.java index 461bb1bfa..481586b94 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConf.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConfig.java @@ -19,7 +19,7 @@ import org.osgi.service.metatype.annotations.ObjectClassDefinition; @ObjectClassDefinition(name = "AET WebDriver Provider", description = "AET WebDriver Provider") -public @interface WebDriverProviderConf { +public @interface WebDriverProviderConfig { String DEFAULT_WEB_DRIVER_NAME_LABEL = "Default Web Driver name"; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java index b91672199..98ae326f1 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java @@ -48,17 +48,17 @@ configurationPolicy = ConfigurationPolicy.REQUIRE, property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"} ) -@Designate(ocd = ChromeWebDriverFactoryConf.class) +@Designate(ocd = ChromeWebDriverFactoryConfig.class) public class ChromeWebDriverFactory implements WebDriverFactory { @Reference private HttpRequestExecutorFactory requestExecutorFactory; - private ChromeWebDriverFactoryConf chromeWebDriverFactoryConf; + private ChromeWebDriverFactoryConfig chromeWebDriverFactoryConfig; @Activate - public void activate(ChromeWebDriverFactoryConf chromeWebDriverFactoryConf) { - this.chromeWebDriverFactoryConf = chromeWebDriverFactoryConf; + public void activate(ChromeWebDriverFactoryConfig chromeWebDriverFactoryConfig) { + this.chromeWebDriverFactoryConfig = chromeWebDriverFactoryConfig; } @Override @@ -80,7 +80,7 @@ public WebCommunicationWrapper createWebDriver(ProxyServerWrapper proxyServer) @Override public String getName() { - return chromeWebDriverFactoryConf.name(); + return chromeWebDriverFactoryConfig.name(); } private WebCommunicationWrapper createWebDriver(DesiredCapabilities capabilities, @@ -97,8 +97,8 @@ private WebCommunicationWrapper createWebDriver(DesiredCapabilities capabilities private WebDriver getChromeDriver(DesiredCapabilities capabilities) throws MalformedURLException { WebDriver driver = - StringUtils.isNotBlank(chromeWebDriverFactoryConf.seleniumGridUrl()) ? - new RemoteWebDriver(new URL(chromeWebDriverFactoryConf.seleniumGridUrl()), capabilities) + StringUtils.isNotBlank(chromeWebDriverFactoryConfig.seleniumGridUrl()) ? + new RemoteWebDriver(new URL(chromeWebDriverFactoryConfig.seleniumGridUrl()), capabilities) : new ChromeDriver(capabilities); driver.manage().timeouts().pageLoadTimeout(5L, TimeUnit.MINUTES); return driver; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java similarity index 96% rename from core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConf.java rename to core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java index bf3cf4932..6659017e5 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConf.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java @@ -21,7 +21,7 @@ import static com.cognifide.aet.worker.drivers.WebDriverHelper.*; @ObjectClassDefinition(name = "AET Chrome WebDriver Factory", description = "AET Chrome WebDriver Factory") -public @interface ChromeWebDriverFactoryConf { +public @interface ChromeWebDriverFactoryConfig { String DEFAULT_BROWSER_NAME = "chrome"; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java index d116e5e23..45c19f320 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java @@ -42,17 +42,17 @@ @Component( property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"} ) -@Designate(ocd = FirefoxWebDriverFactoryConf.class) +@Designate(ocd = FirefoxWebDriverFactoryConfig.class) public class FirefoxWebDriverFactory implements WebDriverFactory { @Reference private HttpRequestExecutorFactory requestExecutorFactory; - private FirefoxWebDriverFactoryConf firefoxWebDriverFactoryConf; + private FirefoxWebDriverFactoryConfig firefoxWebDriverFactoryConfig; @Override public String getName() { - return firefoxWebDriverFactoryConf.name(); + return firefoxWebDriverFactoryConfig.name(); } @Override @@ -99,7 +99,7 @@ public WebCommunicationWrapper createWebDriver() throws WorkerException { private FirefoxProfile getFirefoxProfile() { final FirefoxProfile firefoxProfile = FirefoxProfileBuilder.newInstance() .withUnstableAndFastLoadStrategy() - .withLogfilePath(firefoxWebDriverFactoryConf.logFilePath()) + .withLogfilePath(firefoxWebDriverFactoryConfig.logFilePath()) .withFlashSwitchedOff() .withForcedAliasing() .withJavaScriptErrorCollectorPlugin() @@ -108,7 +108,7 @@ private FirefoxProfile getFirefoxProfile() { .withRandomPort() .withUpdateDisabled() .build(); - System.setProperty("webdriver.firefox.logfile", firefoxWebDriverFactoryConf.logFilePath()); + System.setProperty("webdriver.firefox.logfile", firefoxWebDriverFactoryConfig.logFilePath()); System.setProperty("webdriver.load.strategy", "unstable"); return firefoxProfile; } @@ -116,7 +116,7 @@ private FirefoxProfile getFirefoxProfile() { private void setCommonCapabilities(DesiredCapabilities capabilities, FirefoxProfile fp) { capabilities.setCapability(FirefoxDriver.PROFILE, fp); capabilities.setCapability("marionette", false); - capabilities.setCapability("firefox_binary", new File(firefoxWebDriverFactoryConf.path()).getAbsolutePath()); + capabilities.setCapability("firefox_binary", new File(firefoxWebDriverFactoryConfig.path()).getAbsolutePath()); } private WebDriver getFirefoxDriver(DesiredCapabilities capabilities) { @@ -126,8 +126,8 @@ private WebDriver getFirefoxDriver(DesiredCapabilities capabilities) { } @Activate - public void activate(FirefoxWebDriverFactoryConf firefoxWebDriverFactoryConf) { - this.firefoxWebDriverFactoryConf = firefoxWebDriverFactoryConf; + public void activate(FirefoxWebDriverFactoryConfig firefoxWebDriverFactoryConfig) { + this.firefoxWebDriverFactoryConfig = firefoxWebDriverFactoryConfig; } } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java similarity index 97% rename from core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConf.java rename to core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java index e1ddc7eb9..4be81dc51 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConf.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java @@ -23,7 +23,7 @@ import static com.cognifide.aet.worker.drivers.WebDriverHelper.PATH_LABEL; @ObjectClassDefinition(name = "AET Firefox WebDriver Factory", description = "AET Firefox WebDriver Factory") -public @interface FirefoxWebDriverFactoryConf { +public @interface FirefoxWebDriverFactoryConfig { String DEFAULT_FF_NAME = "ff"; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java index 2dd468e5b..c934add3b 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java @@ -42,7 +42,7 @@ @Component( service = CollectorMessageListenerImpl.class, immediate = true) -@Designate(ocd = CollectorMessageListenerImplConf.class, factory = true) +@Designate(ocd = CollectorMessageListenerImplConfig.class, factory = true) public class CollectorMessageListenerImpl extends AbstractTaskMessageListener { private static final Logger LOGGER = LoggerFactory.getLogger(CollectorMessageListenerImpl.class); @@ -56,12 +56,12 @@ public class CollectorMessageListenerImpl extends AbstractTaskMessageListener { @Reference private WebDriverProvider webDriverProvider; - private CollectorMessageListenerImplConf collectorMessageListenerImplConf; + private CollectorMessageListenerImplConfig collectorMessageListenerImplConfig; @Activate - void activate(CollectorMessageListenerImplConf conf) { - this.collectorMessageListenerImplConf = conf; - super.doActivate(conf.consumerQueueName(), conf.producerQueueName(), conf.pf()); + void activate(CollectorMessageListenerImplConfig config) { + this.collectorMessageListenerImplConfig = config; + super.doActivate(config.consumerQueueName(), config.producerQueueName(), config.pf()); } @Deactivate @@ -83,7 +83,7 @@ public void onMessage(final Message message) { && requestMessageId != null) { LOGGER.info( "CollectorJobData [{}] message arrived with {} urls. CorrelationId: {} RequestMessageId: {}", - collectorMessageListenerImplConf.name(), collectorJobData.getUrls().size(), correlationId, + collectorMessageListenerImplConfig.name(), collectorJobData.getUrls().size(), correlationId, requestMessageId); WebCommunicationWrapper webCommunicationWrapper = null; int collected = 0; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConfig.java similarity index 97% rename from core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConf.java rename to core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConfig.java index 706ec9e4e..fb4fcc39a 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConf.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImplConfig.java @@ -19,7 +19,7 @@ import org.osgi.service.metatype.annotations.ObjectClassDefinition; @ObjectClassDefinition(name = "AET Collector Message Listener") -public @interface CollectorMessageListenerImplConf { +public @interface CollectorMessageListenerImplConfig { String LISTENER_NAME_LABEL = "Collector name"; String LISTENER_NAME_DESC = "Name of collector. Used in logs only"; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java index 1f05cd975..ef2c7027f 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java @@ -31,7 +31,6 @@ import org.apache.commons.lang3.StringUtils; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.ConfigurationPolicy; import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Reference; import org.osgi.service.metatype.annotations.Designate; @@ -41,7 +40,7 @@ @Component( service = ComparatorMessageListenerImpl.class, immediate = true) -@Designate(ocd = ComparatorMessageListenerImplConf.class, factory = true) +@Designate(ocd = ComparatorMessageListenerImplConfig.class, factory = true) public class ComparatorMessageListenerImpl extends AbstractTaskMessageListener { private static final Logger LOGGER = LoggerFactory.getLogger(ComparatorMessageListenerImpl.class); @@ -52,12 +51,12 @@ public class ComparatorMessageListenerImpl extends AbstractTaskMessageListener { @Reference private ComparatorDispatcher dispatcher; - private ComparatorMessageListenerImplConf comparatorMessageListenerImplConf; + private ComparatorMessageListenerImplConfig comparatorMessageListenerImplConfig; @Activate - void activate(ComparatorMessageListenerImplConf conf) { - this.comparatorMessageListenerImplConf = conf; - super.doActivate(conf.consumerQueueName(), conf.producerQueueName(), conf.pf()); + void activate(ComparatorMessageListenerImplConfig config) { + this.comparatorMessageListenerImplConfig = config; + super.doActivate(config.consumerQueueName(), config.producerQueueName(), config.pf()); } @Deactivate diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConfig.java similarity index 97% rename from core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConf.java rename to core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConfig.java index 1b0d8cfcc..45f9f3749 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConf.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImplConfig.java @@ -19,7 +19,7 @@ import org.osgi.service.metatype.annotations.ObjectClassDefinition; @ObjectClassDefinition(name = "AET Comparator Message Listener") -public @interface ComparatorMessageListenerImplConf { +public @interface ComparatorMessageListenerImplConfig { String LISTENER_NAME_LABEL = "Comparator name"; String LISTENER_NAME_DESC = "Name of comparator. Used in logs only"; From c6dad8342cd1e0860f42eb49b16c0a8f1336e618 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Wed, 8 Aug 2018 15:27:46 +0200 Subject: [PATCH 26/72] move constants from WebDriverHelper --- .../cognifide/aet/worker/drivers/WebDriverHelper.java | 10 ---------- .../drivers/chrome/ChromeWebDriverFactoryConfig.java | 10 +++++++--- .../firefox/local/FirefoxWebDriverFactoryConfig.java | 4 ++-- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java index fe87ee478..e92a6e045 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java @@ -31,16 +31,6 @@ public final class WebDriverHelper { public static final String NAME_DESC = "Driver name that will be used by other services like Screenshot Collectors"; - public static final String PATH_LABEL = "Custom path to Firefox binary"; - - public static final String LOG_FILE_PATH_LABEL = "Path to firefox error log"; - - public static final String SELENIUM_GRID_URL_LABEL = "Selenium grid URL"; - - public static final String SELENIUM_GRID_URL_DESC = "Url to selenium grid hub. When null local Chrome driver will be used. Local Chrome driver does not work on Linux"; - - public static final String DEFAULT_SELENIUM_GRID_URL = "http://localhost:4444/wd/hub"; - private WebDriverHelper() { // restrict instantiation } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java index 6659017e5..4e0e3c4e8 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java @@ -25,6 +25,10 @@ String DEFAULT_BROWSER_NAME = "chrome"; + String SELENIUM_GRID_URL_LABEL = "Selenium grid URL"; + String SELENIUM_GRID_URL_DESC = "Url to selenium grid hub. When null local Chrome driver will be used. Local Chrome driver does not work on Linux"; + String DEFAULT_SELENIUM_GRID_URL = "http://localhost:4444/wd/hub"; + @AttributeDefinition( name = NAME_LABEL, description = NAME_DESC, @@ -32,8 +36,8 @@ String name(); @AttributeDefinition( - name = SELENIUM_GRID_URL_LABEL, - description = SELENIUM_GRID_URL_DESC, - defaultValue = DEFAULT_SELENIUM_GRID_URL) + name = ChromeWebDriverFactoryConfig.SELENIUM_GRID_URL_LABEL, + description = ChromeWebDriverFactoryConfig.SELENIUM_GRID_URL_DESC, + defaultValue = ChromeWebDriverFactoryConfig.DEFAULT_SELENIUM_GRID_URL) String seleniumGridUrl(); } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java index 4be81dc51..efab3427f 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java @@ -18,17 +18,17 @@ import org.osgi.service.metatype.annotations.AttributeDefinition; import org.osgi.service.metatype.annotations.ObjectClassDefinition; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.LOG_FILE_PATH_LABEL; import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_LABEL; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.PATH_LABEL; @ObjectClassDefinition(name = "AET Firefox WebDriver Factory", description = "AET Firefox WebDriver Factory") public @interface FirefoxWebDriverFactoryConfig { + String PATH_LABEL = "Custom path to Firefox binary"; String DEFAULT_FF_NAME = "ff"; String DEFAULT_FIREFOX_BINARY_PATH = "/usr/bin/firefox"; + String LOG_FILE_PATH_LABEL = "Path to firefox error log"; String DEFAULT_FIREFOX_ERROR_LOG_FILE_PATH = "/opt/aet/firefox/log/stderr.log"; @AttributeDefinition(name = NAME_LABEL, defaultValue = DEFAULT_FF_NAME) From c0d8b80fd264443e9c9768738f930e24aa46cbc1 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Wed, 8 Aug 2018 15:28:07 +0200 Subject: [PATCH 27/72] removed dependencies --- core/jobs/pom.xml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/core/jobs/pom.xml b/core/jobs/pom.xml index 7aa261e9e..6ec38a368 100644 --- a/core/jobs/pom.xml +++ b/core/jobs/pom.xml @@ -90,10 +90,6 @@ com.googlecode.java-diff-utils diffutils - - org.apache.sling - org.apache.sling.commons.osgi - org.apache.httpcomponents fluent-hc @@ -108,11 +104,6 @@ slf4j-api - - org.apache.felix - org.apache.felix.scr.annotations - - junit @@ -175,6 +166,18 @@ + + + + org.apache.felix + maven-scr-plugin + + + generate-scr-descriptor + none + + + org.apache.rat apache-rat-plugin From 2e97d91d1ce8e0bf6c6ec3467ed3895c7e70adbf Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Wed, 8 Aug 2018 15:33:46 +0200 Subject: [PATCH 28/72] removed unused variables --- .../modifiers/executejavascript/ExternalSnippetHttpClient.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/executejavascript/ExternalSnippetHttpClient.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/executejavascript/ExternalSnippetHttpClient.java index edc26acd7..5fd10d9cf 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/executejavascript/ExternalSnippetHttpClient.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/modifiers/executejavascript/ExternalSnippetHttpClient.java @@ -45,9 +45,6 @@ public class ExternalSnippetHttpClient { private static final Logger LOGGER = LoggerFactory.getLogger(ExternalSnippetHttpClient.class); - private static final long DEFAULT_CONNECTION_TTL = 60L; - private static final int DEFAULT_MAX_CONCURRENT_CONNECTIONS = 50; - private CloseableHttpClient httpClient; private ExternalSnippetHttpClientConf config; From 1974b97b8440fc8c6bc0b05bbf9683e523d2c374 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Wed, 8 Aug 2018 15:50:24 +0200 Subject: [PATCH 29/72] remove wildcard import --- .../worker/drivers/chrome/ChromeWebDriverFactoryConfig.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java index 4e0e3c4e8..559ca4ce2 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java @@ -18,7 +18,8 @@ import org.osgi.service.metatype.annotations.AttributeDefinition; import org.osgi.service.metatype.annotations.ObjectClassDefinition; -import static com.cognifide.aet.worker.drivers.WebDriverHelper.*; +import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_LABEL; +import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_DESC; @ObjectClassDefinition(name = "AET Chrome WebDriver Factory", description = "AET Chrome WebDriver Factory") public @interface ChromeWebDriverFactoryConfig { From f45708659fb3c272c6c8cf6c0ebb37ae1f946e18 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Wed, 8 Aug 2018 15:57:58 +0200 Subject: [PATCH 30/72] felix dependency removed --- osgi-dependencies/proxy/pom.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/osgi-dependencies/proxy/pom.xml b/osgi-dependencies/proxy/pom.xml index 8114c6629..b406841d2 100644 --- a/osgi-dependencies/proxy/pom.xml +++ b/osgi-dependencies/proxy/pom.xml @@ -78,12 +78,7 @@ org.apache.httpcomponents httpclient - - - org.apache.felix - org.apache.felix.scr.annotations - - + com.github.detro From 95afbe072a78ee03c3efb064192b165c687037a3 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Thu, 9 Aug 2018 09:25:40 +0200 Subject: [PATCH 31/72] updated osgi annotatations in communication --- core/communication/pom.xml | 24 ++++++++- .../aet/queues/DefaultJmsConnection.java | 46 ++++++----------- .../DefaultJmsConnectionConf.java | 49 +++++++++++++++++++ pom.xml | 21 +++++++- 4 files changed, 106 insertions(+), 34 deletions(-) create mode 100644 core/communication/src/main/java/com/cognifide/aet/queues/configuration/DefaultJmsConnectionConf.java diff --git a/core/communication/pom.xml b/core/communication/pom.xml index 7b2fde580..03ad5e890 100644 --- a/core/communication/pom.xml +++ b/core/communication/pom.xml @@ -40,8 +40,16 @@ - org.apache.felix - org.apache.felix.scr.annotations + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations org.apache.activemq @@ -68,6 +76,18 @@ + + + + org.apache.felix + maven-scr-plugin + + + generate-scr-descriptor + none + + + org.apache.felix maven-bundle-plugin diff --git a/core/communication/src/main/java/com/cognifide/aet/queues/DefaultJmsConnection.java b/core/communication/src/main/java/com/cognifide/aet/queues/DefaultJmsConnection.java index 5cbbbaacf..7f7a20bde 100644 --- a/core/communication/src/main/java/com/cognifide/aet/queues/DefaultJmsConnection.java +++ b/core/communication/src/main/java/com/cognifide/aet/queues/DefaultJmsConnection.java @@ -17,35 +17,25 @@ import com.cognifide.aet.communication.api.queues.JmsConnection; import com.cognifide.aet.communication.api.queues.JmsEndpointConfig; -import java.util.Map; +import com.cognifide.aet.queues.configuration.DefaultJmsConnectionConf; import javax.jms.Connection; import javax.jms.JMSException; import javax.jms.Session; import org.apache.activemq.ActiveMQConnectionFactory; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; import org.osgi.service.cm.ConfigurationAdmin; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(immediate = true, metatype = true, description = "AET JMS Connection", label = "AET Default JMS Connection") +@Component(service = JmsConnection.class, immediate = true) public class DefaultJmsConnection implements JmsConnection { private static final boolean SESSION_TRANSACTION_DEFAULT_SETTING = false; - @Property(name = "url", label = "brokerUrl", description = "URL of the broker, no trailing '/', see http://activemq.apache.org/uri-protocols.html", value = "failover:tcp://localhost:61616") - private String brokerURL; - - @Property(name = "username", label = "username", description = "ActiveMQ username", value = "karaf") - private String username; - - @Property(name = "password", label = "password", description = "ActiveMQ password", value = "karaf") - private String password; + private DefaultJmsConnectionConf config; @Reference private ConfigurationAdmin configurationAdmin; @@ -66,20 +56,20 @@ public Connection getJmsConnection() { @Override public JmsEndpointConfig getEndpointConfig() { - return new JmsEndpointConfig(brokerURL, username, password); + return new JmsEndpointConfig(config.brokerURL(), config.username(), config.password()); } @Activate - public void activate(Map properties) throws JMSException { - updateProperties(properties); + public void activate(DefaultJmsConnectionConf config) throws JMSException { + this.config = config; connect(); } public void connect() throws JMSException { - LOG.info("Connecting to broker {} on user {}", brokerURL, username); - final ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerURL); - connectionFactory.setUserName(username); - connectionFactory.setPassword(password); + LOG.info("Connecting to broker {} on user {}", config.brokerURL(), config.username()); + final ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(config.brokerURL()); + connectionFactory.setUserName(config.username()); + connectionFactory.setPassword(config.password()); connectionFactory.setTrustAllPackages(true); connection = connectionFactory.createConnection(); connection.start(); @@ -91,14 +81,8 @@ public void deactivate() { } public void disconnect() { - LOG.info("Disconnecting from broker {} on user {}", brokerURL, username); + LOG.info("Disconnecting from broker {} on user {}", config.brokerURL(), config.username()); JmsUtils.closeQuietly(connection); } - private void updateProperties(Map stringDictionary) { - username = (String) stringDictionary.get("username"); - password = (String) stringDictionary.get("password"); - brokerURL = (String) stringDictionary.get("url"); - } - } diff --git a/core/communication/src/main/java/com/cognifide/aet/queues/configuration/DefaultJmsConnectionConf.java b/core/communication/src/main/java/com/cognifide/aet/queues/configuration/DefaultJmsConnectionConf.java new file mode 100644 index 000000000..4af9aafa6 --- /dev/null +++ b/core/communication/src/main/java/com/cognifide/aet/queues/configuration/DefaultJmsConnectionConf.java @@ -0,0 +1,49 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.queues.configuration; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.AttributeType; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "AET JMS Connection", description = "AET JMS Connection") +public @interface DefaultJmsConnectionConf { + + String DEFAULT_BROKER_URL_PARAM = "failover:tcp://localhost:61616"; + + String DEFAULT_USERNAME_PARAM = "karaf"; + + String DEFAULT_PASSWORD_PARAM = "karaf"; + + @AttributeDefinition( + name = "brokerUrl", + description = "URL of the broker, no trailing '/', see http://activemq.apache.org/uri-protocols.html", + type = AttributeType.STRING) + String brokerURL() default DEFAULT_BROKER_URL_PARAM; + + @AttributeDefinition( + name = "username", + description = "ActiveMQ username", + type = AttributeType.STRING) + String username() default DEFAULT_USERNAME_PARAM; + + @AttributeDefinition( + name = "password", + description = "ActiveMQ password", + type = AttributeType.STRING) + String password() default DEFAULT_PASSWORD_PARAM; + +} diff --git a/pom.xml b/pom.xml index 0d78e339e..c44e92d20 100644 --- a/pom.xml +++ b/pom.xml @@ -174,6 +174,25 @@ + + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + provided + + + org.osgi + org.osgi.annotation + 6.0.0 + provided + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + provided + org.osgi org.osgi.core @@ -668,7 +687,7 @@ org.codehaus.mojo sonar-maven-plugin - 3.4.1.1168 + 3.4.1.1168 org.jacoco From 5e94988f60d9528f067a4786377d3ddaa1a5431a Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Thu, 9 Aug 2018 10:14:34 +0200 Subject: [PATCH 32/72] new OSGi annotations - datastorage --- core/datastorage/pom.xml | 24 ++++++++++- .../vs/artifacts/ArtifactsDAOMongoDBImpl.java | 8 ++-- .../vs/metadata/MetadataDAOMongoDBImpl.java | 8 ++-- .../aet/vs/mongodb/MongoDBClient.java | 41 +++++-------------- .../configuration/MongoDBClientConf.java | 40 ++++++++++++++++++ pom.xml | 18 ++++++++ 6 files changed, 97 insertions(+), 42 deletions(-) create mode 100644 core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/configuration/MongoDBClientConf.java diff --git a/core/datastorage/pom.xml b/core/datastorage/pom.xml index f0e0b270f..4d3cd88e2 100644 --- a/core/datastorage/pom.xml +++ b/core/datastorage/pom.xml @@ -60,8 +60,16 @@ commons-codec - org.apache.felix - org.apache.felix.scr.annotations + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations com.google.code.gson @@ -125,6 +133,18 @@ + + + + org.apache.felix + maven-scr-plugin + + + generate-scr-descriptor + none + + + diff --git a/core/datastorage/src/main/java/com/cognifide/aet/vs/artifacts/ArtifactsDAOMongoDBImpl.java b/core/datastorage/src/main/java/com/cognifide/aet/vs/artifacts/ArtifactsDAOMongoDBImpl.java index 584fd2436..4ca483e6c 100644 --- a/core/datastorage/src/main/java/com/cognifide/aet/vs/artifacts/ArtifactsDAOMongoDBImpl.java +++ b/core/datastorage/src/main/java/com/cognifide/aet/vs/artifacts/ArtifactsDAOMongoDBImpl.java @@ -32,16 +32,14 @@ import java.util.Date; import java.util.Set; import org.apache.commons.io.IOUtils; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; import org.bson.Document; import org.bson.types.ObjectId; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(label = "AET Artifacts DAO implementation for MongoDB", immediate = true) +@Component(immediate = true) public class ArtifactsDAOMongoDBImpl implements ArtifactsDAO { private static final Logger LOGGER = LoggerFactory.getLogger(ArtifactsDAOMongoDBImpl.class); diff --git a/core/datastorage/src/main/java/com/cognifide/aet/vs/metadata/MetadataDAOMongoDBImpl.java b/core/datastorage/src/main/java/com/cognifide/aet/vs/metadata/MetadataDAOMongoDBImpl.java index e692f2a03..d963c311b 100644 --- a/core/datastorage/src/main/java/com/cognifide/aet/vs/metadata/MetadataDAOMongoDBImpl.java +++ b/core/datastorage/src/main/java/com/cognifide/aet/vs/metadata/MetadataDAOMongoDBImpl.java @@ -36,15 +36,13 @@ import java.util.Collection; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; import org.bson.Document; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(label = "AET Metadata DAO implementation for MongoDB", immediate = true) +@Component(immediate = true) public class MetadataDAOMongoDBImpl implements MetadataDAO { private static final long serialVersionUID = 3031952772776598636L; diff --git a/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/MongoDBClient.java b/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/MongoDBClient.java index 273c65e13..c1c33b745 100644 --- a/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/MongoDBClient.java +++ b/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/MongoDBClient.java @@ -16,6 +16,7 @@ package com.cognifide.aet.vs.mongodb; import com.cognifide.aet.vs.metadata.MetadataDAOMongoDBImpl; +import com.cognifide.aet.vs.mongodb.configuration.MongoDBClientConf; import com.mongodb.DB; import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; @@ -25,45 +26,30 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.Map; import java.util.Set; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Service; -import org.apache.sling.commons.osgi.PropertiesUtil; import org.bson.BsonDocument; import org.bson.BsonInt32; import org.bson.Document; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(MongoDBClient.class) -@Component(immediate = true, metatype = true, label = "AET MongoDB Client", description = "AET MongoDB Client") +@Component(service = MongoDBClient.class, immediate = true) +@Designate(ocd = MongoDBClientConf.class) public class MongoDBClient { private static final Logger LOGGER = LoggerFactory.getLogger(MongoDBClient.class); - private static final String MONGO_URI = "MongoURI"; - - private static final String DEFAULT_MONGODB_URI = "mongodb://localhost"; - private static final int MAX_DB_NAME_LENGTH = 64; - private static final boolean DEFAULT_AUTOCREATE_VALUE = false; - public static final String DB_NAME_SEPARATOR = "_"; - @Property(name = MONGO_URI, label = "MongoURI", description = - "mongodb://[username:password@]host1[:port1][,host2[:port2]," - + "...[,hostN[:portN]]][/[database][?options]]", value = DEFAULT_MONGODB_URI) private String mongoUri; - private static final String ALLOW_AUTO_CREATE = "AllowAutoCreate"; - - @Property(name = ALLOW_AUTO_CREATE, label = "Allow automatic creation of DB", description = "Allows automatic creation of DB if set to true", boolValue = DEFAULT_AUTOCREATE_VALUE) private Boolean allowAutoCreate; private MongoClient mongoClient; @@ -73,8 +59,9 @@ public MongoClient getMongoClient() { } @Activate - public void activate(Map properties) { - setupProperties(properties); + public void activate(MongoDBClientConf config) { + this.mongoUri = config.MongoURI(); + this.allowAutoCreate = config.AllowAutoCreate(); try { setupMongoDBConnection(); } catch (Exception e) { @@ -116,13 +103,7 @@ public Collection getCompanies() { return companies; } - - private void setupProperties(Map properties) { - this.mongoUri = PropertiesUtil.toString(properties.get(MONGO_URI), DEFAULT_MONGODB_URI); - this.allowAutoCreate = PropertiesUtil.toBoolean(properties.get(ALLOW_AUTO_CREATE), - DEFAULT_AUTOCREATE_VALUE); - } - + private void setupMongoDBConnection() throws UnknownHostException { mongoClient = new MongoClient(new MongoClientURI(mongoUri)); testConnection(); diff --git a/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/configuration/MongoDBClientConf.java b/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/configuration/MongoDBClientConf.java new file mode 100644 index 000000000..eb1ad54e6 --- /dev/null +++ b/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/configuration/MongoDBClientConf.java @@ -0,0 +1,40 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.vs.mongodb.configuration; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.AttributeType; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "AET MongoDB Client", description = "AET MongoDB Client") +public @interface MongoDBClientConf { + + String MONGO_URI = "MongoURI"; + + String DEFAULT_MONGODB_URI = "mongodb://localhost"; + + String ALLOW_AUTO_CREATE = "AllowAutoCreate"; + + boolean DEFAULT_AUTOCREATE_VALUE = false; + + @AttributeDefinition(name = MONGO_URI, description = + "mongodb://[username:password@]host1[:port1][,host2[:port2]," + + "...[,hostN[:portN]]][/[database][?options]]", type = AttributeType.STRING) + String MongoURI() default DEFAULT_MONGODB_URI; + + @AttributeDefinition(name = ALLOW_AUTO_CREATE, description = "Allows automatic creation of DB if set to true", type = AttributeType.BOOLEAN) + boolean AllowAutoCreate() default DEFAULT_AUTOCREATE_VALUE; +} diff --git a/pom.xml b/pom.xml index 0d78e339e..e85d7424b 100644 --- a/pom.xml +++ b/pom.xml @@ -198,6 +198,24 @@ 1.8.16 provided + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + provided + + + org.osgi + org.osgi.annotation + 6.0.0 + provided + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + provided + From 0669e2ffdb54fff6d98a60c4e9518fccde43af53 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Thu, 9 Aug 2018 10:25:17 +0200 Subject: [PATCH 33/72] sling dependency removed --- osgi-dependencies/proxy/pom.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/osgi-dependencies/proxy/pom.xml b/osgi-dependencies/proxy/pom.xml index b406841d2..daf6c8e4b 100644 --- a/osgi-dependencies/proxy/pom.xml +++ b/osgi-dependencies/proxy/pom.xml @@ -66,10 +66,6 @@ org.json json - - org.apache.sling - org.apache.sling.commons.osgi - com.google.code.gson gson From a4b95c8598dc20dabce57eb769c7849a0d4b8f16 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Thu, 9 Aug 2018 10:43:43 +0200 Subject: [PATCH 34/72] MongoDBClientConf - refactor --- .../mongodb/configuration/MongoDBClientConf.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/configuration/MongoDBClientConf.java b/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/configuration/MongoDBClientConf.java index eb1ad54e6..9d6f5d183 100644 --- a/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/configuration/MongoDBClientConf.java +++ b/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/configuration/MongoDBClientConf.java @@ -22,19 +22,22 @@ @ObjectClassDefinition(name = "AET MongoDB Client", description = "AET MongoDB Client") public @interface MongoDBClientConf { - String MONGO_URI = "MongoURI"; + String MONGO_URI_PROPERTY_NAME = "MongoURI"; + + String MONGO_URI_PROPERTY_DESCRIPTION = "mongodb://[username:password@]host1[:port1][,host2[:port2]," + + "...[,hostN[:portN]]][/[database][?options]]"; String DEFAULT_MONGODB_URI = "mongodb://localhost"; - String ALLOW_AUTO_CREATE = "AllowAutoCreate"; + String ALLOW_AUTO_CREATE_PROPERTY_NAME = "Allow automatic creation of DB"; + + String ALLOW_AUTO_CREATE_PROPERTY_DESCRIPTION = "Allows automatic creation of DB if set to true"; boolean DEFAULT_AUTOCREATE_VALUE = false; - @AttributeDefinition(name = MONGO_URI, description = - "mongodb://[username:password@]host1[:port1][,host2[:port2]," - + "...[,hostN[:portN]]][/[database][?options]]", type = AttributeType.STRING) + @AttributeDefinition(name = MONGO_URI_PROPERTY_NAME, description = MONGO_URI_PROPERTY_DESCRIPTION, type = AttributeType.STRING) String MongoURI() default DEFAULT_MONGODB_URI; - @AttributeDefinition(name = ALLOW_AUTO_CREATE, description = "Allows automatic creation of DB if set to true", type = AttributeType.BOOLEAN) + @AttributeDefinition(name = ALLOW_AUTO_CREATE_PROPERTY_NAME, description = ALLOW_AUTO_CREATE_PROPERTY_DESCRIPTION, type = AttributeType.BOOLEAN) boolean AllowAutoCreate() default DEFAULT_AUTOCREATE_VALUE; } From 3cca0e2217f94ce278f56dd89a24c4bb1c132800 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Thu, 9 Aug 2018 10:57:43 +0200 Subject: [PATCH 35/72] updated annotatations in cleaner --- core/cleaner/pom.xml | 32 +++++-- .../aet/cleaner/CleanerScheduler.java | 93 ++++++------------- .../configuration/CleanerSchedulerConf.java | 77 +++++++++++++++ .../FetchAllProjectSuitesProcessor.java | 8 +- .../GetMetadataArtifactsProcessor.java | 6 +- .../processors/RemoveArtifactsProcessor.java | 8 +- .../processors/RemoveMetadataProcessor.java | 8 +- .../StartMetadataCleanupProcessor.java | 8 +- .../SuitesRemovePredicateProcessor.java | 6 +- .../route/MetadataCleanerRouteBuilder.java | 8 +- pom.xml | 38 +++++++- 11 files changed, 182 insertions(+), 110 deletions(-) create mode 100644 core/cleaner/src/main/java/com/cognifide/aet/cleaner/configuration/CleanerSchedulerConf.java diff --git a/core/cleaner/pom.xml b/core/cleaner/pom.xml index a22e6cdb8..90a3e322f 100644 --- a/core/cleaner/pom.xml +++ b/core/cleaner/pom.xml @@ -56,8 +56,16 @@ - org.apache.felix - org.apache.felix.scr.annotations + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations com.google.guava @@ -71,10 +79,6 @@ org.apache.activemq activemq-osgi - - org.apache.felix - org.apache.felix.configadmin - org.apache.servicemix.bundles org.apache.servicemix.bundles.quartz @@ -87,10 +91,6 @@ joda-time joda-time - - org.apache.sling - org.apache.sling.commons.osgi - junit @@ -126,6 +126,18 @@ + + + + org.apache.felix + maven-scr-plugin + + + generate-scr-descriptor + none + + + org.apache.felix maven-bundle-plugin diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/CleanerScheduler.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/CleanerScheduler.java index 51c84e488..fc5e56811 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/CleanerScheduler.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/CleanerScheduler.java @@ -15,22 +15,20 @@ */ package com.cognifide.aet.cleaner; +import com.cognifide.aet.cleaner.configuration.CleanerSchedulerConf; import com.cognifide.aet.cleaner.route.MetadataCleanerRouteBuilder; import com.cognifide.aet.cleaner.validation.CleanerSchedulerValidator; import com.cognifide.aet.validation.ValidationResultBuilder; import com.cognifide.aet.validation.ValidationResultBuilderFactory; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableMap; -import java.util.Map; import java.util.UUID; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.ConfigurationPolicy; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; -import org.apache.sling.commons.osgi.PropertiesUtil; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.ConfigurationPolicy; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; import org.quartz.CronScheduleBuilder; import org.quartz.JobBuilder; import org.quartz.JobDataMap; @@ -44,47 +42,18 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(CleanerScheduler.class) -@Component(immediate = true, metatype = true, label = "AET Cleaning Scheduler Service", policy = ConfigurationPolicy.REQUIRE, configurationFactory = true) +@Component( + service = CleanerScheduler.class, + immediate = true, + configurationPolicy = ConfigurationPolicy.REQUIRE) +@Designate(ocd = CleanerSchedulerConf.class, factory = true) public class CleanerScheduler { private static final Logger LOGGER = LoggerFactory.getLogger(CleanerScheduler.class); - private static final String COMPANY_NAME = "companyName"; - - private static final String PROJECT_NAME = "projectName"; - - private static final String REMOVE_OLDER_THAN = "removeOlderThan"; - - private static final String KEEP_N_VERSIONS = "keepNVersions"; - - private static final String SCHEDULE_CRON = "schedule"; - - private static final String DRY_RUN = "dryRun"; - - private static final long DEFAULT_REMOVE_OLDER_THAN_PARAM = 10L; - - private static final long DEFAULT_KEEP_N_VERSIONS_PARAM = 1L; - private Scheduler scheduler; - @Property(name = SCHEDULE_CRON, label = "Schedule", description = "CRON notation of when the job is to be fired. [example: '0 0 21 ? * *' will trigger job daily at 21:00].") - private String schedule; - - @Property(name = KEEP_N_VERSIONS, label = "Last versions to keep", description = "Defines number of artifacts versions that will be left after clean operation [integer]. If left empty, only one version will be kept after cleaning operation.", longValue = DEFAULT_KEEP_N_VERSIONS_PARAM) - private Long keepNVersions; - - @Property(name = REMOVE_OLDER_THAN, label = "Remove artifacts older than", description = "Defines how old files should be removed [integer days]. Works as conjunction with last versions to keep.", longValue = DEFAULT_REMOVE_OLDER_THAN_PARAM) - private Long removeOlderThan; - - @Property(name = COMPANY_NAME, label = "Company Name", description = "Name of the company for which we wish cleaning to be performed. Leave blank if you wish to trigger this job for each company on database.") - private String companyName; - - @Property(name = PROJECT_NAME, label = "Project Name", description = "Name of the project for which we wish cleaning to be performed. Leave blank if you wish to trigger this job for each project on database.") - private String projectName; - - @Property(name = DRY_RUN, label = "Dry run", description = "Flag that says if operation should be run in 'dry run' mode. When checked, no changes will be performed on database.", boolValue = true) - private Boolean dryRun; + private CleanerSchedulerConf config; @Reference private MetadataCleanerRouteBuilder metadataCleanerRouteBuilder; @@ -98,21 +67,14 @@ public class CleanerScheduler { private String scheduledJob; @Activate - public void activate(Map properties) { + public void activate(CleanerSchedulerConf config) { LOGGER.info("Activating CleanerScheduler."); try { - schedule = PropertiesUtil.toString(properties.get(SCHEDULE_CRON), null); - removeOlderThan = PropertiesUtil - .toLong(properties.get(REMOVE_OLDER_THAN), DEFAULT_REMOVE_OLDER_THAN_PARAM); - keepNVersions = PropertiesUtil - .toLong(properties.get(KEEP_N_VERSIONS), DEFAULT_KEEP_N_VERSIONS_PARAM); - companyName = PropertiesUtil.toString(properties.get(COMPANY_NAME), ""); - projectName = PropertiesUtil.toString(properties.get(PROJECT_NAME), ""); - dryRun = PropertiesUtil.toBoolean(properties.get(DRY_RUN), true); + this.config = config; ValidationResultBuilder validationResultBuilder = validationResultBuilderFactory .createInstance(); - new CleanerSchedulerValidator(schedule, keepNVersions, removeOlderThan) + new CleanerSchedulerValidator(config.schedule(), config.keepNVersions(), config.removeOlderThan()) .validate(validationResultBuilder); if (!validationResultBuilder.hasErrors()) { scheduler = StdSchedulerFactory.getDefaultScheduler(); @@ -156,11 +118,10 @@ private String registerCleaningJob() throws SchedulerException { final ImmutableMap jobData = ImmutableMap.builder() .put(CleanerJob.KEY_ROUTE_BUILDER, metadataCleanerRouteBuilder) - .put(CleanerJob.KEY_KEEP_N_VERSIONS, keepNVersions) - .put(CleanerJob.KEY_REMOVE_OLDER_THAN, removeOlderThan) - .put(CleanerJob.KEY_COMPANY_FILTER, companyName) - .put(CleanerJob.KEY_PROJECT_FILTER, projectName) - .put(CleanerJob.KEY_DRY_RUN, dryRun) + .put(CleanerJob.KEY_REMOVE_OLDER_THAN, config.removeOlderThan()) + .put(CleanerJob.KEY_COMPANY_FILTER, config.companyName()) + .put(CleanerJob.KEY_PROJECT_FILTER, config.projectName()) + .put(CleanerJob.KEY_DRY_RUN, config.dryRun()) .build(); JobDetail jobDetail = JobBuilder.newJob(CleanerJob.class) @@ -170,7 +131,7 @@ private String registerCleaningJob() throws SchedulerException { Trigger trigger = TriggerBuilder.newTrigger() .withIdentity(cleanerTriggerName) - .withSchedule(CronScheduleBuilder.cronSchedule(schedule)) + .withSchedule(CronScheduleBuilder.cronSchedule(config.schedule())) .build(); scheduler.scheduleJob(jobDetail, trigger); @@ -180,12 +141,12 @@ private String registerCleaningJob() throws SchedulerException { @Override public String toString() { return MoreObjects.toStringHelper(this) - .add("schedule", schedule) - .add("keepNVersions", keepNVersions) - .add("removeOlderThan", removeOlderThan) - .add("companyName", companyName) - .add("projectName", projectName) - .add("dryRun", dryRun) + .add("schedule", config.schedule()) + .add("keepNVersions", config.keepNVersions()) + .add("removeOlderThan", config.removeOlderThan()) + .add("companyName", config.companyName()) + .add("projectName", config.projectName()) + .add("dryRun", config.dryRun()) .toString(); } } diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/configuration/CleanerSchedulerConf.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/configuration/CleanerSchedulerConf.java new file mode 100644 index 000000000..25e99463e --- /dev/null +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/configuration/CleanerSchedulerConf.java @@ -0,0 +1,77 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.cleaner.configuration; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.AttributeType; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "AET Cleaning Scheduler Service", description = "AET Cleaning Scheduler Service") +public @interface CleanerSchedulerConf { + + String COMPANY_NAME = "companyName"; + + String PROJECT_NAME = "projectName"; + + String REMOVE_OLDER_THAN = "removeOlderThan"; + + String KEEP_N_VERSIONS = "keepNVersions"; + + String SCHEDULE_CRON = "schedule"; + + String DRY_RUN = "dryRun"; + + long DEFAULT_REMOVE_OLDER_THAN_PARAM = 10L; + + long DEFAULT_KEEP_N_VERSIONS_PARAM = 1L; + + @AttributeDefinition( + name = SCHEDULE_CRON, + description = "CRON notation of when the job is to be fired. [example: '0 0 21 ? * *' will trigger job daily at 21:00].") + String schedule(); + + @AttributeDefinition( + name = KEEP_N_VERSIONS, + description = "Defines number of artifacts versions that will be left after clean operation [integer]. If left empty, only one version will be kept after cleaning operation.", + type = AttributeType.LONG) + long keepNVersions() default DEFAULT_KEEP_N_VERSIONS_PARAM; + + @AttributeDefinition( + name = REMOVE_OLDER_THAN, + description = "Defines how old files should be removed [integer days]. Works as conjunction with last versions to keep.", + type = AttributeType.LONG) + long removeOlderThan() default DEFAULT_REMOVE_OLDER_THAN_PARAM; + + @AttributeDefinition( + name = COMPANY_NAME, + description = "Name of the company for which we wish cleaning to be performed. Leave blank if you wish to trigger this job for each company on database.", + type = AttributeType.STRING) + String companyName(); + + @AttributeDefinition( + name = PROJECT_NAME, + description = "Name of the project for which we wish cleaning to be performed. Leave blank if you wish to trigger this job for each project on database.", + type = AttributeType.STRING) + String projectName(); + + @AttributeDefinition( + name = DRY_RUN, + description = "Flag that says if operation should be run in 'dry run' mode. When checked, no changes will be performed on database.", + type = AttributeType.BOOLEAN) + boolean dryRun() default true; + + +} diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/FetchAllProjectSuitesProcessor.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/FetchAllProjectSuitesProcessor.java index 85d97c77a..24cfc07ba 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/FetchAllProjectSuitesProcessor.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/FetchAllProjectSuitesProcessor.java @@ -29,14 +29,12 @@ import java.util.Map; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(FetchAllProjectSuitesProcessor.class) -@Component +@Component(service = FetchAllProjectSuitesProcessor.class) public class FetchAllProjectSuitesProcessor implements Processor { private static final Logger LOGGER = LoggerFactory diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/GetMetadataArtifactsProcessor.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/GetMetadataArtifactsProcessor.java index 20050ffa5..712b5f643 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/GetMetadataArtifactsProcessor.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/GetMetadataArtifactsProcessor.java @@ -34,13 +34,11 @@ import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(GetMetadataArtifactsProcessor.class) -@Component +@Component(service = GetMetadataArtifactsProcessor.class) public class GetMetadataArtifactsProcessor implements Processor { private static final Logger LOGGER = LoggerFactory.getLogger(GetMetadataArtifactsProcessor.class); diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/RemoveArtifactsProcessor.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/RemoveArtifactsProcessor.java index 8339af855..34a6a5808 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/RemoveArtifactsProcessor.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/RemoveArtifactsProcessor.java @@ -21,14 +21,12 @@ import com.google.common.collect.Sets; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(RemoveArtifactsProcessor.class) -@Component +@Component(service = RemoveArtifactsProcessor.class) public class RemoveArtifactsProcessor implements Processor { private static final Logger LOGGER = LoggerFactory.getLogger(RemoveArtifactsProcessor.class); diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/RemoveMetadataProcessor.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/RemoveMetadataProcessor.java index 33c45d3c8..849b87a66 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/RemoveMetadataProcessor.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/RemoveMetadataProcessor.java @@ -21,14 +21,12 @@ import com.cognifide.aet.vs.MetadataDAO; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(RemoveMetadataProcessor.class) -@Component +@Component(service = RemoveMetadataProcessor.class) public class RemoveMetadataProcessor implements Processor { private static final Logger LOGGER = LoggerFactory.getLogger(RemoveMetadataProcessor.class); diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/StartMetadataCleanupProcessor.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/StartMetadataCleanupProcessor.java index 884d02922..4f279a14e 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/StartMetadataCleanupProcessor.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/StartMetadataCleanupProcessor.java @@ -26,17 +26,15 @@ import java.util.Collection; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Query for all databases and passes them to split. */ -@Service(StartMetadataCleanupProcessor.class) -@Component +@Component(service = StartMetadataCleanupProcessor.class) public class StartMetadataCleanupProcessor implements Processor { private static final Logger LOGGER = LoggerFactory.getLogger(StartMetadataCleanupProcessor.class); diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/SuitesRemovePredicateProcessor.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/SuitesRemovePredicateProcessor.java index d6dd35ec8..6c9605ab0 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/SuitesRemovePredicateProcessor.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/processors/SuitesRemovePredicateProcessor.java @@ -28,13 +28,11 @@ import java.util.Collection; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service(SuitesRemovePredicateProcessor.class) -@Component +@Component(service = SuitesRemovePredicateProcessor.class) public class SuitesRemovePredicateProcessor implements Processor { private static final Logger LOGGER = LoggerFactory diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/route/MetadataCleanerRouteBuilder.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/route/MetadataCleanerRouteBuilder.java index c97f92ba8..218c0c65b 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/route/MetadataCleanerRouteBuilder.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/route/MetadataCleanerRouteBuilder.java @@ -26,12 +26,10 @@ import com.cognifide.aet.cleaner.processors.SuitesRemovePredicateProcessor; import com.cognifide.aet.communication.api.exceptions.AETException; import org.apache.camel.builder.RouteBuilder; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; -@Service(MetadataCleanerRouteBuilder.class) -@Component(label = "AET Metadata Cleaner Route Builder") +@Component(service = MetadataCleanerRouteBuilder.class) public class MetadataCleanerRouteBuilder extends RouteBuilder { private static final String ERROR_ENDPOINT = "seda:Error"; diff --git a/pom.xml b/pom.xml index 0d78e339e..88ff8487f 100644 --- a/pom.xml +++ b/pom.xml @@ -174,6 +174,24 @@ + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + provided + + + org.osgi + org.osgi.annotation + 6.0.0 + provided + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + provided + org.osgi org.osgi.core @@ -442,6 +460,24 @@ ${project.version} provided + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + provided + + + org.osgi + org.osgi.annotation + 6.0.0 + provided + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + provided + @@ -668,7 +704,7 @@ org.codehaus.mojo sonar-maven-plugin - 3.4.1.1168 + 3.4.1.1168 org.jacoco From 8e1a7299205dac58a050c02fe258bcc3612c736b Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Thu, 9 Aug 2018 12:08:10 +0200 Subject: [PATCH 36/72] remove felix dependency --- core/worker/pom.xml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/core/worker/pom.xml b/core/worker/pom.xml index 133a9e5cf..f6c0b41dc 100644 --- a/core/worker/pom.xml +++ b/core/worker/pom.xml @@ -91,10 +91,6 @@ javax.validation validation-api - - org.apache.felix - org.apache.felix.scr.annotations - org.apache.httpcomponents fluent-hc @@ -158,6 +154,18 @@ + + + + org.apache.felix + maven-scr-plugin + + + generate-scr-descriptor + none + + + org.apache.maven.plugins From c6098be0c2b98210cb569b320891a1454d6836e0 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Thu, 9 Aug 2018 15:31:02 +0200 Subject: [PATCH 37/72] added new positions to CHANGELOG associated with new osgi annotations --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 506b6076f..1f661dd78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,9 @@ All notable changes to AET will be documented in this file. ## Unreleased **List of changes that are finished but not yet released in any final version.** +- [PR-314](https://github.com/Cognifide/aet/pull/314) Updated osgi annotation in jobs +- [PR-313](https://github.com/Cognifide/aet/pull/313) Update osgi annotations in validation +- [PR-308](https://github.com/Cognifide/aet/pull/308) Update annotations in test executor - [PR-300](https://github.com/Cognifide/aet/pull/300) Added creating indexes for collection - [PR-289](https://github.com/Cognifide/aet/pull/289) User now stays on the same tab while navigating between URLs - [PR-271](https://github.com/Cognifide/aet/pull/271) Added possibility to override name parameter from the aet client From e6bbd5c23a14d9a3fa5dcd93ae79067d37a50cc7 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Thu, 9 Aug 2018 16:03:24 +0200 Subject: [PATCH 38/72] PRs grouped --- CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f661dd78..4ec4391e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,7 @@ All notable changes to AET will be documented in this file. ## Unreleased **List of changes that are finished but not yet released in any final version.** -- [PR-314](https://github.com/Cognifide/aet/pull/314) Updated osgi annotation in jobs -- [PR-313](https://github.com/Cognifide/aet/pull/313) Update osgi annotations in validation -- [PR-308](https://github.com/Cognifide/aet/pull/308) Update annotations in test executor +- [PR-308](https://github.com/Cognifide/aet/pull/308), [PR-313](https://github.com/Cognifide/aet/pull/313], [PR-314](https://github.com/Cognifide/aet/pull/314) - updated OSGi annotations to 6.0.0 OSGi standard - [PR-300](https://github.com/Cognifide/aet/pull/300) Added creating indexes for collection - [PR-289](https://github.com/Cognifide/aet/pull/289) User now stays on the same tab while navigating between URLs - [PR-271](https://github.com/Cognifide/aet/pull/271) Added possibility to override name parameter from the aet client From 9a43fc8fd12523a939e6e4fe95389663e01ab35d Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Fri, 10 Aug 2018 09:17:01 +0200 Subject: [PATCH 39/72] remove unused method --- .../com/cognifide/aet/worker/drivers/WebDriverHelper.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java index e92a6e045..a73da0a76 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java @@ -35,10 +35,6 @@ private WebDriverHelper() { // restrict instantiation } - public static String getProp(Map properties, String name, String defaultValue) { - return PropertiesUtil.toString(properties.get(name), defaultValue); - } - public static Proxy setupProxy(ProxyServerWrapper proxyServer) throws WorkerException { proxyServer.setCaptureContent(true); proxyServer.setCaptureHeaders(true); From f64d9871088c129978f536dc3a6b0facfa28c27e Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Fri, 10 Aug 2018 09:17:39 +0200 Subject: [PATCH 40/72] remove unused import --- .../java/com/cognifide/aet/worker/drivers/WebDriverHelper.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java index a73da0a76..460dd0362 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java @@ -18,8 +18,6 @@ import com.cognifide.aet.job.api.collector.ProxyServerWrapper; import com.cognifide.aet.worker.exceptions.WorkerException; import java.net.UnknownHostException; -import java.util.Map; -import org.apache.sling.commons.osgi.PropertiesUtil; import org.openqa.selenium.Proxy; /** From 50e1767098372764412c29efe60e5734216267c9 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Fri, 10 Aug 2018 09:19:18 +0200 Subject: [PATCH 41/72] remove dependency --- core/worker/pom.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/core/worker/pom.xml b/core/worker/pom.xml index f6c0b41dc..1e8ab16ad 100644 --- a/core/worker/pom.xml +++ b/core/worker/pom.xml @@ -83,10 +83,6 @@ org.osgi org.osgi.service.metatype.annotations - - org.apache.sling - org.apache.sling.commons.osgi - javax.validation validation-api From 5bf2e3f663776435cafb8c363f35085da6e7b632 Mon Sep 17 00:00:00 2001 From: Ewa Fengler Date: Fri, 10 Aug 2018 09:27:03 +0200 Subject: [PATCH 42/72] rename XYZConfig to config --- .../aet/worker/drivers/WebDriverProvider.java | 8 ++++---- .../drivers/chrome/ChromeWebDriverFactory.java | 12 ++++++------ .../firefox/local/FirefoxWebDriverFactory.java | 14 +++++++------- .../listeners/CollectorMessageListenerImpl.java | 6 +++--- .../listeners/ComparatorMessageListenerImpl.java | 4 ++-- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java index d23cd308e..a54a905c8 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java @@ -47,7 +47,7 @@ public class WebDriverProvider { private static final Logger LOG = LoggerFactory.getLogger(WebDriverProvider.class); - private WebDriverProviderConfig webDriverProviderConfig; + private WebDriverProviderConfig config; @Reference( service = WebDriverFactory.class, @@ -61,8 +61,8 @@ public class WebDriverProvider { private ProxyServerProvider proxyServerProvider; @Activate - void activate(WebDriverProviderConfig webDriverProviderConfig) { - this.webDriverProviderConfig = webDriverProviderConfig; + void activate(WebDriverProviderConfig config) { + this.config = config; } public WebCommunicationWrapper createWebDriverWithProxy(String preferredWebDriver, String proxyName) @@ -99,7 +99,7 @@ protected void unbindWebDriverFactory(WebDriverFactory webDriverFactory) { private WebDriverFactory findWebDriverFactory(String preferredWebDriver) throws WorkerException { final WebDriverFactory webDriverFactory; String id = preferredWebDriver == null ? - webDriverProviderConfig.defaultWebDriverName() : preferredWebDriver; + config.defaultWebDriverName() : preferredWebDriver; webDriverFactory = collectorFactories.get(id); if (webDriverFactory == null) { String webDrivers = Joiner.on(", ").join(collectorFactories.keySet()); diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java index 98ae326f1..81706806c 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java @@ -54,11 +54,11 @@ public class ChromeWebDriverFactory implements WebDriverFactory { @Reference private HttpRequestExecutorFactory requestExecutorFactory; - private ChromeWebDriverFactoryConfig chromeWebDriverFactoryConfig; + private ChromeWebDriverFactoryConfig config; @Activate - public void activate(ChromeWebDriverFactoryConfig chromeWebDriverFactoryConfig) { - this.chromeWebDriverFactoryConfig = chromeWebDriverFactoryConfig; + public void activate(ChromeWebDriverFactoryConfig config) { + this.config = config; } @Override @@ -80,7 +80,7 @@ public WebCommunicationWrapper createWebDriver(ProxyServerWrapper proxyServer) @Override public String getName() { - return chromeWebDriverFactoryConfig.name(); + return config.name(); } private WebCommunicationWrapper createWebDriver(DesiredCapabilities capabilities, @@ -97,8 +97,8 @@ private WebCommunicationWrapper createWebDriver(DesiredCapabilities capabilities private WebDriver getChromeDriver(DesiredCapabilities capabilities) throws MalformedURLException { WebDriver driver = - StringUtils.isNotBlank(chromeWebDriverFactoryConfig.seleniumGridUrl()) ? - new RemoteWebDriver(new URL(chromeWebDriverFactoryConfig.seleniumGridUrl()), capabilities) + StringUtils.isNotBlank(config.seleniumGridUrl()) ? + new RemoteWebDriver(new URL(config.seleniumGridUrl()), capabilities) : new ChromeDriver(capabilities); driver.manage().timeouts().pageLoadTimeout(5L, TimeUnit.MINUTES); return driver; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java index 45c19f320..50922e864 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java @@ -48,11 +48,11 @@ public class FirefoxWebDriverFactory implements WebDriverFactory { @Reference private HttpRequestExecutorFactory requestExecutorFactory; - private FirefoxWebDriverFactoryConfig firefoxWebDriverFactoryConfig; + private FirefoxWebDriverFactoryConfig config; @Override public String getName() { - return firefoxWebDriverFactoryConfig.name(); + return config.name(); } @Override @@ -99,7 +99,7 @@ public WebCommunicationWrapper createWebDriver() throws WorkerException { private FirefoxProfile getFirefoxProfile() { final FirefoxProfile firefoxProfile = FirefoxProfileBuilder.newInstance() .withUnstableAndFastLoadStrategy() - .withLogfilePath(firefoxWebDriverFactoryConfig.logFilePath()) + .withLogfilePath(config.logFilePath()) .withFlashSwitchedOff() .withForcedAliasing() .withJavaScriptErrorCollectorPlugin() @@ -108,7 +108,7 @@ private FirefoxProfile getFirefoxProfile() { .withRandomPort() .withUpdateDisabled() .build(); - System.setProperty("webdriver.firefox.logfile", firefoxWebDriverFactoryConfig.logFilePath()); + System.setProperty("webdriver.firefox.logfile", config.logFilePath()); System.setProperty("webdriver.load.strategy", "unstable"); return firefoxProfile; } @@ -116,7 +116,7 @@ private FirefoxProfile getFirefoxProfile() { private void setCommonCapabilities(DesiredCapabilities capabilities, FirefoxProfile fp) { capabilities.setCapability(FirefoxDriver.PROFILE, fp); capabilities.setCapability("marionette", false); - capabilities.setCapability("firefox_binary", new File(firefoxWebDriverFactoryConfig.path()).getAbsolutePath()); + capabilities.setCapability("firefox_binary", new File(config.path()).getAbsolutePath()); } private WebDriver getFirefoxDriver(DesiredCapabilities capabilities) { @@ -126,8 +126,8 @@ private WebDriver getFirefoxDriver(DesiredCapabilities capabilities) { } @Activate - public void activate(FirefoxWebDriverFactoryConfig firefoxWebDriverFactoryConfig) { - this.firefoxWebDriverFactoryConfig = firefoxWebDriverFactoryConfig; + public void activate(FirefoxWebDriverFactoryConfig config) { + this.config = config; } } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java index c934add3b..a9c04e5fb 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/CollectorMessageListenerImpl.java @@ -56,11 +56,11 @@ public class CollectorMessageListenerImpl extends AbstractTaskMessageListener { @Reference private WebDriverProvider webDriverProvider; - private CollectorMessageListenerImplConfig collectorMessageListenerImplConfig; + private CollectorMessageListenerImplConfig config; @Activate void activate(CollectorMessageListenerImplConfig config) { - this.collectorMessageListenerImplConfig = config; + this.config = config; super.doActivate(config.consumerQueueName(), config.producerQueueName(), config.pf()); } @@ -83,7 +83,7 @@ public void onMessage(final Message message) { && requestMessageId != null) { LOGGER.info( "CollectorJobData [{}] message arrived with {} urls. CorrelationId: {} RequestMessageId: {}", - collectorMessageListenerImplConfig.name(), collectorJobData.getUrls().size(), correlationId, + config.name(), collectorJobData.getUrls().size(), correlationId, requestMessageId); WebCommunicationWrapper webCommunicationWrapper = null; int collected = 0; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java index ef2c7027f..2ec477be1 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/listeners/ComparatorMessageListenerImpl.java @@ -51,11 +51,11 @@ public class ComparatorMessageListenerImpl extends AbstractTaskMessageListener { @Reference private ComparatorDispatcher dispatcher; - private ComparatorMessageListenerImplConfig comparatorMessageListenerImplConfig; + private ComparatorMessageListenerImplConfig config; @Activate void activate(ComparatorMessageListenerImplConfig config) { - this.comparatorMessageListenerImplConfig = config; + this.config = config; super.doActivate(config.consumerQueueName(), config.producerQueueName(), config.pf()); } From 21549f882e0bc412cfa24e79fd738c6557d5e358 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Fri, 10 Aug 2018 10:11:50 +0200 Subject: [PATCH 43/72] redundancy removed --- .../java/com/cognifide/aet/queues/DefaultJmsConnection.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/communication/src/main/java/com/cognifide/aet/queues/DefaultJmsConnection.java b/core/communication/src/main/java/com/cognifide/aet/queues/DefaultJmsConnection.java index 7f7a20bde..54d3bfd41 100644 --- a/core/communication/src/main/java/com/cognifide/aet/queues/DefaultJmsConnection.java +++ b/core/communication/src/main/java/com/cognifide/aet/queues/DefaultJmsConnection.java @@ -30,7 +30,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component(service = JmsConnection.class, immediate = true) +@Component(immediate = true) public class DefaultJmsConnection implements JmsConnection { private static final boolean SESSION_TRANSACTION_DEFAULT_SETTING = false; From 34d8e54c16676ff924ee96c4bdab222d1d7403b5 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Fri, 10 Aug 2018 10:29:16 +0200 Subject: [PATCH 44/72] upadte osgi annotatation in rest endpoint --- pom.xml | 17 ++++++++- rest-endpoint/pom.xml | 28 ++++++--------- .../cognifide/aet/rest/ArtifactServlet.java | 28 ++++++++++----- .../cognifide/aet/rest/BasicDataServlet.java | 19 +++++----- .../cognifide/aet/rest/ConfigsServlet.java | 14 ++++---- .../com/cognifide/aet/rest/LockService.java | 13 +++---- .../com/cognifide/aet/rest/LockServlet.java | 15 ++++---- .../cognifide/aet/rest/MetadataServlet.java | 28 ++++++++++----- .../com/cognifide/aet/rest/XUnitServlet.java | 30 +++++++++++----- .../helpers/ReportConfigurationManager.java | 30 ++++++---------- .../ReportConfigurationManagerConf.java | 35 +++++++++++++++++++ 11 files changed, 157 insertions(+), 100 deletions(-) create mode 100644 rest-endpoint/src/main/java/com/cognifide/aet/rest/helpers/configuration/ReportConfigurationManagerConf.java diff --git a/pom.xml b/pom.xml index 0d78e339e..6ae638425 100644 --- a/pom.xml +++ b/pom.xml @@ -174,6 +174,21 @@ + + org.osgi + org.osgi.service.component.annotations + 1.3.0 + + + org.osgi + org.osgi.annotation + 6.0.0 + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + org.osgi org.osgi.core @@ -668,7 +683,7 @@ org.codehaus.mojo sonar-maven-plugin - 3.4.1.1168 + 3.4.1.1168 org.jacoco diff --git a/rest-endpoint/pom.xml b/rest-endpoint/pom.xml index f352b8c7c..a6b5183fc 100644 --- a/rest-endpoint/pom.xml +++ b/rest-endpoint/pom.xml @@ -63,10 +63,6 @@ org.apache.commons commons-lang3 - - org.apache.sling - org.apache.sling.commons.osgi - javax.validation validation-api @@ -81,8 +77,16 @@ - org.apache.felix - org.apache.felix.scr.annotations + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.annotation + + + org.osgi + org.osgi.service.metatype.annotations @@ -93,18 +97,6 @@ - - org.apache.felix - maven-scr-plugin - - - generate-scr-scrdescriptor - - scr - - - - org.apache.felix maven-bundle-plugin diff --git a/rest-endpoint/src/main/java/com/cognifide/aet/rest/ArtifactServlet.java b/rest-endpoint/src/main/java/com/cognifide/aet/rest/ArtifactServlet.java index 5a60e9583..144a5ec67 100644 --- a/rest-endpoint/src/main/java/com/cognifide/aet/rest/ArtifactServlet.java +++ b/rest-endpoint/src/main/java/com/cognifide/aet/rest/ArtifactServlet.java @@ -24,17 +24,19 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.http.HttpService; -@Service -@Component(label = "ArtifactDataContent", description = "Data Storage information service", immediate = true) +@Component(immediate = true) public class ArtifactServlet extends BasicDataServlet { - private static final long serialVersionUID = 1867870883439947956L; + private static final long serialVersionUID = -8115349502567690275L; + + @Reference + private transient HttpService httpService; @Reference private ArtifactsDAO artifactsDAO; @@ -60,6 +62,16 @@ protected void process(DBKey dbKey, HttpServletRequest req, HttpServletResponse } } + @Override + protected HttpService getHttpService() { + return httpService; + } + + @Override + protected void setHttpService(HttpService httpService) { + this.httpService = httpService; + } + @Activate public void start() { register(Helper.getArtifactPath()); diff --git a/rest-endpoint/src/main/java/com/cognifide/aet/rest/BasicDataServlet.java b/rest-endpoint/src/main/java/com/cognifide/aet/rest/BasicDataServlet.java index 036d8677b..6f0fa8d92 100644 --- a/rest-endpoint/src/main/java/com/cognifide/aet/rest/BasicDataServlet.java +++ b/rest-endpoint/src/main/java/com/cognifide/aet/rest/BasicDataServlet.java @@ -26,24 +26,18 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; import org.osgi.service.http.HttpService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component abstract class BasicDataServlet extends HttpServlet { - private static final long serialVersionUID = -6301708910829830328L; + private static final long serialVersionUID = -5819760668750910009L; private static final Logger LOGGER = LoggerFactory.getLogger(BasicDataServlet.class); private static final Gson GSON = new Gson(); - @Reference - private transient HttpService httpService; - /*** * Returns JSON representation of Suite based correlationId or suite name * Returned test suite is always in newest version. @@ -77,18 +71,17 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) void register(String servletPath) { LOGGER.debug("Registering servlet at ", servletPath); try { - httpService.registerServlet(servletPath, this, null, null); + getHttpService().registerServlet(servletPath, this, null, null); } catch (Exception e) { LOGGER.error("Failed to register servlet at ", servletPath, e); } } void unregister(String servletPath) { - httpService.unregister(servletPath); - httpService = null; + getHttpService().unregister(servletPath); + setHttpService(null); } - boolean isValidName(String suiteName) { return ValidatorProvider.getValidator().validateValue(Suite.class, "name", suiteName).isEmpty(); } @@ -105,6 +98,10 @@ protected String responseAsJson(String format, Object... args) { return GSON.toJson(new ErrorMessage(format, args)); } + protected abstract HttpService getHttpService(); + + protected abstract void setHttpService(HttpService httpService); + private static class ErrorMessage { private final String message; diff --git a/rest-endpoint/src/main/java/com/cognifide/aet/rest/ConfigsServlet.java b/rest-endpoint/src/main/java/com/cognifide/aet/rest/ConfigsServlet.java index a4dca44b3..0d5778be7 100644 --- a/rest-endpoint/src/main/java/com/cognifide/aet/rest/ConfigsServlet.java +++ b/rest-endpoint/src/main/java/com/cognifide/aet/rest/ConfigsServlet.java @@ -32,20 +32,18 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.osgi.service.http.HttpService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(label = "ConfigsServlet", description = "Provides config for clients a", immediate = true) +@Component(immediate = true) public class ConfigsServlet extends HttpServlet { - private static final long serialVersionUID = 101244102274582495L; + private static final long serialVersionUID = -8757845025924429010L; private static final Logger LOGGER = LoggerFactory.getLogger(ConfigsServlet.class); diff --git a/rest-endpoint/src/main/java/com/cognifide/aet/rest/LockService.java b/rest-endpoint/src/main/java/com/cognifide/aet/rest/LockService.java index 842b9e408..336d1a834 100644 --- a/rest-endpoint/src/main/java/com/cognifide/aet/rest/LockService.java +++ b/rest-endpoint/src/main/java/com/cognifide/aet/rest/LockService.java @@ -22,19 +22,16 @@ import java.io.Serializable; import java.util.Map; import java.util.concurrent.TimeUnit; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -@Service(LockService.class) -@Component(label = "LockService", description = "Provides lock service", immediate = true) +@Component(service = LockService.class, immediate = true) public class LockService implements Serializable { - private static final long serialVersionUID = 101244102266582495L; + private static final long serialVersionUID = -2029917823742862618L; private static final Logger LOGGER = LoggerFactory.getLogger(LockService.class); diff --git a/rest-endpoint/src/main/java/com/cognifide/aet/rest/LockServlet.java b/rest-endpoint/src/main/java/com/cognifide/aet/rest/LockServlet.java index 0f1937a89..fc381274b 100644 --- a/rest-endpoint/src/main/java/com/cognifide/aet/rest/LockServlet.java +++ b/rest-endpoint/src/main/java/com/cognifide/aet/rest/LockServlet.java @@ -24,21 +24,18 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.osgi.service.http.HttpService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -@Service -@Component(label = "LocksServlet", description = "Provides lock services for clients", immediate = true) +@Component(immediate = true) public class LockServlet extends HttpServlet { - private static final long serialVersionUID = 101244102274582495L; + private static final long serialVersionUID = 638302620021335857L; private static final Logger LOGGER = LoggerFactory.getLogger(LockServlet.class); diff --git a/rest-endpoint/src/main/java/com/cognifide/aet/rest/MetadataServlet.java b/rest-endpoint/src/main/java/com/cognifide/aet/rest/MetadataServlet.java index 7345521c0..46531f604 100644 --- a/rest-endpoint/src/main/java/com/cognifide/aet/rest/MetadataServlet.java +++ b/rest-endpoint/src/main/java/com/cognifide/aet/rest/MetadataServlet.java @@ -35,19 +35,18 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.BooleanUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.http.HttpService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(label = "MetadataServlet", description = "Returns Suite Metadata", immediate = true) +@Component(immediate = true) public class MetadataServlet extends BasicDataServlet { - private static final long serialVersionUID = 100244101178249562L; + private static final long serialVersionUID = 7233205495217724069L; private static final Logger LOGGER = LoggerFactory.getLogger(MetadataServlet.class); @@ -61,6 +60,9 @@ public class MetadataServlet extends BasicDataServlet { @Reference private LockService lockService; + @Reference + private transient HttpService httpService; + @Override protected void process(DBKey dbKey, HttpServletRequest req, HttpServletResponse resp) throws IOException { @@ -103,6 +105,16 @@ protected void process(DBKey dbKey, HttpServletRequest req, HttpServletResponse } } + @Override + protected HttpService getHttpService() { + return this.httpService; + } + + @Override + protected void setHttpService(HttpService httpService) { + this.httpService = httpService; + } + /*** * Saves Suite parsed from json provided in post body. * It also increments Version of Suite. diff --git a/rest-endpoint/src/main/java/com/cognifide/aet/rest/XUnitServlet.java b/rest-endpoint/src/main/java/com/cognifide/aet/rest/XUnitServlet.java index dde86cbac..3bdcec00d 100644 --- a/rest-endpoint/src/main/java/com/cognifide/aet/rest/XUnitServlet.java +++ b/rest-endpoint/src/main/java/com/cognifide/aet/rest/XUnitServlet.java @@ -35,27 +35,29 @@ import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import org.apache.commons.io.IOUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.http.HttpService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Service -@Component(label = "XUnitServlet", description = "Provides xunit test result", immediate = true) +@Component(immediate = true) public class XUnitServlet extends BasicDataServlet { - private static final Logger LOGGER = LoggerFactory.getLogger(XUnitServlet.class); + private static final long serialVersionUID = -5583065996820534015L; - private static final long serialVersionUID = 2459345654081429533L; + private static final Logger LOGGER = LoggerFactory.getLogger(XUnitServlet.class); private static final String XML_HEADER = "\n"; @Reference private MetadataDAO metadataDAO; + @Reference + private transient HttpService httpService; + @Activate public void start() { register(Helper.getXUnitPath()); @@ -84,6 +86,16 @@ protected void process(DBKey dbKey, HttpServletRequest request, HttpServletRespo } } + @Override + protected HttpService getHttpService() { + return this.httpService; + } + + @Override + protected void setHttpService(HttpService httpService) { + this.httpService = httpService; + } + private Suite getSuite(DBKey dbKey, String correlationId, String suiteName) throws RestServiceException { final Suite suite; diff --git a/rest-endpoint/src/main/java/com/cognifide/aet/rest/helpers/ReportConfigurationManager.java b/rest-endpoint/src/main/java/com/cognifide/aet/rest/helpers/ReportConfigurationManager.java index b32434e74..bda140a3a 100644 --- a/rest-endpoint/src/main/java/com/cognifide/aet/rest/helpers/ReportConfigurationManager.java +++ b/rest-endpoint/src/main/java/com/cognifide/aet/rest/helpers/ReportConfigurationManager.java @@ -15,33 +15,23 @@ */ package com.cognifide.aet.rest.helpers; -import java.util.Map; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Service; -import org.apache.sling.commons.osgi.PropertiesUtil; +import com.cognifide.aet.rest.helpers.configuration.ReportConfigurationManagerConf; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.metatype.annotations.Designate; -@Service(ReportConfigurationManager.class) -@Component(metatype = true, description = "AET Report Application Configuration", - label = "AET Report Application Configuration") +@Component(service = ReportConfigurationManager.class) +@Designate(ocd = ReportConfigurationManagerConf.class) public class ReportConfigurationManager { - private static final String REPORT_DOMAIN_PROPERTY_NAME = "report-domain"; - - private static final String DEFAULT_REPORT_DOMAIN = "http://aet-vagrant"; - - @Property(name = REPORT_DOMAIN_PROPERTY_NAME, label = "Report application domain", - description = "Report application domain", value = DEFAULT_REPORT_DOMAIN) - private String reportDomain; + ReportConfigurationManagerConf config; @Activate - public void activate(Map properties) { - reportDomain = PropertiesUtil - .toString(properties.get(REPORT_DOMAIN_PROPERTY_NAME), DEFAULT_REPORT_DOMAIN); + public void activate(ReportConfigurationManagerConf config) { + this.config = config; } public String getReportDomain() { - return reportDomain; + return config.reportDomain(); } } diff --git a/rest-endpoint/src/main/java/com/cognifide/aet/rest/helpers/configuration/ReportConfigurationManagerConf.java b/rest-endpoint/src/main/java/com/cognifide/aet/rest/helpers/configuration/ReportConfigurationManagerConf.java new file mode 100644 index 000000000..0702c5edc --- /dev/null +++ b/rest-endpoint/src/main/java/com/cognifide/aet/rest/helpers/configuration/ReportConfigurationManagerConf.java @@ -0,0 +1,35 @@ +/** + * AET + * + * Copyright (C) 2013 Cognifide Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this 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.cognifide.aet.rest.helpers.configuration; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.AttributeType; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition(name = "AET Report Application Configuration", description = "AET Report Application Configuration") +public @interface ReportConfigurationManagerConf { + + String REPORT_DOMAIN_PROPERTY_NAME = "report-domain"; + + String DEFAULT_REPORT_DOMAIN = "http://aet-vagrant"; + + @AttributeDefinition( + name = REPORT_DOMAIN_PROPERTY_NAME, + description = "Report application domain", + type = AttributeType.STRING) + String reportDomain() default DEFAULT_REPORT_DOMAIN; + +} From f3707127306487653d27eb0342ce5051dc3ca227 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Fri, 10 Aug 2018 15:23:52 +0200 Subject: [PATCH 45/72] removed duplicated dependencies --- pom.xml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/pom.xml b/pom.xml index 88ff8487f..79bf6da8b 100644 --- a/pom.xml +++ b/pom.xml @@ -460,24 +460,6 @@ ${project.version} provided - - org.osgi - org.osgi.service.component.annotations - 1.3.0 - provided - - - org.osgi - org.osgi.annotation - 6.0.0 - provided - - - org.osgi - org.osgi.service.metatype.annotations - 1.3.0 - provided - From c7ee6928923f254f79c397467a1903f98f4f4f83 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Mon, 13 Aug 2018 14:16:22 +0200 Subject: [PATCH 46/72] update --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ec4391e5..fd4a3bacf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ All notable changes to AET will be documented in this file. ## Unreleased **List of changes that are finished but not yet released in any final version.** -- [PR-308](https://github.com/Cognifide/aet/pull/308), [PR-313](https://github.com/Cognifide/aet/pull/313], [PR-314](https://github.com/Cognifide/aet/pull/314) - updated OSGi annotations to 6.0.0 OSGi standard +- [PR-308](https://github.com/Cognifide/aet/pull/308), [PR-310](https://github.com/Cognifide/aet/pull/310), [PR-311](https://github.com/Cognifide/aet/pull/311), [PR-312](https://github.com/Cognifide/aet/pull/312), [PR-313](https://github.com/Cognifide/aet/pull/313), [PR-314](https://github.com/Cognifide/aet/pull/314), [PR-315](https://github.com/Cognifide/aet/pull/315), [PR-316](https://github.com/Cognifide/aet/pull/316), [PR-322](https://github.com/Cognifide/aet/pull/322) - updated OSGi annotations to 6.0.0 OSGi standard - [PR-300](https://github.com/Cognifide/aet/pull/300) Added creating indexes for collection - [PR-289](https://github.com/Cognifide/aet/pull/289) User now stays on the same tab while navigating between URLs - [PR-271](https://github.com/Cognifide/aet/pull/271) Added possibility to override name parameter from the aet client From 9a65963df6849c853f8d867bdc7a95256332a06f Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Mon, 13 Aug 2018 15:05:31 +0200 Subject: [PATCH 47/72] felix & sling dependency removed, maven-scr-plugin removed --- core/cleaner/pom.xml | 10 ---------- core/communication/pom.xml | 12 ------------ core/datastorage/pom.xml | 16 ---------------- core/jobs/pom.xml | 10 ---------- core/pom.xml | 17 ----------------- core/runner/pom.xml | 12 ------------ core/validation/pom.xml | 12 ------------ core/worker/pom.xml | 12 ------------ documentation/src/main/wiki/HowToExtendAET.md | 5 ----- .../wiki/releases/2.1.3/Documentation-2.1.3.md | 5 ----- pom.xml | 18 ------------------ test-executor/pom.xml | 4 ---- .../cognifide/aet/executor/SuiteExecutor.java | 2 -- 13 files changed, 135 deletions(-) diff --git a/core/cleaner/pom.xml b/core/cleaner/pom.xml index 90a3e322f..934d55aad 100644 --- a/core/cleaner/pom.xml +++ b/core/cleaner/pom.xml @@ -128,16 +128,6 @@ - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - org.apache.felix maven-bundle-plugin diff --git a/core/communication/pom.xml b/core/communication/pom.xml index 03ad5e890..958d816ba 100644 --- a/core/communication/pom.xml +++ b/core/communication/pom.xml @@ -76,18 +76,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - org.apache.felix maven-bundle-plugin diff --git a/core/datastorage/pom.xml b/core/datastorage/pom.xml index 4d3cd88e2..a16f35d97 100644 --- a/core/datastorage/pom.xml +++ b/core/datastorage/pom.xml @@ -95,10 +95,6 @@ org.mongodb mongo-java-driver - - org.apache.sling - org.apache.sling.commons.osgi - junit @@ -133,18 +129,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - diff --git a/core/jobs/pom.xml b/core/jobs/pom.xml index 6ec38a368..5c2f5017d 100644 --- a/core/jobs/pom.xml +++ b/core/jobs/pom.xml @@ -168,16 +168,6 @@ - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - org.apache.rat apache-rat-plugin diff --git a/core/pom.xml b/core/pom.xml index 8c827d7ca..a91622f45 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -42,21 +42,4 @@ validation worker - - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - - scr - - - - - - diff --git a/core/runner/pom.xml b/core/runner/pom.xml index 5426383b1..2e93ada17 100644 --- a/core/runner/pom.xml +++ b/core/runner/pom.xml @@ -125,18 +125,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - diff --git a/core/validation/pom.xml b/core/validation/pom.xml index c939d5c39..46ff7dfe1 100644 --- a/core/validation/pom.xml +++ b/core/validation/pom.xml @@ -90,18 +90,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - diff --git a/core/worker/pom.xml b/core/worker/pom.xml index 1e8ab16ad..30fa480bc 100644 --- a/core/worker/pom.xml +++ b/core/worker/pom.xml @@ -150,18 +150,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - org.apache.maven.plugins diff --git a/documentation/src/main/wiki/HowToExtendAET.md b/documentation/src/main/wiki/HowToExtendAET.md index 2d6ecfa11..a2eb3f5e1 100644 --- a/documentation/src/main/wiki/HowToExtendAET.md +++ b/documentation/src/main/wiki/HowToExtendAET.md @@ -119,11 +119,6 @@ be available on the Karaf instance that AET are running at. org.apache.felix maven-bundle-plugin - - - org.apache.felix - maven-scr-plugin - diff --git a/documentation/src/main/wiki/releases/2.1.3/Documentation-2.1.3.md b/documentation/src/main/wiki/releases/2.1.3/Documentation-2.1.3.md index 4263c8bc9..182e1fdc9 100644 --- a/documentation/src/main/wiki/releases/2.1.3/Documentation-2.1.3.md +++ b/documentation/src/main/wiki/releases/2.1.3/Documentation-2.1.3.md @@ -606,11 +606,6 @@ be available on the Karaf instance that AET are running at. org.apache.felix maven-bundle-plugin - - - org.apache.felix - maven-scr-plugin - diff --git a/pom.xml b/pom.xml index 1eb2ba81a..742d95a35 100644 --- a/pom.xml +++ b/pom.xml @@ -361,12 +361,6 @@ 3.8.0 provided - - org.apache.sling - org.apache.sling.commons.osgi - 2.2.2 - provided - org.json json @@ -418,13 +412,6 @@ provided - - org.apache.felix - org.apache.felix.scr.annotations - 1.12.0 - provided - - - - org.osgi - org.osgi.service.component.annotations - 1.3.0 - provided - - - org.osgi - org.osgi.annotation - 6.0.0 - provided - - - org.osgi - org.osgi.service.metatype.annotations - 1.3.0 - provided - - - org.osgi - org.osgi.service.component.annotations - 1.3.0 - provided - - - org.osgi - org.osgi.annotation - 6.0.0 - provided - - - org.osgi - org.osgi.service.metatype.annotations - 1.3.0 - provided - org.osgi org.osgi.service.component.annotations @@ -253,24 +217,6 @@ 1.8.16 provided - - org.osgi - org.osgi.service.component.annotations - 1.3.0 - provided - - - org.osgi - org.osgi.annotation - 6.0.0 - provided - - - org.osgi - org.osgi.service.metatype.annotations - 1.3.0 - provided - @@ -502,24 +448,6 @@ ${project.version} provided - - org.osgi - org.osgi.service.component.annotations - 1.3.0 - provided - - - org.osgi - org.osgi.annotation - 6.0.0 - provided - - - org.osgi - org.osgi.service.metatype.annotations - 1.3.0 - provided - From 619a338e927fda5bda2188041a7c261a7a8a4dec Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Mon, 13 Aug 2018 15:18:28 +0200 Subject: [PATCH 49/72] felix & sling dependency removed, maven-scr-plugin removed --- core/cleaner/pom.xml | 12 ------------ core/communication/pom.xml | 12 ------------ core/datastorage/pom.xml | 16 ---------------- core/jobs/pom.xml | 12 ------------ core/pom.xml | 17 ----------------- core/runner/pom.xml | 12 ------------ core/validation/pom.xml | 12 ------------ core/worker/pom.xml | 12 ------------ documentation/src/main/wiki/HowToExtendAET.md | 5 ----- .../wiki/releases/2.1.3/Documentation-2.1.3.md | 5 ----- pom.xml | 18 ------------------ test-executor/pom.xml | 4 ---- .../cognifide/aet/executor/SuiteExecutor.java | 2 -- 13 files changed, 139 deletions(-) diff --git a/core/cleaner/pom.xml b/core/cleaner/pom.xml index 90a3e322f..7c7bbd67c 100644 --- a/core/cleaner/pom.xml +++ b/core/cleaner/pom.xml @@ -126,18 +126,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - org.apache.felix maven-bundle-plugin diff --git a/core/communication/pom.xml b/core/communication/pom.xml index 03ad5e890..958d816ba 100644 --- a/core/communication/pom.xml +++ b/core/communication/pom.xml @@ -76,18 +76,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - org.apache.felix maven-bundle-plugin diff --git a/core/datastorage/pom.xml b/core/datastorage/pom.xml index 4d3cd88e2..a16f35d97 100644 --- a/core/datastorage/pom.xml +++ b/core/datastorage/pom.xml @@ -95,10 +95,6 @@ org.mongodb mongo-java-driver - - org.apache.sling - org.apache.sling.commons.osgi - junit @@ -133,18 +129,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - diff --git a/core/jobs/pom.xml b/core/jobs/pom.xml index 6ec38a368..afc6dd5b3 100644 --- a/core/jobs/pom.xml +++ b/core/jobs/pom.xml @@ -166,18 +166,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - org.apache.rat apache-rat-plugin diff --git a/core/pom.xml b/core/pom.xml index 8c827d7ca..a91622f45 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -42,21 +42,4 @@ validation worker - - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - - scr - - - - - - diff --git a/core/runner/pom.xml b/core/runner/pom.xml index 5426383b1..2e93ada17 100644 --- a/core/runner/pom.xml +++ b/core/runner/pom.xml @@ -125,18 +125,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - diff --git a/core/validation/pom.xml b/core/validation/pom.xml index c939d5c39..46ff7dfe1 100644 --- a/core/validation/pom.xml +++ b/core/validation/pom.xml @@ -90,18 +90,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - diff --git a/core/worker/pom.xml b/core/worker/pom.xml index 1e8ab16ad..30fa480bc 100644 --- a/core/worker/pom.xml +++ b/core/worker/pom.xml @@ -150,18 +150,6 @@ - - - - org.apache.felix - maven-scr-plugin - - - generate-scr-descriptor - none - - - org.apache.maven.plugins diff --git a/documentation/src/main/wiki/HowToExtendAET.md b/documentation/src/main/wiki/HowToExtendAET.md index 2d6ecfa11..a2eb3f5e1 100644 --- a/documentation/src/main/wiki/HowToExtendAET.md +++ b/documentation/src/main/wiki/HowToExtendAET.md @@ -119,11 +119,6 @@ be available on the Karaf instance that AET are running at. org.apache.felix maven-bundle-plugin - - - org.apache.felix - maven-scr-plugin - diff --git a/documentation/src/main/wiki/releases/2.1.3/Documentation-2.1.3.md b/documentation/src/main/wiki/releases/2.1.3/Documentation-2.1.3.md index 4263c8bc9..182e1fdc9 100644 --- a/documentation/src/main/wiki/releases/2.1.3/Documentation-2.1.3.md +++ b/documentation/src/main/wiki/releases/2.1.3/Documentation-2.1.3.md @@ -606,11 +606,6 @@ be available on the Karaf instance that AET are running at. org.apache.felix maven-bundle-plugin - - - org.apache.felix - maven-scr-plugin - diff --git a/pom.xml b/pom.xml index 1eb2ba81a..742d95a35 100644 --- a/pom.xml +++ b/pom.xml @@ -361,12 +361,6 @@ 3.8.0 provided - - org.apache.sling - org.apache.sling.commons.osgi - 2.2.2 - provided - org.json json @@ -418,13 +412,6 @@ provided - - org.apache.felix - org.apache.felix.scr.annotations - 1.12.0 - provided - - + org.apache.felix + maven-scr-plugin + From 9cbfc3a5b9ad4588dc28ac42fbe0c4a938f9bb8b Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 14 Aug 2018 16:09:19 +0200 Subject: [PATCH 56/72] updated documentation --- documentation/src/main/wiki/HowToExtendAET.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/documentation/src/main/wiki/HowToExtendAET.md b/documentation/src/main/wiki/HowToExtendAET.md index a2eb3f5e1..87b3ac96f 100644 --- a/documentation/src/main/wiki/HowToExtendAET.md +++ b/documentation/src/main/wiki/HowToExtendAET.md @@ -101,9 +101,22 @@ be available on the Karaf instance that AET are running at. - org.apache.felix - org.apache.felix.scr.annotations - ${felix.version} + org.osgi + org.osgi.service.component.annotations + 1.3.0 + provided + + + org.osgi + org.osgi.annotation + 6.0.0 + provided + + + org.osgi + org.osgi.service.metatype.annotations + 1.3.0 + provided From af9e8126c33d8106446d1eea62ae69d683a44c9b Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 14 Aug 2018 16:13:04 +0200 Subject: [PATCH 57/72] updated documentation - removed unused plugin --- documentation/src/main/wiki/HowToExtendAET.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/documentation/src/main/wiki/HowToExtendAET.md b/documentation/src/main/wiki/HowToExtendAET.md index 87b3ac96f..4161b573a 100644 --- a/documentation/src/main/wiki/HowToExtendAET.md +++ b/documentation/src/main/wiki/HowToExtendAET.md @@ -153,19 +153,6 @@ be available on the Karaf instance that AET are running at. true - - org.apache.felix - maven-scr-plugin - 1.15.0 - - - generate-scr-scrdescriptor - - scr - - - - From 658cc69b2285e286435fa918ae31931b221cad54 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 14 Aug 2018 16:30:46 +0200 Subject: [PATCH 58/72] updated documentation --- documentation/src/main/wiki/UpgradeNotes.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/documentation/src/main/wiki/UpgradeNotes.md b/documentation/src/main/wiki/UpgradeNotes.md index 52d8aeed9..6b9a123e7 100644 --- a/documentation/src/main/wiki/UpgradeNotes.md +++ b/documentation/src/main/wiki/UpgradeNotes.md @@ -13,13 +13,13 @@ With the update osgi annotations to 6.0.0 version we had to change a little bit 1. Open `aet\osgi-dependencies\configs\src\main\resources` -2. In all files in this directory change variable names in way presented below: -``` -MongoURI -> mongoURI -AllowAutoCreate -> allowAutoCreate -report-domain -> reportDomain -jxm-url -> jxmUrl -``` +2. You have to change it as follows: + +|File name|Way to change variable names| +|---|---| +|`com.cognifide.aet.rest.helpers.ReportConfigurationManager.cfg`|`report-domain -> reportDomain`| +|`com.cognifide.aet.runner.MessagesManager.cfg`|`jxm-url -> jxmUrl`| +|`com.cognifide.aet.vs.mongodb.MongoDBClient.cfg`|`MongoURI -> mongoURI`
`AllowAutoCreate -> allowAutoCreate`| For example in `com.cognifide.aet.vs.mongodb.MongoDBClient.cfg`: ``` From 31c480ef604ed590dc5040212c22bb33405b537a Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 14 Aug 2018 16:33:17 +0200 Subject: [PATCH 59/72] fixed sentence --- documentation/src/main/wiki/UpgradeNotes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/src/main/wiki/UpgradeNotes.md b/documentation/src/main/wiki/UpgradeNotes.md index 6b9a123e7..e7efe064c 100644 --- a/documentation/src/main/wiki/UpgradeNotes.md +++ b/documentation/src/main/wiki/UpgradeNotes.md @@ -13,7 +13,7 @@ With the update osgi annotations to 6.0.0 version we had to change a little bit 1. Open `aet\osgi-dependencies\configs\src\main\resources` -2. You have to change it as follows: +2. You have to do it a certain way: |File name|Way to change variable names| |---|---| From 4aa3063ffd02e5db43215b605c11b60adf36d149 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Tue, 14 Aug 2018 16:33:44 +0200 Subject: [PATCH 60/72] fixed typo --- documentation/src/main/wiki/UpgradeNotes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/src/main/wiki/UpgradeNotes.md b/documentation/src/main/wiki/UpgradeNotes.md index e7efe064c..d3ba471f4 100644 --- a/documentation/src/main/wiki/UpgradeNotes.md +++ b/documentation/src/main/wiki/UpgradeNotes.md @@ -13,7 +13,7 @@ With the update osgi annotations to 6.0.0 version we had to change a little bit 1. Open `aet\osgi-dependencies\configs\src\main\resources` -2. You have to do it a certain way: +2. You have to do it in a certain way: |File name|Way to change variable names| |---|---| From 6ae35f7fa3edb16de4fdb5d97d12bcc1587a9f9c Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Thu, 16 Aug 2018 10:11:41 +0200 Subject: [PATCH 61/72] updted changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69ee722e3..a7fbc6bca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ All notable changes to AET will be documented in this file. ## Unreleased **List of changes that are finished but not yet released in any final version.** -- [PR-308](https://github.com/Cognifide/aet/pull/308), [PR-310](https://github.com/Cognifide/aet/pull/310), [PR-311](https://github.com/Cognifide/aet/pull/311), [PR-312](https://github.com/Cognifide/aet/pull/312), [PR-313](https://github.com/Cognifide/aet/pull/313), [PR-314](https://github.com/Cognifide/aet/pull/314), [PR-315](https://github.com/Cognifide/aet/pull/315), [PR-316](https://github.com/Cognifide/aet/pull/316), [PR-322](https://github.com/Cognifide/aet/pull/322) - updated OSGi annotations to 6.0.0 OSGi standard +- [PR-326](https://github.com/Cognifide/aet/pull/326) ([PR-308](https://github.com/Cognifide/aet/pull/308), [PR-310](https://github.com/Cognifide/aet/pull/310), [PR-311](https://github.com/Cognifide/aet/pull/311), [PR-312](https://github.com/Cognifide/aet/pull/312), [PR-313](https://github.com/Cognifide/aet/pull/313), [PR-314](https://github.com/Cognifide/aet/pull/314), [PR-315](https://github.com/Cognifide/aet/pull/315), [PR-316](https://github.com/Cognifide/aet/pull/316), [PR-322](https://github.com/Cognifide/aet/pull/322)) - updated OSGi annotations to 6.0.0 OSGi standard - [PR-293](https://github.com/Cognifide/aet/pull/293) Added error treshold in pixels and percentages for screen comparator - [PR-300](https://github.com/Cognifide/aet/pull/300) Added creating indexes for collection - [PR-289](https://github.com/Cognifide/aet/pull/289) User now stays on the same tab while navigating between URLs From 8eb9f6473452927dbf62f1a641950c9f2754150b Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Thu, 16 Aug 2018 11:39:00 +0200 Subject: [PATCH 62/72] update upgrade notes --- documentation/src/main/wiki/UpgradeNotes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/src/main/wiki/UpgradeNotes.md b/documentation/src/main/wiki/UpgradeNotes.md index d3ba471f4..f8028bece 100644 --- a/documentation/src/main/wiki/UpgradeNotes.md +++ b/documentation/src/main/wiki/UpgradeNotes.md @@ -9,9 +9,9 @@ You may see all changes in the [Changelog](https://github.com/Cognifide/aet/blob ### [PR-326](https://github.com/Cognifide/aet/pull/326) Upgrade OSGI annotations to 6.0.0 version -With the update osgi annotations to 6.0.0 version we had to change a little bit variable names. Currently, your config could has old names and you have to update them. Please follow instruction below: +With the OSGI annotations update to 6.0.0 version we had to change a little bit variable names. Currently, your config could have old names and you have to update them. Please follow instruction below: -1. Open `aet\osgi-dependencies\configs\src\main\resources` +1. Open `/opt/aet/karaf/aet_configs/current` 2. You have to do it in a certain way: From 27eae04660ce10c552c9f17f8e7db6d90fe5b598 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Thu, 16 Aug 2018 11:42:24 +0200 Subject: [PATCH 63/72] added cleanerjob --- .../main/java/com/cognifide/aet/cleaner/CleanerScheduler.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/CleanerScheduler.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/CleanerScheduler.java index fc5e56811..23a621ef2 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/CleanerScheduler.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/CleanerScheduler.java @@ -118,6 +118,7 @@ private String registerCleaningJob() throws SchedulerException { final ImmutableMap jobData = ImmutableMap.builder() .put(CleanerJob.KEY_ROUTE_BUILDER, metadataCleanerRouteBuilder) + .put(CleanerJob.KEY_KEEP_N_VERSIONS, config.keepNVersions()) .put(CleanerJob.KEY_REMOVE_OLDER_THAN, config.removeOlderThan()) .put(CleanerJob.KEY_COMPANY_FILTER, config.companyName()) .put(CleanerJob.KEY_PROJECT_FILTER, config.projectName()) From 17acdf75cefbed3276a9bc62088a03ac0f22b81c Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Thu, 16 Aug 2018 12:31:07 +0200 Subject: [PATCH 64/72] remove names --- .../com/cognifide/aet/worker/impl/CollectorDispatcherImpl.java | 2 +- .../com/cognifide/aet/worker/impl/ComparatorDispatcherImpl.java | 2 +- .../java/com/cognifide/aet/worker/impl/JobRegistryImpl.java | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/impl/CollectorDispatcherImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/impl/CollectorDispatcherImpl.java index 538cf2fb9..17aece7b1 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/impl/CollectorDispatcherImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/impl/CollectorDispatcherImpl.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component(immediate = true, name = "AET Collector Dispatcher") +@Component(immediate = true) public class CollectorDispatcherImpl implements CollectorDispatcher { private static final Logger LOGGER = LoggerFactory.getLogger(CollectorDispatcherImpl.class); diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/impl/ComparatorDispatcherImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/impl/ComparatorDispatcherImpl.java index 2b50b7198..877a8d118 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/impl/ComparatorDispatcherImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/impl/ComparatorDispatcherImpl.java @@ -40,7 +40,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component(name = "AET Comparator Dispatcher", immediate = true) +@Component(immediate = true) public class ComparatorDispatcherImpl implements ComparatorDispatcher { private static final Logger LOGGER = LoggerFactory.getLogger(ComparatorDispatcherImpl.class); diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/impl/JobRegistryImpl.java b/core/worker/src/main/java/com/cognifide/aet/worker/impl/JobRegistryImpl.java index 58d1a04a9..80b3dd6ea 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/impl/JobRegistryImpl.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/impl/JobRegistryImpl.java @@ -31,7 +31,6 @@ @Component( immediate = true, - name = "AET Job Registry Implementation", property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"} ) public class JobRegistryImpl implements JobRegistry { From e6e01019d71bf128b68082fc42ac1af942dc8105 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Thu, 16 Aug 2018 13:19:16 +0200 Subject: [PATCH 65/72] small rafactor in worker module --- .../aet/worker/drivers/WebDriverProvider.java | 8 ++++---- .../worker/drivers/chrome/ChromeWebDriverFactory.java | 7 ++++--- .../ChromeWebDriverFactoryConf.java} | 10 +++++----- .../WebDriverProviderConf.java} | 4 ++-- .../drivers/firefox/local/FirefoxWebDriverFactory.java | 9 ++++----- .../FirefoxWebDriverFactoryConf.java} | 6 ++++-- 6 files changed, 23 insertions(+), 21 deletions(-) rename core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/{ChromeWebDriverFactoryConfig.java => configuration/ChromeWebDriverFactoryConf.java} (82%) rename core/worker/src/main/java/com/cognifide/aet/worker/drivers/{WebDriverProviderConfig.java => configuration/WebDriverProviderConf.java} (91%) rename core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/{FirefoxWebDriverFactoryConfig.java => configuration/FirefoxWebDriverFactoryConf.java} (92%) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java index a54a905c8..2e36723ba 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProvider.java @@ -19,11 +19,11 @@ import com.cognifide.aet.job.api.exceptions.ProxyException; import com.cognifide.aet.proxy.ProxyServerProvider; import com.cognifide.aet.worker.api.WebDriverFactory; +import com.cognifide.aet.worker.drivers.configuration.WebDriverProviderConf; import com.cognifide.aet.worker.exceptions.WorkerException; import com.google.common.base.Joiner; import com.google.common.collect.Maps; import java.util.Map; - import org.osgi.framework.Constants; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; @@ -42,12 +42,12 @@ property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"}, immediate = true ) -@Designate(ocd = WebDriverProviderConfig.class) +@Designate(ocd = WebDriverProviderConf.class) public class WebDriverProvider { private static final Logger LOG = LoggerFactory.getLogger(WebDriverProvider.class); - private WebDriverProviderConfig config; + private WebDriverProviderConf config; @Reference( service = WebDriverFactory.class, @@ -61,7 +61,7 @@ public class WebDriverProvider { private ProxyServerProvider proxyServerProvider; @Activate - void activate(WebDriverProviderConfig config) { + void activate(WebDriverProviderConf config) { this.config = config; } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java index 81706806c..4040708a9 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactory.java @@ -21,6 +21,7 @@ import com.cognifide.aet.job.api.collector.ProxyServerWrapper; import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.worker.api.WebDriverFactory; +import com.cognifide.aet.worker.drivers.chrome.configuration.ChromeWebDriverFactoryConf; import com.cognifide.aet.worker.exceptions.WorkerException; import java.net.MalformedURLException; import java.net.URL; @@ -48,16 +49,16 @@ configurationPolicy = ConfigurationPolicy.REQUIRE, property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"} ) -@Designate(ocd = ChromeWebDriverFactoryConfig.class) +@Designate(ocd = ChromeWebDriverFactoryConf.class) public class ChromeWebDriverFactory implements WebDriverFactory { @Reference private HttpRequestExecutorFactory requestExecutorFactory; - private ChromeWebDriverFactoryConfig config; + private ChromeWebDriverFactoryConf config; @Activate - public void activate(ChromeWebDriverFactoryConfig config) { + public void activate(ChromeWebDriverFactoryConf config) { this.config = config; } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/configuration/ChromeWebDriverFactoryConf.java similarity index 82% rename from core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java rename to core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/configuration/ChromeWebDriverFactoryConf.java index 559ca4ce2..0c1688afc 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/ChromeWebDriverFactoryConfig.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/configuration/ChromeWebDriverFactoryConf.java @@ -13,7 +13,7 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. */ -package com.cognifide.aet.worker.drivers.chrome; +package com.cognifide.aet.worker.drivers.chrome.configuration; import org.osgi.service.metatype.annotations.AttributeDefinition; import org.osgi.service.metatype.annotations.ObjectClassDefinition; @@ -22,7 +22,7 @@ import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_DESC; @ObjectClassDefinition(name = "AET Chrome WebDriver Factory", description = "AET Chrome WebDriver Factory") -public @interface ChromeWebDriverFactoryConfig { +public @interface ChromeWebDriverFactoryConf { String DEFAULT_BROWSER_NAME = "chrome"; @@ -37,8 +37,8 @@ String name(); @AttributeDefinition( - name = ChromeWebDriverFactoryConfig.SELENIUM_GRID_URL_LABEL, - description = ChromeWebDriverFactoryConfig.SELENIUM_GRID_URL_DESC, - defaultValue = ChromeWebDriverFactoryConfig.DEFAULT_SELENIUM_GRID_URL) + name = ChromeWebDriverFactoryConf.SELENIUM_GRID_URL_LABEL, + description = ChromeWebDriverFactoryConf.SELENIUM_GRID_URL_DESC, + defaultValue = ChromeWebDriverFactoryConf.DEFAULT_SELENIUM_GRID_URL) String seleniumGridUrl(); } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConfig.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/configuration/WebDriverProviderConf.java similarity index 91% rename from core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConfig.java rename to core/worker/src/main/java/com/cognifide/aet/worker/drivers/configuration/WebDriverProviderConf.java index 481586b94..edff1c208 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverProviderConfig.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/configuration/WebDriverProviderConf.java @@ -13,13 +13,13 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. */ -package com.cognifide.aet.worker.drivers; +package com.cognifide.aet.worker.drivers.configuration; import org.osgi.service.metatype.annotations.AttributeDefinition; import org.osgi.service.metatype.annotations.ObjectClassDefinition; @ObjectClassDefinition(name = "AET WebDriver Provider", description = "AET WebDriver Provider") -public @interface WebDriverProviderConfig { +public @interface WebDriverProviderConf { String DEFAULT_WEB_DRIVER_NAME_LABEL = "Default Web Driver name"; diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java index 50922e864..f370b595f 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactory.java @@ -21,11 +21,10 @@ import com.cognifide.aet.job.api.collector.ProxyServerWrapper; import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.worker.api.WebDriverFactory; +import com.cognifide.aet.worker.drivers.firefox.local.configuration.FirefoxWebDriverFactoryConf; import com.cognifide.aet.worker.exceptions.WorkerException; - import java.io.File; import java.util.concurrent.TimeUnit; - import org.openqa.selenium.Proxy; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; @@ -42,13 +41,13 @@ @Component( property = {"name = " + Constants.SERVICE_VENDOR, "value = Cognifide Ltd"} ) -@Designate(ocd = FirefoxWebDriverFactoryConfig.class) +@Designate(ocd = FirefoxWebDriverFactoryConf.class) public class FirefoxWebDriverFactory implements WebDriverFactory { @Reference private HttpRequestExecutorFactory requestExecutorFactory; - private FirefoxWebDriverFactoryConfig config; + private FirefoxWebDriverFactoryConf config; @Override public String getName() { @@ -126,7 +125,7 @@ private WebDriver getFirefoxDriver(DesiredCapabilities capabilities) { } @Activate - public void activate(FirefoxWebDriverFactoryConfig config) { + public void activate(FirefoxWebDriverFactoryConf config) { this.config = config; } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/configuration/FirefoxWebDriverFactoryConf.java similarity index 92% rename from core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java rename to core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/configuration/FirefoxWebDriverFactoryConf.java index efab3427f..6980c68e0 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/FirefoxWebDriverFactoryConfig.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/firefox/local/configuration/FirefoxWebDriverFactoryConf.java @@ -13,7 +13,7 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. */ -package com.cognifide.aet.worker.drivers.firefox.local; +package com.cognifide.aet.worker.drivers.firefox.local.configuration; import org.osgi.service.metatype.annotations.AttributeDefinition; import org.osgi.service.metatype.annotations.ObjectClassDefinition; @@ -21,14 +21,16 @@ import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_LABEL; @ObjectClassDefinition(name = "AET Firefox WebDriver Factory", description = "AET Firefox WebDriver Factory") -public @interface FirefoxWebDriverFactoryConfig { +public @interface FirefoxWebDriverFactoryConf { String PATH_LABEL = "Custom path to Firefox binary"; + String DEFAULT_FF_NAME = "ff"; String DEFAULT_FIREFOX_BINARY_PATH = "/usr/bin/firefox"; String LOG_FILE_PATH_LABEL = "Path to firefox error log"; + String DEFAULT_FIREFOX_ERROR_LOG_FILE_PATH = "/opt/aet/firefox/log/stderr.log"; @AttributeDefinition(name = NAME_LABEL, defaultValue = DEFAULT_FF_NAME) From b807121d84eead8b247441899430d66269c9f148 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Thu, 16 Aug 2018 15:40:32 +0200 Subject: [PATCH 66/72] changed web driver helper --- .../aet/worker/drivers/WebDriverHelper.java | 12 ++++++++++++ .../configuration/ChromeWebDriverFactoryConf.java | 12 +++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java index 460dd0362..bf6a4ad6f 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/WebDriverHelper.java @@ -25,10 +25,22 @@ */ public final class WebDriverHelper { + public static final String NAME = "name"; + public static final String NAME_LABEL = "Name"; public static final String NAME_DESC = "Driver name that will be used by other services like Screenshot Collectors"; + public static final String PATH = "path"; + + public static final String PATH_LABEL = "Path"; + + public static final String PATH_DESC = "Custom path to driver binary"; + + public static final String SELENIUM_GRID_URL_LABEL = "Selenium grid URL"; + + public static final String DEFAULT_SELENIUM_GRID_URL = "http://localhost:4444/wd/hub"; + private WebDriverHelper() { // restrict instantiation } diff --git a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/configuration/ChromeWebDriverFactoryConf.java b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/configuration/ChromeWebDriverFactoryConf.java index 0c1688afc..6548587ee 100644 --- a/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/configuration/ChromeWebDriverFactoryConf.java +++ b/core/worker/src/main/java/com/cognifide/aet/worker/drivers/chrome/configuration/ChromeWebDriverFactoryConf.java @@ -18,18 +18,16 @@ import org.osgi.service.metatype.annotations.AttributeDefinition; import org.osgi.service.metatype.annotations.ObjectClassDefinition; +import static com.cognifide.aet.worker.drivers.WebDriverHelper.DEFAULT_SELENIUM_GRID_URL; import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_LABEL; import static com.cognifide.aet.worker.drivers.WebDriverHelper.NAME_DESC; +import static com.cognifide.aet.worker.drivers.WebDriverHelper.SELENIUM_GRID_URL_LABEL; @ObjectClassDefinition(name = "AET Chrome WebDriver Factory", description = "AET Chrome WebDriver Factory") public @interface ChromeWebDriverFactoryConf { String DEFAULT_BROWSER_NAME = "chrome"; - String SELENIUM_GRID_URL_LABEL = "Selenium grid URL"; - String SELENIUM_GRID_URL_DESC = "Url to selenium grid hub. When null local Chrome driver will be used. Local Chrome driver does not work on Linux"; - String DEFAULT_SELENIUM_GRID_URL = "http://localhost:4444/wd/hub"; - @AttributeDefinition( name = NAME_LABEL, description = NAME_DESC, @@ -37,8 +35,8 @@ String name(); @AttributeDefinition( - name = ChromeWebDriverFactoryConf.SELENIUM_GRID_URL_LABEL, - description = ChromeWebDriverFactoryConf.SELENIUM_GRID_URL_DESC, - defaultValue = ChromeWebDriverFactoryConf.DEFAULT_SELENIUM_GRID_URL) + name = SELENIUM_GRID_URL_LABEL, + description = SELENIUM_GRID_URL_LABEL, + defaultValue = DEFAULT_SELENIUM_GRID_URL) String seleniumGridUrl(); } From 09bb97b5926afbd99621c362c800eafe999802e0 Mon Sep 17 00:00:00 2001 From: plutasnyy Date: Thu, 16 Aug 2018 16:43:37 +0200 Subject: [PATCH 67/72] update labels in runner configuration --- .../runner/configuration/RunnerConfigurationConf.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerConfigurationConf.java b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerConfigurationConf.java index 4ee1b8d6d..2973b8ad2 100644 --- a/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerConfigurationConf.java +++ b/core/runner/src/main/java/com/cognifide/aet/runner/configuration/RunnerConfigurationConf.java @@ -24,15 +24,15 @@ int DEFAULT_TASK_RUN_FAILURE_TIMEOUT_SECONDS = 120; - String PARAM_FAILURE_TIMEOUT = "ft"; + String PARAM_FAILURE_TIMEOUT = "Failure timeout"; - String PARAM_MESSAGE_TTL = "mttl"; + String PARAM_MESSAGE_TTL = "Message TTL"; - String PARAM_URL_PACKAGE_SIZE = "urlPackageSize"; + String PARAM_URL_PACKAGE_SIZE = "Url package size"; - String PARAM_MAX_MESSAGES_IN_COLLECTOR_QUEUE = "maxMessagesInCollectorQueue"; + String PARAM_MAX_MESSAGES_IN_COLLECTOR_QUEUE = "Max messages in collector queue"; - String PARAM_MAX_CONCURRENT_SUITES_PROCESSED_COUNT = "maxConcurrentSuitesCount"; + String PARAM_MAX_CONCURRENT_SUITES_PROCESSED_COUNT = "Max concurrent suites count"; int DEFAULT_MAX_CONCURRENT_SUITES_PROCESSED_COUNT = 5; From d73e63b5229de90474b8938903e8923695ceb192 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Fri, 17 Aug 2018 09:58:33 +0200 Subject: [PATCH 68/72] redundancy in annotations removed --- .../job/common/collectors/screen/ScreenCollectorFactory.java | 2 +- .../job/common/collectors/source/SourceCollectorFactory.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/screen/ScreenCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/screen/ScreenCollectorFactory.java index 2051f6389..705e984a4 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/screen/ScreenCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/screen/ScreenCollectorFactory.java @@ -25,7 +25,7 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -@Component(service = CollectorFactory.class) +@Component public class ScreenCollectorFactory implements CollectorFactory { @Reference diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java index 81e54a540..f9ad0b695 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java @@ -28,7 +28,7 @@ import org.osgi.service.component.annotations.Reference; import org.osgi.service.metatype.annotations.Designate; -@Component(service = CollectorFactory.class) +@Component @Designate(ocd = SourceCollectorFactoryConf.class) public class SourceCollectorFactory implements CollectorFactory { From dab479520cbc5dc11903d0c411ae3780c93ccdf2 Mon Sep 17 00:00:00 2001 From: Piotr Orleanski Date: Fri, 17 Aug 2018 10:11:22 +0200 Subject: [PATCH 69/72] constants update --- .../cleaner/configuration/CleanerSchedulerConf.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/configuration/CleanerSchedulerConf.java b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/configuration/CleanerSchedulerConf.java index 25e99463e..10e770e3a 100644 --- a/core/cleaner/src/main/java/com/cognifide/aet/cleaner/configuration/CleanerSchedulerConf.java +++ b/core/cleaner/src/main/java/com/cognifide/aet/cleaner/configuration/CleanerSchedulerConf.java @@ -22,17 +22,17 @@ @ObjectClassDefinition(name = "AET Cleaning Scheduler Service", description = "AET Cleaning Scheduler Service") public @interface CleanerSchedulerConf { - String COMPANY_NAME = "companyName"; + String COMPANY_NAME = "Company Name"; - String PROJECT_NAME = "projectName"; + String PROJECT_NAME = "Project Name"; - String REMOVE_OLDER_THAN = "removeOlderThan"; + String REMOVE_OLDER_THAN = "Remove artifacts older than"; - String KEEP_N_VERSIONS = "keepNVersions"; + String KEEP_N_VERSIONS = "Last versions to keep"; - String SCHEDULE_CRON = "schedule"; + String SCHEDULE_CRON = "Schedule"; - String DRY_RUN = "dryRun"; + String DRY_RUN = "Dry run"; long DEFAULT_REMOVE_OLDER_THAN_PARAM = 10L; From 77f33a561f4389f2accbd0fba27d01ac450bfa77 Mon Sep 17 00:00:00 2001 From: Slasheruus <41109829+Slasheruus@users.noreply.github.com> Date: Fri, 17 Aug 2018 12:17:22 +0200 Subject: [PATCH 70/72] fix method name --- .../job/common/collectors/source/SourceCollectorFactory.java | 2 +- .../source/configuration/SourceCollectorFactoryConf.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java index f9ad0b695..0099fe954 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/source/SourceCollectorFactory.java @@ -47,7 +47,7 @@ public CollectorJob createInstance(CollectorProperties properties, Map Date: Tue, 21 Aug 2018 12:36:07 +0200 Subject: [PATCH 71/72] Update UpgradeNotes.md --- documentation/src/main/wiki/UpgradeNotes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/src/main/wiki/UpgradeNotes.md b/documentation/src/main/wiki/UpgradeNotes.md index f8028bece..74c8eb49a 100644 --- a/documentation/src/main/wiki/UpgradeNotes.md +++ b/documentation/src/main/wiki/UpgradeNotes.md @@ -11,9 +11,9 @@ You may see all changes in the [Changelog](https://github.com/Cognifide/aet/blob With the OSGI annotations update to 6.0.0 version we had to change a little bit variable names. Currently, your config could have old names and you have to update them. Please follow instruction below: -1. Open `/opt/aet/karaf/aet_configs/current` +Open `/opt/aet/karaf/aet_configs/current` -2. You have to do it in a certain way: +Modify following OSGi config files (by default they should be located in /opt/aet/karaf/aet_configs/current): |File name|Way to change variable names| |---|---| From 7dd7083f7251ca85594aa9e30d9898b455ec49db Mon Sep 17 00:00:00 2001 From: Kamil Date: Tue, 21 Aug 2018 12:37:07 +0200 Subject: [PATCH 72/72] Update UpgradeNotes.md --- documentation/src/main/wiki/UpgradeNotes.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/documentation/src/main/wiki/UpgradeNotes.md b/documentation/src/main/wiki/UpgradeNotes.md index 74c8eb49a..a62195d93 100644 --- a/documentation/src/main/wiki/UpgradeNotes.md +++ b/documentation/src/main/wiki/UpgradeNotes.md @@ -11,9 +11,7 @@ You may see all changes in the [Changelog](https://github.com/Cognifide/aet/blob With the OSGI annotations update to 6.0.0 version we had to change a little bit variable names. Currently, your config could have old names and you have to update them. Please follow instruction below: -Open `/opt/aet/karaf/aet_configs/current` - -Modify following OSGi config files (by default they should be located in /opt/aet/karaf/aet_configs/current): +Modify following OSGi config files (by default they should be located in `/opt/aet/karaf/aet_configs/current`): |File name|Way to change variable names| |---|---|