diff --git a/core/jobs/pom.xml b/core/jobs/pom.xml index 2347e6c57..6ec38a368 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 @@ -78,10 +90,6 @@ com.googlecode.java-diff-utils diffutils - - org.apache.sling - org.apache.sling.commons.osgi - org.apache.httpcomponents fluent-hc @@ -96,11 +104,6 @@ slf4j-api - - org.apache.felix - org.apache.felix.scr.annotations - - junit @@ -163,6 +166,18 @@ + + + + org.apache.felix + maven-scr-plugin + + + generate-scr-descriptor + none + + + org.apache.rat apache-rat-plugin 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