From 12a0ddf21f39a9083a829223e60679ee5d08f850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Tue, 12 Aug 2025 17:01:48 +0200 Subject: [PATCH 01/30] UNOMI-876: Migrate Unomi for running on Karaf 4.4.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git c/api/pom.xml i/api/pom.xml index 3ed267975..cfe1c8636 100644 --- c/api/pom.xml +++ i/api/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-api @@ -34,12 +34,12 @@ jakarta.xml.bind jakarta.xml.bind-api - 2.3.2 provided org.apache.commons commons-lang3 + provided javax.validation @@ -48,6 +48,11 @@ commons-beanutils commons-beanutils + provided + + + org.slf4j + slf4j-api com.fasterxml.jackson.core diff --git c/common/pom.xml i/common/pom.xml index e202af18d..f470d48d2 100644 --- c/common/pom.xml +++ i/common/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-common @@ -34,7 +34,6 @@ org.apache.commons commons-csv - 1.5 junit @@ -44,28 +43,22 @@ org.apache.karaf.shell org.apache.karaf.shell.console - ${version.karaf} provided - org.apache.karaf.shell org.apache.karaf.shell.table - ${version.karaf} provided org.apache.unomi unomi-api - 2.7.0-SNAPSHOT test - org.slf4j slf4j-simple - 1.7.36 test diff --git c/common/src/main/java/org/apache/unomi/common/DataTable.java i/common/src/main/java/org/apache/unomi/common/DataTable.java index 06839fccd..21862d299 100644 --- c/common/src/main/java/org/apache/unomi/common/DataTable.java +++ i/common/src/main/java/org/apache/unomi/common/DataTable.java @@ -20,7 +20,6 @@ import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; import java.io.IOException; -import java.io.StringWriter; import java.util.ArrayList; import java.util.Comparator; import java.util.List; diff --git c/docker/pom.xml i/docker/pom.xml index 57502de25..2d63324da 100644 --- c/docker/pom.xml +++ i/docker/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-docker @@ -43,7 +43,6 @@ org.apache.maven.plugins maven-dependency-plugin - 3.1.2 copy @@ -105,7 +104,7 @@ io.fabric8 docker-maven-plugin - 0.40.2 + 0.46.0 diff --git c/docker/src/main/docker/Dockerfile i/docker/src/main/docker/Dockerfile index 6734689fc..30d8db250 100644 --- c/docker/src/main/docker/Dockerfile +++ i/docker/src/main/docker/Dockerfile @@ -15,7 +15,7 @@ # limitations under the License. ################################################################################ -FROM library/eclipse-temurin:11 +FROM library/eclipse-temurin:17 # Unomi environment variables ENV UNOMI_HOME /opt/apache-unomi diff --git c/extensions/geonames/pom.xml i/extensions/geonames/pom.xml index f83aaccbb..e337f3b33 100644 --- c/extensions/geonames/pom.xml +++ i/extensions/geonames/pom.xml @@ -18,20 +18,18 @@ 4.0.0 + + org.apache.unomi + unomi-extensions + 3.0.0-SNAPSHOT + + cxs-geonames + Apache Unomi :: Extensions :: Geonames Database + Apache Unomi Context Server extension that integrates with the Geonames database + pom services rest - - - org.apache.unomi - unomi-extensions - 2.7.0-SNAPSHOT - - - cxs-geonames - Apache Unomi :: Extensions :: Geonames Database - Apache Unomi Context Server extension that integrates with the Geonames database - pom diff --git c/extensions/geonames/rest/pom.xml i/extensions/geonames/rest/pom.xml index 34b3f1ce3..4093f1a3e 100644 --- c/extensions/geonames/rest/pom.xml +++ i/extensions/geonames/rest/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi cxs-geonames - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-geonames-rest Apache Unomi :: Extensions :: Geonames Database :: REST API REST API for the Apache Unomi Context Server extension that integrates with the Geonames database @@ -33,14 +32,22 @@ org.apache.unomi unomi-api - ${project.version} + provided + + + org.apache.unomi + cxs-geonames-services + provided + + + org.apache.unomi + unomi-persistence-spi provided - org.apache.unomi - cxs-geonames-services - ${project.version} + org.osgi + org.osgi.service.component.annotations provided @@ -49,7 +56,16 @@ javax.servlet-api provided + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + + + org.apache.commons + commons-lang3 + provided + org.apache.cxf cxf-rt-frontend-jaxws @@ -68,20 +84,11 @@ org.apache.cxf cxf-rt-rs-security-cors + provided com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.osgi - osgi.cmpn provided diff --git c/extensions/geonames/services/pom.xml i/extensions/geonames/services/pom.xml index 0fe65c5b9..b532dcd8a 100644 --- c/extensions/geonames/services/pom.xml +++ i/extensions/geonames/services/pom.xml @@ -17,14 +17,12 @@ --> + 4.0.0 org.apache.unomi cxs-geonames - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - - 4.0.0 - cxs-geonames-services Apache Unomi :: Extensions :: Geonames Database :: Service Service implementation for the Apache Unomi Context Server extension that integrates with the Geonames database @@ -34,15 +32,14 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + org.apache.cxf cxf-rt-rs-security-cors @@ -51,10 +48,12 @@ org.apache.commons commons-lang3 + provided commons-beanutils commons-beanutils + provided diff --git c/extensions/groovy-actions/karaf-kar/pom.xml i/extensions/groovy-actions/karaf-kar/pom.xml index ff874dc6d..a1de6ad96 100644 --- c/extensions/groovy-actions/karaf-kar/pom.xml +++ i/extensions/groovy-actions/karaf-kar/pom.xml @@ -17,18 +17,15 @@ --> + 4.0.0 org.apache.unomi unomi-groovy-actions-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-groovy-actions Apache Unomi :: Extensions :: Groovy Actions :: Apache Karaf Feature and KAR archive - Apache Karaf Feature and KAR archive for the Apache Unomi Context Server extension that provides the possibility to use - Groovy for actions - + Apache Karaf Feature and KAR archive for the Apache Unomi Context Server extension that provides the possibility to use Groovy for actions kar diff --git c/extensions/groovy-actions/pom.xml i/extensions/groovy-actions/pom.xml index 53892b110..9a76295aa 100644 --- c/extensions/groovy-actions/pom.xml +++ i/extensions/groovy-actions/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-groovy-actions-root Apache Unomi :: Extensions :: Groovy Actions Apache Unomi Context Server extension that provides support for Groovy Actions diff --git c/extensions/groovy-actions/rest/pom.xml i/extensions/groovy-actions/rest/pom.xml index de1052262..db2f221a8 100644 --- c/extensions/groovy-actions/rest/pom.xml +++ i/extensions/groovy-actions/rest/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-groovy-actions-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-groovy-actions-rest Apache Unomi :: Extensions :: Groovy Actions :: REST API REST API for the Apache Unomi Context Server extension that integrates with groovy actions @@ -34,14 +33,22 @@ org.apache.unomi unomi-api - ${project.version} + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-groovy-actions-services provided - org.apache.unomi - unomi-groovy-actions-services - ${project.version} + org.osgi + org.osgi.service.component.annotations provided @@ -51,6 +58,11 @@ provided + + commons-io + commons-io + + org.apache.cxf cxf-rt-frontend-jaxws @@ -76,21 +88,6 @@ jackson-jaxrs-json-provider provided - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.osgi - osgi.cmpn - provided - - - commons-io - commons-io - diff --git c/extensions/groovy-actions/services/pom.xml i/extensions/groovy-actions/services/pom.xml index 3d4de386e..76c30b85b 100644 --- c/extensions/groovy-actions/services/pom.xml +++ i/extensions/groovy-actions/services/pom.xml @@ -17,57 +17,65 @@ --> + 4.0.0 org.apache.unomi unomi-groovy-actions-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - - 4.0.0 - unomi-groovy-actions-services Apache Unomi :: Extensions :: Groovy Actions :: Service - Service implementation for the Apache Unomi Context Server extension that provides the possibility to implement actions in - Groovy - + Service implementation for the Apache Unomi Context Server extension that provides the possibility to implement actions in Groovy bundle org.apache.unomi unomi-api - ${project.version} - provided - - - org.osgi - osgi.core - provided - - - - org.osgi - osgi.cmpn provided org.apache.unomi unomi-metrics - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided org.apache.unomi unomi-services - ${project.version} provided + + + org.osgi + osgi.core + provided + + + org.osgi + org.osgi.service.metatype.annotations + provided + + + org.osgi + org.osgi.service.component + provided + + + org.osgi + org.osgi.service.component.annotations + provided + + + + commons-io + commons-io + + com.fasterxml.jackson.core jackson-core @@ -90,10 +98,6 @@ ${groovy.version} provided - - commons-io - commons-io - diff --git c/extensions/healthcheck/pom.xml i/extensions/healthcheck/pom.xml index 8b5f9253b..a41479ad8 100644 --- c/extensions/healthcheck/pom.xml +++ i/extensions/healthcheck/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - healthcheck Apache Unomi :: Extensions :: HealthCheck Apache Unomi HealthCheck extension that provide liveliness information about unomi @@ -33,27 +32,24 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-lifecycle-watcher - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided org.apache.unomi shell-commands - ${project.version} provided + javax.servlet javax.servlet-api @@ -61,17 +57,29 @@ org.osgi - osgi.cmpn + org.osgi.service.useradmin + provided + + + org.osgi + org.osgi.service.component.annotations + provided + + + org.osgi + org.osgi.service.http + provided + + + + org.apache.commons + commons-lang3 provided org.apache.httpcomponents httpclient-osgi - provided - - - org.apache.httpcomponents - httpcore-osgi + bundle provided @@ -82,7 +90,6 @@ org.apache.karaf.jaas org.apache.karaf.jaas.boot - ${karaf.version} provided diff --git c/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/provider/ElasticSearchHealthCheckProvider.java i/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/provider/ElasticSearchHealthCheckProvider.java index 361e68df7..96a17db1a 100644 --- c/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/provider/ElasticSearchHealthCheckProvider.java +++ i/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/provider/ElasticSearchHealthCheckProvider.java @@ -26,11 +26,10 @@ import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.apache.unomi.healthcheck.HealthCheckConfig; -import org.apache.unomi.healthcheck.HealthCheckResponse; import org.apache.unomi.healthcheck.HealthCheckProvider; +import org.apache.unomi.healthcheck.HealthCheckResponse; import org.apache.unomi.healthcheck.util.CachedValue; import org.apache.unomi.shell.migration.utils.HttpUtils; import org.osgi.service.component.annotations.Activate; diff --git c/extensions/json-schema/pom.xml i/extensions/json-schema/pom.xml index a38969f6a..8223b7753 100644 --- c/extensions/json-schema/pom.xml +++ i/extensions/json-schema/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-json-schema-root diff --git c/extensions/json-schema/rest/pom.xml i/extensions/json-schema/rest/pom.xml index a9d9094d6..0753ad861 100644 --- c/extensions/json-schema/rest/pom.xml +++ i/extensions/json-schema/rest/pom.xml @@ -17,12 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-json-schema-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 unomi-json-schema-rest Apache Unomi :: Extensions :: JSON Schema :: REST API @@ -33,21 +33,22 @@ org.apache.unomi unomi-api - ${project.version} provided - org.apache.unomi unomi-json-schema-services - ${project.version} + provided + + + org.apache.unomi + unomi-rest provided - org.apache.unomi - unomi-rest - ${project.version} + org.osgi + org.osgi.service.component.annotations provided @@ -56,20 +57,26 @@ javax.servlet-api provided + + jakarta.jws + jakarta.jws-api + provided + - org.apache.cxf - cxf-rt-frontend-jaxws + commons-io + commons-io provided - org.apache.cxf - cxf-rt-frontend-jaxrs + org.apache.commons + commons-lang3 provided + - org.apache.cxf - cxf-rt-transports-http + javax.ws.rs + javax.ws.rs-api provided @@ -77,20 +84,7 @@ cxf-rt-rs-security-cors provided - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - provided - - - org.osgi - osgi.cmpn - provided - - - commons-io - commons-io - + diff --git c/extensions/json-schema/services/pom.xml i/extensions/json-schema/services/pom.xml index 4538c8846..b69f8609f 100644 --- c/extensions/json-schema/services/pom.xml +++ i/extensions/json-schema/services/pom.xml @@ -20,7 +20,7 @@ org.apache.unomi unomi-json-schema-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT 4.0.0 @@ -40,7 +40,11 @@ org.apache.unomi unomi-api - ${project.version} + provided + + + org.apache.unomi + unomi-persistence-spi provided @@ -50,22 +54,16 @@ provided - - org.osgi - osgi.cmpn - provided - - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - commons-io commons-io + provided + + + + org.apache.commons + commons-lang3 + provided @@ -113,7 +111,6 @@ org.yaml snakeyaml - 2.2 compile diff --git c/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/api/ValidationError.java i/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/api/ValidationError.java index 7adfabef1..7dc9cb3eb 100644 --- c/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/api/ValidationError.java +++ i/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/api/ValidationError.java @@ -17,8 +17,6 @@ package org.apache.unomi.schema.api; -import com.networknt.schema.ValidationMessage; - import java.io.Serializable; /** diff --git c/extensions/lists-extension/actions/pom.xml i/extensions/lists-extension/actions/pom.xml index e6a1f753d..4e6e0b887 100644 --- c/extensions/lists-extension/actions/pom.xml +++ i/extensions/lists-extension/actions/pom.xml @@ -17,31 +17,26 @@ --> + 4.0.0 cxs-lists-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-lists-extension-actions Apache Unomi :: Extensions :: Lists :: Actions List extension rule actions for the Apache Unomi Context Server - bundle org.apache.unomi unomi-api - ${project.version} provided - org.apache.unomi cxs-lists-extension-services - ${project.version} provided diff --git c/extensions/lists-extension/pom.xml i/extensions/lists-extension/pom.xml index 426d9f4ff..f68461fe1 100644 --- c/extensions/lists-extension/pom.xml +++ i/extensions/lists-extension/pom.xml @@ -18,21 +18,20 @@ 4.0.0 - - - services - rest - actions - - org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT cxs-lists-extension Apache Unomi :: Extensions :: Lists List extension for the Apache Unomi Context Server pom + + + services + rest + actions + diff --git c/extensions/lists-extension/rest/pom.xml i/extensions/lists-extension/rest/pom.xml index 2ef53bcba..db0c58cac 100644 --- c/extensions/lists-extension/rest/pom.xml +++ i/extensions/lists-extension/rest/pom.xml @@ -17,31 +17,31 @@ --> + 4.0.0 cxs-lists-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-lists-extension-rest Apache Unomi :: Extensions :: Lists :: REST API List extension REST API for the Apache Unomi Context Server - bundle org.apache.unomi unomi-api - ${project.version} provided - + + org.apache.unomi + unomi-persistence-spi + provided + org.apache.unomi cxs-lists-extension-services - ${project.version} provided @@ -50,6 +50,16 @@ javax.servlet-api provided + + org.osgi + org.osgi.service.component.annotations + provided + + + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + org.apache.cxf @@ -69,20 +79,11 @@ org.apache.cxf cxf-rt-rs-security-cors + provided com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.osgi - osgi.cmpn provided diff --git c/extensions/lists-extension/services/pom.xml i/extensions/lists-extension/services/pom.xml index 7cabb2a02..ce01f8c77 100644 --- c/extensions/lists-extension/services/pom.xml +++ i/extensions/lists-extension/services/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 cxs-lists-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-lists-extension-services Apache Unomi :: Extensions :: Lists :: Service List extension service implementation for the Apache Unomi Context Server @@ -33,15 +32,14 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + org.apache.cxf cxf-rt-rs-security-cors diff --git c/extensions/log4j-extension/pom.xml i/extensions/log4j-extension/pom.xml index 007010d3b..f38accb0f 100644 --- c/extensions/log4j-extension/pom.xml +++ i/extensions/log4j-extension/pom.xml @@ -17,39 +17,27 @@ --> - 4.0.0 - org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT - ../pom.xml + 3.0.0-SNAPSHOT - log4j-extension bundle Apache Unomi :: Extensions :: Log4j Extension Apache Unomi log4j extensions - - UTF-8 - 1.8 - 1.8 - - - org.apache.commons commons-lang3 - 3.15.0 + provided org.apache.logging.log4j log4j-core - 2.19.0 provided diff --git c/extensions/pom.xml i/extensions/pom.xml index 707f8b78a..3b29d26cc 100644 --- c/extensions/pom.xml +++ i/extensions/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-extensions Apache Unomi :: Extensions Apache Unomi Context Server extensions diff --git c/extensions/privacy-extension/pom.xml i/extensions/privacy-extension/pom.xml index e11174c96..f2700b46d 100644 --- c/extensions/privacy-extension/pom.xml +++ i/extensions/privacy-extension/pom.xml @@ -18,21 +18,18 @@ 4.0.0 + + org.apache.unomi + unomi-extensions + 3.0.0-SNAPSHOT + + cxs-privacy-extension + Apache Unomi :: Extensions :: Privacy + Privacy management extension for the Apache Unomi Context Server + pom services rest - - - org.apache.unomi - unomi-extensions - 2.7.0-SNAPSHOT - - - cxs-privacy-extension - Apache Unomi :: Extensions :: Privacy - Privacy management extension for the Apache Unomi Context Server - - pom diff --git c/extensions/privacy-extension/rest/pom.xml i/extensions/privacy-extension/rest/pom.xml index ebfa43556..ed5cc9843 100644 --- c/extensions/privacy-extension/rest/pom.xml +++ i/extensions/privacy-extension/rest/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 cxs-privacy-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-privacy-extension-rest Apache Unomi :: Extensions :: Privacy :: REST API Privacy management extension REST API for the Apache Unomi Context Server @@ -33,14 +32,22 @@ org.apache.unomi unomi-api - ${project.version} + provided + + + org.apache.unomi + cxs-privacy-extension-services + provided + + + org.apache.unomi + unomi-persistence-spi provided - org.apache.unomi - cxs-privacy-extension-services - ${project.version} + org.osgi + org.osgi.service.component.annotations provided @@ -49,6 +56,10 @@ javax.servlet-api provided + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + org.apache.cxf @@ -68,20 +79,12 @@ org.apache.cxf cxf-rt-rs-security-cors + provided + com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.osgi - osgi.cmpn provided diff --git c/extensions/privacy-extension/services/pom.xml i/extensions/privacy-extension/services/pom.xml index ff8b64442..2e22cf82d 100644 --- c/extensions/privacy-extension/services/pom.xml +++ i/extensions/privacy-extension/services/pom.xml @@ -17,46 +17,43 @@ --> + 4.0.0 cxs-privacy-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-privacy-extension-services Apache Unomi :: Extensions :: Privacy :: Services Privacy management extension service implementation for the Apache Unomi Context Server - 2.7.0-SNAPSHOT bundle org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} - provided - - - org.apache.cxf - cxf-rt-rs-security-cors - provided - - - org.osgi - osgi.core provided org.apache.unomi unomi-lifecycle-watcher - ${project.version} + provided + + + + org.osgi + osgi.core + provided + + + + org.apache.cxf + cxf-rt-rs-security-cors provided diff --git c/extensions/router/pom.xml i/extensions/router/pom.xml index 952614678..8ceb69a33 100644 --- c/extensions/router/pom.xml +++ i/extensions/router/pom.xml @@ -16,13 +16,11 @@ --> 4.0.0 - org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-router Apache Unomi :: Extensions :: Router Apache Camel Router for the Apache Unomi Context server @@ -31,7 +29,6 @@ 2.23.1 0.11.0.3 - 3.10.0 diff --git c/extensions/router/router-api/pom.xml i/extensions/router/router-api/pom.xml index ef5a6d63c..f3fe6f9f4 100644 --- c/extensions/router/router-api/pom.xml +++ i/extensions/router/router-api/pom.xml @@ -16,13 +16,12 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-api Apache Unomi :: Extensions :: Router :: API Router Specification API @@ -32,7 +31,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git c/extensions/router/router-core/pom.xml i/extensions/router/router-core/pom.xml index 8b7d46aad..379302271 100644 --- c/extensions/router/router-core/pom.xml +++ i/extensions/router/router-core/pom.xml @@ -16,19 +16,38 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-core Apache Unomi :: Extensions :: Router :: Core Router Core (Apache Camel Routes) bundle + + org.apache.unomi + unomi-api + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-services + provided + + + org.apache.unomi + unomi-router-api + + org.osgi osgi.core @@ -36,32 +55,10 @@ org.osgi - osgi.cmpn + org.osgi.service.component.annotations provided - - org.apache.unomi - unomi-api - ${project.version} - provided - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.apache.unomi - unomi-services - ${project.version} - provided - - - org.apache.unomi - unomi-router-api - ${project.version} - + org.apache.camel camel-core @@ -90,6 +87,7 @@ org.apache.camel camel-ftp ${camel.version} + provided org.apache.camel @@ -97,14 +95,15 @@ ${camel.version} provided + org.apache.commons commons-lang3 + provided commons-net commons-net - ${commons-net.version} commons-beanutils @@ -113,13 +112,12 @@ commons-logging commons-logging - 1.1.1 provided + com.opencsv opencsv - 3.10 org.apache.servicemix.bundles diff --git c/extensions/router/router-karaf-feature/pom.xml i/extensions/router/router-karaf-feature/pom.xml index 1ef821ef1..d7b8e6c40 100644 --- c/extensions/router/router-karaf-feature/pom.xml +++ i/extensions/router/router-karaf-feature/pom.xml @@ -16,27 +16,61 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-karaf-feature Apache Unomi :: Extensions :: Router :: Apache Karaf Feature Apache Karaf feature for the Apache Unomi Context Server extension kar - org.apache.servicemix.bundles - org.apache.servicemix.bundles.jsch - 0.1.54_1 + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-router-api + + + org.apache.unomi + unomi-router-core + + + org.apache.unomi + unomi-router-service + + + org.apache.unomi + unomi-router-rest + + + + org.apache.cxf + cxf-rt-rs-security-cors commons-net commons-net - ${commons-net.version} + + + org.apache.httpcomponents + httpclient-osgi + bundle + + + org.apache.httpcomponents + httpcore-osgi + + + + org.apache.servicemix.bundles + org.apache.servicemix.bundles.jsch + 0.1.54_1 org.apache.kafka @@ -88,49 +122,6 @@ camel-kafka ${camel.version} - - - org.apache.cxf - cxf-rt-rs-security-cors - ${cxf.version} - - - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.apache.unomi - unomi-router-api - ${project.version} - - - org.apache.unomi - unomi-router-core - ${project.version} - - - org.apache.unomi - unomi-router-service - ${project.version} - - - org.apache.unomi - unomi-router-rest - ${project.version} - - - org.apache.httpcomponents - httpclient-osgi - bundle - - - org.apache.httpcomponents - httpcore-osgi - diff --git c/extensions/router/router-karaf-feature/src/main/feature/feature.xml i/extensions/router/router-karaf-feature/src/main/feature/feature.xml index 6d707cf67..17e9cab7e 100644 --- c/extensions/router/router-karaf-feature/src/main/feature/feature.xml +++ i/extensions/router/router-karaf-feature/src/main/feature/feature.xml @@ -15,7 +15,7 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - +
Apache Karaf feature for the Apache Unomi Context Server extension
wrap diff --git c/extensions/router/router-rest/pom.xml i/extensions/router/router-rest/pom.xml index 341594b03..076618366 100644 --- c/extensions/router/router-rest/pom.xml +++ i/extensions/router/router-rest/pom.xml @@ -16,43 +16,59 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-rest Apache Unomi :: Extensions :: Router :: REST API Router REST API bundle - - org.apache.unomi - unomi-router-api - ${project.version} - provided - org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} + provided + + + org.apache.unomi + unomi-router-api + provided + + + + org.osgi + org.osgi.service.component.annotations + provided + + + + javax.servlet + javax.servlet-api + provided + + + javax.validation + validation-api provided javax.ws.rs javax.ws.rs-api - 2.0.1 - provided + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + + org.apache.cxf cxf-rt-rs-security-cors @@ -72,24 +88,24 @@ com.fasterxml.jackson.core jackson-databind - ${version.jackson.databind} - provided - - - javax.servlet - javax.servlet-api - provided - - - org.osgi - osgi.cmpn - provided - - - javax.validation - validation-api provided + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + + diff --git c/extensions/router/router-service/pom.xml i/extensions/router/router-service/pom.xml index c24e9e2d6..1456a75ed 100644 --- c/extensions/router/router-service/pom.xml +++ i/extensions/router/router-service/pom.xml @@ -16,18 +16,55 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-service Apache Unomi :: Extensions :: Router :: Services Router Services bundle + + + org.apache.unomi + unomi-api + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-router-api + provided + + + + org.osgi + osgi.core + provided + + + org.osgi + org.osgi.service.component.annotations + provided + + + + commons-beanutils + commons-beanutils + + + org.apache.commons + commons-lang3 + + + @@ -47,50 +84,4 @@ - - - org.apache.unomi - unomi-api - ${project.version} - provided - - - - org.apache.unomi - unomi-router-api - ${project.version} - provided - - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - - org.osgi - osgi.core - provided - - - - org.osgi - osgi.cmpn - provided - - - - commons-beanutils - commons-beanutils - - - org.apache.commons - commons-lang3 - - - - - diff --git c/extensions/salesforce-connector/actions/pom.xml i/extensions/salesforce-connector/actions/pom.xml index e3d7c2b7c..2985aac23 100644 --- c/extensions/salesforce-connector/actions/pom.xml +++ i/extensions/salesforce-connector/actions/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-salesforce-connector - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-salesforce-connector-actions Apache Unomi :: Extensions :: Salesforce connector :: Rule Actions Rule Actions for the Apache Unomi Context Server extension that integrates with Salesforce @@ -33,17 +32,14 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-salesforce-connector-services - ${project.version} provided -
diff --git c/extensions/salesforce-connector/karaf-kar/pom.xml i/extensions/salesforce-connector/karaf-kar/pom.xml index 5bf6caff2..896b9798b 100644 --- c/extensions/salesforce-connector/karaf-kar/pom.xml +++ i/extensions/salesforce-connector/karaf-kar/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-salesforce-connector - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-salesforce-connector-karaf-kar Apache Unomi :: Extensions :: Salesforce connector :: Apache Karaf Feature and KAR archive Apache Karaf Feature and KAR archive for the Apache Unomi Context Server extension that integrates with Salesforce @@ -33,9 +32,20 @@ org.apache.unomi unomi-api - ${project.version} provided + + org.apache.unomi + unomi-salesforce-connector-services + + + org.apache.unomi + unomi-salesforce-connector-rest + + + org.apache.unomi + unomi-salesforce-connector-actions + org.apache.httpcomponents @@ -45,22 +55,6 @@ org.apache.httpcomponents httpclient-osgi - - org.apache.unomi - unomi-salesforce-connector-services - ${project.version} - - - org.apache.unomi - unomi-salesforce-connector-rest - ${project.version} - - - org.apache.unomi - unomi-salesforce-connector-actions - ${project.version} - - diff --git c/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml i/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml index aa544d8a2..75e3c7114 100644 --- c/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml +++ i/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml @@ -15,7 +15,7 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - +
Apache Karaf feature for the Apache Unomi Context Server extension that integrates with Salesforce
unomi-kar diff --git c/extensions/salesforce-connector/pom.xml i/extensions/salesforce-connector/pom.xml index b759f7d5b..106c19731 100644 --- c/extensions/salesforce-connector/pom.xml +++ i/extensions/salesforce-connector/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-salesforce-connector Apache Unomi :: Extensions :: Salesforce connector Apache Unomi Context Server extension that integrates with Salesforce diff --git c/extensions/salesforce-connector/rest/pom.xml i/extensions/salesforce-connector/rest/pom.xml index d40ff5314..742a39bd7 100644 --- c/extensions/salesforce-connector/rest/pom.xml +++ i/extensions/salesforce-connector/rest/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-salesforce-connector - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-salesforce-connector-rest Apache Unomi :: Extensions :: Salesforce connector :: REST API REST API for the Apache Unomi Context Server extension that integrates with Salesforce @@ -33,14 +32,32 @@ org.apache.unomi unomi-api - ${project.version} + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-salesforce-connector-services provided - org.apache.unomi - unomi-salesforce-connector-services - ${project.version} + org.osgi + osgi.core + provided + + + org.osgi + org.osgi.service.component + provided + + + org.osgi + org.osgi.service.component.annotations provided @@ -49,6 +66,7 @@ javax.servlet-api provided
+ + 4.0.0 org.apache.unomi unomi-salesforce-connector - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - - 4.0.0 - unomi-salesforce-connector-services Apache Unomi :: Extensions :: Salesforce connector :: Service Service implementation for the Apache Unomi Context Server extension that integrates with Salesforce @@ -34,19 +32,22 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + + + org.apache.commons + commons-lang3 + + org.apache.cxf cxf-rt-rs-security-cors - ${cxf.version} provided @@ -57,37 +58,30 @@ org.eclipse.jetty jetty-client - 9.4.48.v20220622 org.eclipse.jetty jetty-http - 9.4.48.v20220622 org.eclipse.jetty jetty-io - 9.4.48.v20220622 org.eclipse.jetty jetty-util - 9.4.48.v20220622 org.cometd.java bayeux-api - 4.0.9 org.cometd.java cometd-java-client-common - 5.0.13 org.cometd.java cometd-java-client-http-jetty - 5.0.13 com.fasterxml.jackson.core @@ -104,19 +98,16 @@ junit junit - 4.13.1 test org.slf4j slf4j-simple - 1.7.36 test org.apache.felix org.apache.felix.utils - 1.10.4 test diff --git c/extensions/weather-update/core/pom.xml i/extensions/weather-update/core/pom.xml index df00b96b0..fa2aff031 100755 --- c/extensions/weather-update/core/pom.xml +++ i/extensions/weather-update/core/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-weather-update - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-weather-update-core Apache Unomi :: Extension :: Weather Update :: Core This is a simple Apache Unomi plugin. @@ -33,9 +32,9 @@ org.apache.unomi unomi-api - ${project.version} provided + org.apache.httpcomponents httpclient-osgi diff --git c/extensions/weather-update/karaf-kar/pom.xml i/extensions/weather-update/karaf-kar/pom.xml index 5a7a1ab49..b7f7aa565 100644 --- c/extensions/weather-update/karaf-kar/pom.xml +++ i/extensions/weather-update/karaf-kar/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-weather-update - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-weather-update-karaf-kar Apache Unomi :: Extension :: Weather Update :: Apache Karaf Feature and KAR archive This is a simple Apache Unomi plugin. @@ -33,9 +32,13 @@ org.apache.unomi unomi-api - ${project.version} provided + + org.apache.unomi + unomi-weather-update-core + + org.apache.httpcomponents httpcore-osgi @@ -44,12 +47,6 @@ org.apache.httpcomponents httpclient-osgi - - - org.apache.unomi - unomi-weather-update-core - ${project.version} - diff --git c/extensions/weather-update/karaf-kar/src/main/feature/feature.xml i/extensions/weather-update/karaf-kar/src/main/feature/feature.xml index f1db52bb4..c06b467cb 100644 --- c/extensions/weather-update/karaf-kar/src/main/feature/feature.xml +++ i/extensions/weather-update/karaf-kar/src/main/feature/feature.xml @@ -15,11 +15,9 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - - -
Apache Karaf feature for the Apache Unomi Context Server extension that integrates Weather - update
+ + +
Apache Karaf feature for the Apache Unomi Context Server extension that integrates Weather update
unomi-kar mvn:org.apache.unomi/unomi-weather-update-core/${project.version}/cfg/weatherupdatecfg mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore-osgi.version} diff --git c/extensions/weather-update/pom.xml i/extensions/weather-update/pom.xml index 6324cd0ec..cfb16d6fc 100644 --- c/extensions/weather-update/pom.xml +++ i/extensions/weather-update/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-weather-update diff --git c/extensions/web-tracker/pom.xml i/extensions/web-tracker/pom.xml index 3f962a423..bb29eb0b0 100644 --- c/extensions/web-tracker/pom.xml +++ i/extensions/web-tracker/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-web-tracker diff --git c/extensions/web-tracker/wab/pom.xml i/extensions/web-tracker/wab/pom.xml index b7b2633d0..66c492c58 100644 --- c/extensions/web-tracker/wab/pom.xml +++ i/extensions/web-tracker/wab/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-web-tracker - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-web-tracker-wab diff --git c/graphql/cxs-impl/pom.xml i/graphql/cxs-impl/pom.xml index 03efbc46f..badaf8916 100644 --- c/graphql/cxs-impl/pom.xml +++ i/graphql/cxs-impl/pom.xml @@ -16,13 +16,12 @@ ~ limitations under the License. --> + 4.0.0 org.apache.unomi unomi-graphql - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cdp-graphql-api-impl Apache Unomi :: GraphQL API :: CDP Implementation Apache Unomi Context GraphQL API CDP Implementation @@ -30,8 +29,40 @@ - org.slf4j - slf4j-api + org.apache.unomi + unomi-api + provided + + + org.apache.unomi + cxs-lists-extension-services + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-json-schema-services + provided + + + + org.osgi + osgi.enterprise + provided + + + org.osgi + osgi.core + provided + + + + org.apache.commons + commons-lang3 provided @@ -39,106 +70,59 @@ javax.servlet-api provided + + org.slf4j + slf4j-api + provided + com.fasterxml.jackson.core jackson-core - ${version.jackson.core} provided com.fasterxml.jackson.core jackson-annotations - ${version.jackson.core} provided com.fasterxml.jackson.core jackson-databind - ${version.jackson.databind} provided com.fasterxml.jackson.datatype jackson-datatype-jdk8 - ${version.jackson.core} provided com.fasterxml.jackson.module jackson-module-jaxb-annotations - ${version.jackson.jaxb} provided com.graphql-java graphql-java - ${graphql.java.version} provided io.github.graphql-java graphql-java-annotations - ${graphql.java.annotations.version} provided com.graphql-java graphql-java-extended-scalars - ${graphql.java.extended.scalars.version} provided io.reactivex.rxjava2 rxjava - ${reactivex.version} provided org.eclipse.jetty.websocket websocket-server - ${jetty.websocket.version} - provided - - - org.osgi - osgi.enterprise - 6.0.0 - provided - - - org.osgi - osgi.core - 6.0.0 - provided - - - org.apache.felix - org.apache.felix.scr.ds-annotations - 1.2.4 - provided - - - org.apache.unomi - unomi-api - ${project.version} - provided - - - org.apache.unomi - cxs-lists-extension-services - ${project.version} - provided - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.apache.unomi - unomi-json-schema-services - ${project.version} provided diff --git c/graphql/graphql-ui/pom.xml i/graphql/graphql-ui/pom.xml index 0947ba804..fd66b7139 100644 --- c/graphql/graphql-ui/pom.xml +++ i/graphql/graphql-ui/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-graphql - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-graphql-ui Apache Unomi :: GraphQL API :: GraphQL UI An integrated GraphQL UI @@ -37,7 +36,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git c/graphql/karaf-feature/pom.xml i/graphql/karaf-feature/pom.xml index d18139e9b..d9951b371 100644 --- c/graphql/karaf-feature/pom.xml +++ i/graphql/karaf-feature/pom.xml @@ -16,46 +16,33 @@ ~ limitations under the License. --> + 4.0.0 org.apache.unomi unomi-graphql - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - kar - cdp-graphql-feature Apache Unomi :: GraphQL API :: Karaf Feature Apache Unomi Context GraphQL API Karaf Feature + kar - commons-fileupload commons-fileupload - 1.3.1 org.antlr antlr4-runtime - 4.7.1 com.graphql-java java-dataloader - 2.2.0 org.reactivestreams reactive-streams - 1.0.2 @@ -87,7 +74,7 @@ org.eclipse.jetty.websocket websocket-server - ${jetty.websocket.version} + ${jetty.version} org.apache.unomi @@ -101,7 +88,7 @@ org.apache.karaf.tooling karaf-maven-plugin - ${version.karaf} + ${karaf.version} true 80 diff --git c/graphql/karaf-feature/src/main/feature/feature.xml i/graphql/karaf-feature/src/main/feature/feature.xml index 19203e810..d9f5aa212 100644 --- c/graphql/karaf-feature/src/main/feature/feature.xml +++ i/graphql/karaf-feature/src/main/feature/feature.xml @@ -19,36 +19,35 @@ unomi-kar - wrap:mvn:com.google.code.findbugs/jsr305/1.3.9 - wrap:mvn:org.checkerframework/checker-compat-qual/2.0.0 - wrap:mvn:com.google.errorprone/error_prone_annotations/2.1.3 - wrap:mvn:com.google.j2objc/j2objc-annotations/1.1 - wrap:mvn:org.codehaus.mojo/animal-sniffer-annotations/1.14 - mvn:commons-fileupload/commons-fileupload/1.3.1 - mvn:org.antlr/antlr4-runtime/${antlr.runtime.version} - wrap:mvn:com.graphql-java/java-dataloader/${java.dataloader.version} - mvn:org.reactivestreams/reactive-streams/1.0.2 + wrap:mvn:org.checkerframework/checker-compat-qual/${checker-compat-qual.version} + wrap:mvn:com.google.errorprone/error_prone_annotations/${error_prone_annotations.version} + wrap:mvn:com.google.j2objc/j2objc-annotations/${j2objc-annotations.version} + wrap:mvn:org.codehaus.mojo/animal-sniffer-annotations/${animal-sniffer-annotations.version} + mvn:commons-fileupload/commons-fileupload/${commons-fileupload.version} + mvn:org.antlr/antlr4-runtime/${antlr4.version} + wrap:mvn:com.graphql-java/java-dataloader/${java-dataloader.version} + mvn:org.reactivestreams/reactive-streams/${reactive-stream.version} mvn:com.graphql-java/graphql-java/${graphql.java.version} mvn:io.github.graphql-java/graphql-java-annotations/${graphql.java.annotations.version} - mvn:javax.validation/validation-api/${bean.validation.version} + mvn:javax.validation/validation-api/${javax-validation.version} wrap:mvn:com.graphql-java/graphql-java-extended-scalars/${graphql.java.extended.scalars.version} - wrap:mvn:com.squareup.okhttp3/okhttp/3.2.0 - wrap:mvn:com.squareup.okio/okio/1.6.0 - mvn:io.reactivex.rxjava2/rxjava/2.2.19 - mvn:org.eclipse.jetty.websocket/websocket-server/${jetty.websocket.version} - mvn:org.eclipse.jetty.websocket/websocket-common/${jetty.websocket.version} - mvn:org.eclipse.jetty.websocket/websocket-api/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-util/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-io/${jetty.websocket.version} - mvn:org.eclipse.jetty.websocket/websocket-client/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-client/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-xml/${jetty.websocket.version} - mvn:org.eclipse.jetty.websocket/websocket-servlet/${jetty.websocket.version} - mvn:javax.servlet/javax.servlet-api/3.0.1 - mvn:org.eclipse.jetty/jetty-servlet/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-security/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-server/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-http/${jetty.websocket.version} + wrap:mvn:com.squareup.okhttp3/okhttp/${okhttp.version} + wrap:mvn:com.squareup.okio/okio/${okio.version} + mvn:io.reactivex.rxjava2/rxjava/${reactivex.version} + mvn:org.eclipse.jetty.websocket/websocket-server/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-common/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-api/${jetty.version} + mvn:org.eclipse.jetty/jetty-util/${jetty.version} + mvn:org.eclipse.jetty/jetty-io/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-client/${jetty.version} + mvn:org.eclipse.jetty/jetty-client/${jetty.version} + mvn:org.eclipse.jetty/jetty-xml/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-servlet/${jetty.version} + mvn:javax.servlet/javax.servlet-api/${servlet.spec.version} + mvn:org.eclipse.jetty/jetty-servlet/${jetty.version} + mvn:org.eclipse.jetty/jetty-security/${jetty.version} + mvn:org.eclipse.jetty/jetty-server/${jetty.version} + mvn:org.eclipse.jetty/jetty-http/${jetty.version} mvn:org.apache.unomi/cdp-graphql-api-impl/${project.version} mvn:org.apache.unomi/unomi-graphql-ui/${project.version} diff --git c/graphql/pom.xml i/graphql/pom.xml index f0d3d8f75..b7372703f 100644 --- c/graphql/pom.xml +++ i/graphql/pom.xml @@ -18,28 +18,16 @@ 4.0.0 - org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-graphql Apache Unomi :: GraphQL API Apache Unomi Context GraphQL API Root Project pom - - 14.0 - 8.0 - 1.0 - 2.2.19 - 4.7.1 - 2.2.0 - 9.4.38.v20210224 - - cxs-impl graphql-ui diff --git c/itests/pom.xml i/itests/pom.xml index f61cbcd15..9a0cb178f 100644 --- c/itests/pom.xml +++ i/itests/pom.xml @@ -21,24 +21,12 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-itests Apache Unomi :: Integration Tests Apache Unomi Context Server integration tests - - - - org.apache.karaf - karaf-bom - ${karaf.version} - pom - import - - - - @@ -111,30 +99,26 @@ org.eclipse.jetty.websocket websocket-client - 9.4.28.v20200408 + ${jetty.version} org.apache.unomi unomi-lifecycle-watcher - ${project.version} test org.apache.unomi unomi-persistence-spi - ${project.version} test org.apache.unomi shell-commands - ${project.version} test org.apache.unomi unomi-groovy-actions-services - ${project.version} test @@ -257,7 +241,7 @@ org.apache.maven.plugins maven-failsafe-plugin - 3.0.0-M4 + ${maven-failsafe.plugin.version} **/*AllITs.java diff --git c/kar/pom.xml i/kar/pom.xml index 9a38f9b78..22e209453 100644 --- c/kar/pom.xml +++ i/kar/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-kar @@ -31,6 +31,104 @@ kar + + org.apache.unomi + unomi-api + + + org.apache.unomi + unomi-common + + + org.apache.unomi + unomi-wab + + + org.apache.unomi + unomi-metrics + + + org.apache.unomi + unomi-services + + + org.apache.unomi + unomi-scripting + + + org.apache.unomi + unomi-persistence-elasticsearch-core + + + + + org.apache.unomi + unomi-plugins-base + + + org.apache.unomi + unomi-plugins-request + + + org.apache.unomi + unomi-plugins-mail + + + org.apache.unomi + unomi-plugins-optimization-test + + + + + org.apache.unomi + cxs-lists-extension-services + + + org.apache.unomi + cxs-lists-extension-rest + + + org.apache.unomi + cxs-lists-extension-actions + + + org.apache.unomi + cxs-geonames-services + + + org.apache.unomi + cxs-geonames-rest + + + org.apache.unomi + cxs-privacy-extension-services + + + org.apache.unomi + cxs-privacy-extension-rest + + + org.apache.unomi + unomi-json-schema-services + + + org.apache.unomi + unomi-json-schema-rest + + + org.apache.unomi + shell-dev-commands + + + org.apache.unomi + unomi-web-tracker-wab + + + + joda-time + joda-time + + org.apache.httpcomponents httpcore-osgi @@ -39,120 +137,6 @@ org.apache.httpcomponents httpclient-osgi - - org.apache.unomi - unomi-wab - ${project.version} - - - org.apache.unomi - unomi-api - ${project.version} - - - org.apache.unomi - unomi-common - ${project.version} - - - org.apache.unomi - unomi-metrics - ${project.version} - - - org.apache.unomi - unomi-services - ${project.version} - - - org.apache.unomi - unomi-persistence-elasticsearch-core - ${project.version} - - - org.apache.unomi - unomi-plugins-base - ${project.version} - - - org.apache.unomi - unomi-plugins-request - ${project.version} - - - org.apache.unomi - unomi-plugins-mail - ${project.version} - - - org.apache.unomi - unomi-plugins-optimization-test - ${project.version} - - - org.apache.unomi - cxs-lists-extension-services - ${project.version} - - - org.apache.unomi - cxs-lists-extension-rest - ${project.version} - - - org.apache.unomi - cxs-lists-extension-actions - ${project.version} - - - org.apache.unomi - cxs-geonames-services - ${project.version} - - - org.apache.unomi - cxs-geonames-rest - ${project.version} - - - org.apache.unomi - unomi-json-schema-services - ${project.version} - - - org.apache.unomi - unomi-json-schema-rest - ${project.version} - - - org.apache.unomi - cxs-privacy-extension-services - ${project.version} - - - org.apache.unomi - cxs-privacy-extension-rest - ${project.version} - - - org.apache.unomi - shell-dev-commands - ${project.version} - - - joda-time - joda-time - - - org.apache.unomi - unomi-web-tracker-wab - ${project.version} - - - org.apache.unomi - unomi-scripting - ${project.version} - @@ -176,9 +160,42 @@ 85 + + + generate-features + generate-resources + + features-generate-descriptor + + + true + + + + verify-feature + process-resources + + verify + + + + mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features + mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features + file:${project.build.directory}/feature/feature.xml + + org.apache.karaf:apache-karaf:zip:${karaf.version} + 11 + + framework + + + unomi-kar + + true + + + -
-
diff --git c/kar/src/main/feature/feature.xml i/kar/src/main/feature/feature.xml index 6355a69e4..dc9eb7102 100644 --- c/kar/src/main/feature/feature.xml +++ i/kar/src/main/feature/feature.xml @@ -16,7 +16,7 @@ ~ limitations under the License. --> - + mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features @@ -24,7 +24,12 @@ wrap aries-blueprint war - cxf-jaxrs + config + scr + http + cxf + cxf-jaxws + cxf-jaxrs cxf-features-metrics cxf-rs-security-cors cxf-rs-description-openapi-v3 @@ -33,34 +38,39 @@ shell-compat mvn:org.apache.unomi/unomi-wab/${project.version}/cfg/unomicfg mvn:org.apache.unomi/unomi-persistence-elasticsearch-core/${project.version}/cfg/elasticsearchcfg - mvn:org.apache.unomi/unomi-plugins-request/${project.version}/cfg/requestcfg - mvn:org.apache.unomi/unomi-plugins-base/${project.version}/cfg/pluginsbasecfg mvn:org.apache.unomi/unomi-services/${project.version}/cfg/servicescfg mvn:org.apache.unomi/unomi-services/${project.version}/cfg/thirdpartycfg mvn:org.apache.unomi/unomi-services/${project.version}/cfg/clustercfg + mvn:org.apache.unomi/unomi-services/${project.version}/xml/hazelcastconfig + mvn:org.apache.unomi/unomi-plugins-request/${project.version}/cfg/requestcfg + mvn:org.apache.unomi/unomi-plugins-base/${project.version}/cfg/pluginsbasecfg mvn:org.apache.unomi/cxs-geonames-services/${project.version}/cfg/geonamescfg mvn:org.apache.unomi/unomi-groovy-actions-services/${project.version}/cfg/groovyactionscfg mvn:org.apache.unomi/unomi-json-schema-services/${project.version}/cfg/schemacfg - mvn:commons-io/commons-io/${apache.commons.io.version} - mvn:com.fasterxml.jackson.core/jackson-core/${version.jackson.core} - mvn:com.github.fge/btf/1.2 - mvn:com.github.fge/msg-simple/1.1 - mvn:com.google.guava/guava/16.0.1 - mvn:com.github.fge/jackson-coreutils/1.8 - mvn:com.github.fge/json-patch/1.9 - mvn:org.json/json/${org.json.version} - mvn:com.fasterxml.jackson.core/jackson-databind/${version.jackson.databind} - mvn:com.fasterxml.jackson.core/jackson-annotations/${version.jackson.core} - mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${version.jackson.core} - mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${version.jackson.jaxb} - mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${version.jackson.core} - mvn:org.yaml/snakeyaml/1.33 - mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${version.jackson.core} - mvn:joda-time/joda-time/${joda-time.version} - mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.9.0 - mvn:javax.annotation/javax.annotation-api/1.3.2 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/${jsr305.bundle.version} - mvn:commons-collections/commons-collections/${apache.commons.collections.version} + mvn:commons-collections/commons-collections/${commons-collections.version} + mvn:org.apache.commons/commons-lang3/${commons-lang3.version} + mvn:commons-beanutils/commons-beanutils/${commons-beanutils.version} + mvn:commons-io/commons-io/${commons-io.version} + mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore-osgi.version} + mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient-osgi.version} + mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version} + mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version} + mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version} + mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${jackson.version} + mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${jackson.version} + mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${jackson.version} + mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${jackson.version} + mvn:com.github.java-json-tools/btf/${btf.version} + mvn:com.github.java-json-tools/msg-simple/${msg-simple.version} + mvn:com.github.java-json-tools/jackson-coreutils/${jackson-coreutils.version} + mvn:com.github.java-json-tools/json-patch/${json-patch.version} + mvn:com.google.guava/guava/${guava.version} + mvn:org.json/json/${org-json.version} + mvn:org.yaml/snakeyaml/${snakeyaml.version} + mvn:joda-time/joda-time/${joda-time.version} + mvn:jakarta.annotation/jakarta.annotation-api/${jakarta-annotation-api.version} + mvn:com.google.code.findbugs/jsr305/${jsr305.version} + mvn:org.apache.unomi/unomi-lifecycle-watcher/${project.version} mvn:org.apache.unomi/unomi-api/${project.version} mvn:org.apache.unomi/unomi-common/${project.version} @@ -100,6 +110,7 @@ unomi-kar - mvn:org.webjars/swagger-ui/3.23.8 + mvn:org.webjars/swagger-ui/${swagger-ui.version} + diff --git c/lifecycle-watcher/pom.xml i/lifecycle-watcher/pom.xml index 444db2f3a..b157997eb 100644 --- c/lifecycle-watcher/pom.xml +++ i/lifecycle-watcher/pom.xml @@ -17,12 +17,12 @@ --> + 4.0.0 unomi-root org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 unomi-lifecycle-watcher Apache Unomi :: Main Lifecycle Watcher @@ -33,17 +33,21 @@ org.osgi osgi.core + provided org.apache.unomi unomi-api - ${project.version} provided org.apache.karaf.features org.apache.karaf.features.core - ${version.karaf} + provided + + + org.apache.commons + commons-lang3 provided @@ -88,5 +92,4 @@ - diff --git c/manual/pom.xml i/manual/pom.xml index 55467ebe7..b5cfa2081 100644 --- c/manual/pom.xml +++ i/manual/pom.xml @@ -20,7 +20,7 @@ unomi-root org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT 4.0.0 diff --git c/manual/src/main/asciidoc/5-min-quickstart.adoc i/manual/src/main/asciidoc/5-min-quickstart.adoc index a25a45dd4..26e6fae6b 100644 --- c/manual/src/main/asciidoc/5-min-quickstart.adoc +++ i/manual/src/main/asciidoc/5-min-quickstart.adoc @@ -48,8 +48,7 @@ Try accessing https://localhost:9443/cxs/cluster with username/password: karaf/k === Quick Start manually -1) Install JDK 11 (https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) and make sure you set the -JAVA_HOME variable https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/ (see our <> guide for more information on JDK compatibility) +1) Install JDK 17 and make sure you set the JAVA_HOME variable (see our <> guide for more information on JDK compatibility) 2) Download ElasticSearch here : https://www.elastic.co/downloads/past-releases/elasticsearch-7-17-5 (please *make sure* you use the proper version : 7.17.5) diff --git c/metrics/pom.xml i/metrics/pom.xml index 102ba8e30..fb54e5a17 100644 --- c/metrics/pom.xml +++ i/metrics/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-metrics @@ -30,25 +30,31 @@ bundle - - org.apache.karaf.shell - org.apache.karaf.shell.console - ${version.karaf} + org.osgi + osgi.core provided + + org.apache.karaf.shell + org.apache.karaf.shell.console + provided + org.apache.karaf.shell org.apache.karaf.shell.table - ${version.karaf} provided + + org.apache.unomi + unomi-common + provided + org.apache.unomi unomi-persistence-spi - ${project.version} provided @@ -63,32 +69,16 @@ provided
- - org.apache.unomi - unomi-common - ${project.version} - provided - - - - org.osgi - osgi.core - provided - - - + junit junit - 4.13.1 test org.slf4j slf4j-simple - 1.7.36 test -
diff --git c/package/pom.xml i/package/pom.xml index 265e91973..8eb262e6b 100644 --- c/package/pom.xml +++ i/package/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi @@ -35,9 +35,7 @@ - - org.apache.karaf.features framework @@ -71,16 +69,7 @@ runtime - - - - org.apache.cxf.karaf - apache-cxf - features - xml - runtime - - + org.apache.unomi unomi-kar @@ -89,7 +78,7 @@ xml runtime - + @@ -169,9 +157,7 @@ ${project.version} unomicfg cfg - - ${project.build.directory}/assembly/etc - + ${project.build.directory}/assembly/etc org.apache.unomi.web.cfg @@ -180,9 +166,7 @@ ${project.version} elasticsearchcfg cfg - - ${project.build.directory}/assembly/etc - + ${project.build.directory}/assembly/etc org.apache.unomi.persistence.elasticsearch.cfg @@ -191,9 +175,7 @@ ${project.version} clustercfg cfg - - ${project.build.directory}/assembly/etc - + ${project.build.directory}/assembly/etc org.apache.unomi.cluster.cfg @@ -202,20 +184,17 @@ ${project.version} servicescfg cfg - - ${project.build.directory}/assembly/etc - + ${project.build.directory}/assembly/etc org.apache.unomi.services.cfg + - - org.apache.aries.blueprint - org.apache.aries.blueprint.core - 1.6.2 - - ${project.build.directory}/assembly/system/org/apache/aries/blueprint/org.apache.aries.blueprint.core/1.6.2 - - + --> - @@ -315,9 +277,11 @@ + wrapper cxf-commands @@ -335,7 +299,6 @@ config deployer diagnostic - feature instance kar log @@ -347,32 +310,13 @@ aries-blueprint shell-compat unomi-kar + - - 1.8 + 11 diff --git c/package/src/main/resources/etc/custom.system.properties i/package/src/main/resources/etc/custom.system.properties index 7b1b576eb..dc2b120dc 100644 --- c/package/src/main/resources/etc/custom.system.properties +++ i/package/src/main/resources/etc/custom.system.properties @@ -62,8 +62,10 @@ org.apache.unomi.security.personalization.sanitizeConditions=${env:UNOMI_SECURIT ## HTTP Settings ## ####################################################################################################################### org.ops4j.pax.web.ssl.keystore=${env:UNOMI_SSL_KEYSTORE:-${karaf.etc}/keystore} -org.ops4j.pax.web.ssl.password=${env:UNOMI_SSL_PASSWORD:-changeme} -org.ops4j.pax.web.ssl.keypassword=${env:UNOMI_SSL_KEYPASSWORD:-changeme} +org.ops4j.pax.web.ssl.keystore.password=${env:UNOMI_SSL_KEYPASSWORD:-changeme} +org.ops4j.pax.web.ssl.key.password=${env:UNOMI_SSL_PASSWORD:-changeme} +org.ops4j.pax.web.ssl.truststore=${env:UNOMI_SSL_KEYSTORE:-${karaf.etc}/keystore} +org.ops4j.pax.web.ssl.truststore.password=${env:UNOMI_SSL_PASSWORD:-changeme} org.osgi.service.http.secure.enabled = true org.osgi.service.http.port=${env:UNOMI_HTTP_PORT:-8181} diff --git c/persistence-elasticsearch/core/pom.xml i/persistence-elasticsearch/core/pom.xml index 810e38807..6bf1a0eea 100644 --- c/persistence-elasticsearch/core/pom.xml +++ i/persistence-elasticsearch/core/pom.xml @@ -18,11 +18,10 @@ 4.0.0 - org.apache.unomi unomi-persistence-elasticsearch - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-persistence-elasticsearch-core @@ -36,107 +35,67 @@ osgi.core provided
- - org.osgi - osgi.cmpn - provided - org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-common - ${project.version} + provided + + + org.apache.unomi + unomi-metrics + provided + + + org.apache.unomi + unomi-scripting provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + + + com.hazelcast + hazelcast-all + provided + + + + com.fasterxml.jackson.core + jackson-databind + + + org.apache.commons + commons-lang3 + + + commons-io + commons-io + + org.elasticsearch.client elasticsearch-rest-high-level-client - ${elasticsearch.version} - - - - org.elasticsearch.test - framework - ${elasticsearch.version} - test - - - org.elasticsearch.plugin - transport-netty4-client - ${elasticsearch.version} - test - - - org.apache.lucene - lucene-test-framework - ${lucene.version} - test - - - - org.apache.lucene - lucene-core - - - - - org.apache.logging.log4j - log4j-slf4j-impl - 2.17.0 - test - org.apache.logging.log4j log4j-api - 2.17.0 compile true org.apache.logging.log4j log4j-core - 2.17.0 compile @@ -149,7 +108,6 @@ org.apache.logging.log4j log4j-1.2-api - 2.17.0 compile @@ -163,43 +121,40 @@ true - - - com.fasterxml.jackson.core - jackson-databind - - - - org.apache.commons - commons-lang3 - - - commons-io - commons-io - - - - org.apache.unomi - unomi-metrics - ${project.version} - provided - - junit junit test - - org.apache.unomi - unomi-scripting - ${project.version} - provided + org.elasticsearch.test + framework + test + + + org.elasticsearch.plugin + transport-netty4-client + test + + + org.apache.lucene + lucene-test-framework + test + + + + org.apache.lucene + lucene-core + + + + + org.apache.logging.log4j + log4j-slf4j-impl + test - diff --git c/persistence-elasticsearch/pom.xml i/persistence-elasticsearch/pom.xml index 01aa88967..0ac011e47 100644 --- c/persistence-elasticsearch/pom.xml +++ i/persistence-elasticsearch/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-persistence-elasticsearch diff --git c/persistence-spi/pom.xml i/persistence-spi/pom.xml index 0129f2788..7f5e30217 100644 --- c/persistence-spi/pom.xml +++ i/persistence-spi/pom.xml @@ -22,11 +22,11 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-persistence-spi - Apache Unomi :: Persistence :: SPI (Service Provider Interface) + Apache Unomi :: Persistence :: SPI Service Provider interface for the Apache Unomi Context Server bundle @@ -34,7 +34,6 @@ org.apache.unomi unomi-api - ${project.version} provided @@ -55,19 +54,23 @@ commons-beanutils commons-beanutils + provided + + + commons-collections + commons-collections + provided junit junit - 4.11 test org.slf4j slf4j-simple - 1.7.36 test diff --git c/plugins/baseplugin/pom.xml i/plugins/baseplugin/pom.xml index b4f260369..cbe8c37f3 100644 --- c/plugins/baseplugin/pom.xml +++ i/plugins/baseplugin/pom.xml @@ -18,19 +18,38 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-base Apache Unomi :: Plugins :: Base Actions and Conditions Base actions and conditions plugin for the Apache Unomi Context Server bundle + + org.apache.unomi + unomi-persistence-elasticsearch-core + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-common + provided + + + org.apache.unomi + unomi-scripting + provided + + javax.servlet javax.servlet-api @@ -39,70 +58,41 @@ jakarta.xml.bind jakarta.xml.bind-api - 2.3.2 provided + commons-beanutils commons-beanutils + provided org.apache.commons commons-lang3 + provided joda-time joda-time provided - - org.apache.unomi - unomi-persistence-elasticsearch-core - ${project.version} - provided - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - ognl - ognl - com.fasterxml.jackson.core jackson-databind provided - - org.apache.unomi - unomi-common - ${project.version} - provided - - - org.apache.unomi - unomi-scripting - ${project.version} - provided - - + junit junit - 4.11 test org.slf4j slf4j-simple - 1.7.36 test - diff --git c/plugins/hover-event/pom.xml i/plugins/hover-event/pom.xml index 15bbe3fea..2e28ef492 100644 --- c/plugins/hover-event/pom.xml +++ i/plugins/hover-event/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-hover-event Apache Unomi :: Plugins :: Hover event support Mouse hover event support plugin for the Apache Unomi Context Server @@ -34,9 +32,24 @@ org.apache.unomi unomi-persistence-elasticsearch-core - ${project.version} provided + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + + diff --git c/plugins/kafka-injector/pom.xml i/plugins/kafka-injector/pom.xml index 59660ab60..47ce8f472 100644 --- c/plugins/kafka-injector/pom.xml +++ i/plugins/kafka-injector/pom.xml @@ -16,54 +16,58 @@ --> 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - kafka-extension Apache Unomi :: Plugins :: Kafka Injector Apache Kafka injector for the Apache Unomi Context server bundle - - org.apache.kafka - kafka-clients - 2.2.1 - - - org.slf4j - slf4j-api - 1.7.36 - org.apache.unomi unomi-api ${project.version} + + + org.osgi + osgi.core + provided + + + org.osgi + org.osgi.service.component + provided + + + org.osgi + org.osgi.service.component.annotations + provided + + com.fasterxml.jackson.core jackson-core - ${version.jackson.core} com.fasterxml.jackson.core jackson-databind - ${version.jackson.databind} + + + + org.apache.kafka + kafka-clients - org.osgi - osgi.core - 6.0.0 - - - org.osgi - osgi.cmpn - 6.0.0 + org.slf4j + slf4j-api + provided + diff --git c/plugins/mail/pom.xml i/plugins/mail/pom.xml index 40c931225..cbd324c27 100644 --- c/plugins/mail/pom.xml +++ i/plugins/mail/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-mail Apache Unomi :: Plugins :: Mail notifications actions Mail notification action plugin for the Apache Unomi Context Server @@ -34,9 +32,9 @@ org.apache.unomi unomi-persistence-spi - ${project.version} provided + org.apache.commons commons-email diff --git c/plugins/optimization-test/pom.xml i/plugins/optimization-test/pom.xml index e5def900e..fde8cfa23 100644 --- c/plugins/optimization-test/pom.xml +++ i/plugins/optimization-test/pom.xml @@ -18,16 +18,30 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-optimization-test Apache Unomi :: Plugins :: Rules and Actions for optimization tests (A/B testing) Optimization testing (A/B testing) plugin for the Apache Unomi Context Server bundle + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + + diff --git c/plugins/past-event/pom.xml i/plugins/past-event/pom.xml index c22a797b4..0d7c84233 100644 --- c/plugins/past-event/pom.xml +++ i/plugins/past-event/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-past-event Apache Unomi :: Plugins :: Conditions based on past events Past event conditions plugin for the Apache Unomi Context Server @@ -34,16 +32,29 @@ org.apache.unomi unomi-persistence-elasticsearch-core - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + diff --git c/plugins/pom.xml i/plugins/pom.xml index c810f306e..d88748ff5 100644 --- c/plugins/pom.xml +++ i/plugins/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins Apache Unomi :: Plugins Apache Unomi Context Server plugins @@ -45,10 +43,8 @@ org.apache.unomi unomi-api - ${project.version} provided - diff --git c/plugins/request/pom.xml i/plugins/request/pom.xml index 0e1ed3874..926dd4b1f 100644 --- c/plugins/request/pom.xml +++ i/plugins/request/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-request Apache Unomi :: Plugins :: Request reading actions Request reading actions plugin for the Apache Unomi Context Server @@ -36,49 +34,43 @@ javax.servlet-api provided + + jakarta.annotation + jakarta.annotation-api + provided + com.maxmind.geoip2 geoip2 - 0.9.0 - nl.basjes.parse.useragent yauaa - 7.13.0 junit junit - 4.13.1 test org.apache.logging.log4j log4j-api - 2.19.0 test org.apache.logging.log4j log4j-core - 2.19.0 test org.apache.logging.log4j log4j-slf4j-impl - 2.19.0 test - - javax.annotation - javax.annotation-api - 1.3.2 - + diff --git c/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java i/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java index a14edbfa8..aa55033a2 100644 --- c/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java +++ i/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java @@ -31,7 +31,7 @@ import org.apache.unomi.plugins.request.useragent.UserAgentDetectorServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; diff --git c/plugins/tracked-event/pom.xml i/plugins/tracked-event/pom.xml index fb9279d18..81ca054ec 100644 --- c/plugins/tracked-event/pom.xml +++ i/plugins/tracked-event/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-tracked-event Apache Unomi :: Plugins :: Conditions for events that need to be tracked Tracked event conditions plugin for the Apache Unomi Context Server @@ -34,16 +32,29 @@ org.apache.unomi unomi-persistence-elasticsearch-core - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + diff --git c/pom.xml i/pom.xml index bcef0de13..895f981d3 100644 --- c/pom.xml +++ i/pom.xml @@ -23,7 +23,7 @@ org.apache apache - 23 + 29 @@ -35,7 +35,7 @@ event tracking server. https://unomi.apache.org - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT pom @@ -58,52 +58,97 @@ 2014 - 4.2.15 UTF-8 - 3.3.11 - 2.11.4 - 2.11.4 - 2.11.4 - 4.2.15 - 4.13.5 - 7.4.2 - 7.11.0 - 8.2.0 - 4.0.21 - 1.4.0 - 1.1.0.Final - 2.16.1 - 3.3.2 - 1.9.4 - 3.2.2 - 1.3.3 - 1.7.36 - 2.12.7 - 4.3.4 - 1.9 - 20240303 - - 11 - - ${java.version} - ${java.version} UTF-8 - - 2.11.0_1 - 2.9.0 - 3.0.2_1 - 2.7.2_3 - 2.7.2_1 - 4.5.0 + 11 + ${java.version} + ${java.version} + + 4.4.7 + 7.4.2 + 7.11.0 + 1.1.0.Final + 3.18.0 + 2.20.0 + 1.9.0 + 1.11.0 + 3.2.2 + 2.18.2 + 2.5.2.Final + 2.4 + 3.10 + 2.19.0 + 8.2.0 + 3.12.8 + 2.4.0 + 2.12.7 + 4.3.0 + 1.3 + 1.2 + 1.10 + 1.10 + 16.0.1 + 16.0.1 + 20250517 + 3.0.2 + 3.0.0 + 5.27.1 + 3.6.5 + 2.1 + 1.1.3 + 4.0.21 4.5.14 4.4.16 + 4.13.2 + 3.4.3 + 2.2.1 + 4.3.4 + 1.6.0 + 1.3.1 + 0.9.0 + 4.7.1 + 2.2.0 + 1.0.2 + 7.31.0 + 4.0.9 + 5.0.13 + 3.10.0 + 2.2.19 + 14.0 + 8.0 + 1.0 + 9.4.57.v20241219 + 2.0.0 + 2.1.3 + 1.1 + 1.14 + 3.2.0 + 1.6.0 + javax.servlet + javax.servlet-api + 3.1.0 + + 5.1.9 + 3.14.0 + 3.1.0 + 3.6.0 + 3.11.2 + 3.5.3 + 3.5.2 + 3.3.1 + 3.7.1 + 3.8.1 + 3.2.1 + 9.0.9 + 3.21.0 + 0.16.1 + 1.0-m5.1 v16.20.2 v1.22.19 -Papache-release,integration-tests - @@ -277,6 +322,17 @@ Yupiik https://www.yupiik.com + + jayblanc + Jérôme Blanchard + jblanchard@jahia.com + +2 + + committer + + Jahia + https://www.jahia.com + @@ -679,26 +735,318 @@ + + org.apache.karaf + karaf-bom + ${karaf.version} + pom + import + + org.osgi - osgi.core - 6.0.0 - provided + org.osgi.service.metatype.annotations + 1.4.1 org.osgi - osgi.cmpn - 6.0.0 - provided + org.osgi.service.useradmin + 1.1.1 + + + org.osgi + osgi.enterprise + 7.0.0 - javax.servlet - javax.servlet-api - 3.0.1 + org.apache.karaf.cellar + apache-karaf-cellar + features + ${karaf.cellar.version} + xml + + + org.apache.karaf.cellar + org.apache.karaf.cellar.core + ${karaf.cellar.version} + + + org.apache.karaf.cellar + org.apache.karaf.cellar.config + ${karaf.cellar.version} + + + org.apache.karaf.jaas + org.apache.karaf.jaas.boot + ${karaf.version} + + + + org.apache.unomi + unomi-api + ${project.version} + + + org.apache.unomi + unomi-common + ${project.version} + + + org.apache.unomi + unomi-metrics + ${project.version} + + + org.apache.unomi + unomi-scripting + ${project.version} + + + org.apache.unomi + unomi-persistence-spi + ${project.version} + + + org.apache.unomi + unomi-persistence-elasticsearch-core + ${project.version} + + + org.apache.unomi + unomi-json-schema-services + ${project.version} + + + org.apache.unomi + unomi-json-schema-rest + ${project.version} + + + org.apache.unomi + unomi-rest + ${project.version} + + + org.apache.unomi + cxs-geonames-services + ${project.version} + + + org.apache.unomi + cxs-geonames-rest + ${project.version} + + + org.apache.unomi + cxs-privacy-extension-services + ${project.version} + + + org.apache.unomi + cxs-privacy-extension-rest + ${project.version} + + + org.apache.unomi + cxs-lists-extension-services + ${project.version} + + + org.apache.unomi + cxs-lists-extension-actions + ${project.version} + + + org.apache.unomi + cxs-lists-extension-rest + ${project.version} + + + org.apache.unomi + unomi-services + ${project.version} + + + org.apache.unomi + unomi-wab + ${project.version} + + + org.apache.unomi + unomi-web-tracker-wab + ${project.version} + + + org.apache.unomi + unomi-lifecycle-watcher + ${project.version} + + + org.apache.unomi + shell-commands + ${project.version} + + + org.apache.unomi + shell-dev-commands + ${project.version} + + + org.apache.unomi + unomi-weather-update-core + ${project.version} + + + org.apache.unomi + unomi-salesforce-connector-services + ${project.version} + + + org.apache.unomi + unomi-salesforce-connector-rest + ${project.version} + + + org.apache.unomi + unomi-salesforce-connector-actions + ${project.version} + + + org.apache.unomi + unomi-router-api + ${project.version} + + + org.apache.unomi + unomi-router-core + ${project.version} + + + org.apache.unomi + unomi-router-service + ${project.version} + + + org.apache.unomi + unomi-router-rest + ${project.version} + + + org.apache.unomi + unomi-groovy-actions-services + ${project.version} + + + org.apache.unomi + cdp-graphql-api-impl + ${project.version} + + + org.apache.unomi + graphql-providers-sample + ${project.version} + + + org.apache.unomi + unomi-plugins-base + ${project.version} + + + org.apache.unomi + unomi-plugins-request + ${project.version} + + + org.apache.unomi + unomi-plugins-mail + ${project.version} + + + org.apache.unomi + unomi-plugins-optimization-test + ${project.version} + + + + javax.validation + validation-api + ${javax-validation.version} + + + jakarta.annotation + jakarta.annotation-api + ${jakarta-annotation-api.version} + + + javax.ws.rs + javax.ws.rs-api + ${rs-api.version} + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + commons-io + commons-io + ${commons-io.version} + + + org.apache.commons + commons-csv + ${commons-csv.version} + + + commons-beanutils + commons-beanutils + ${commons-beanutils.version} + + + commons-collections + commons-collections + ${commons-collections.version} + + + org.apache.commons + commons-email + ${commons-email.version} + + + commons-net + commons-net + ${commons-net.version} + + + commons-fileupload + commons-fileupload + ${commons-fileupload.version} + + + + org.elasticsearch.client + elasticsearch-rest-high-level-client + ${elasticsearch.version} + + + org.elasticsearch.test + framework + ${elasticsearch.version} + + + org.elasticsearch.plugin + transport-netty4-client + ${elasticsearch.version} + + + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + ${geronimo-ws.version} - org.apache.cxf cxf-rt-frontend-jaxws @@ -709,6 +1057,21 @@ cxf-rt-frontend-jaxrs ${cxf.version} + + org.apache.cxf + cxf-rt-rs-service-description-openapi-v3 + ${cxf.version} + + + org.apache.cxf + cxf-rt-features-metrics + ${cxf.version} + + + org.apache.cxf + cxf-rt-features-logging + ${cxf.version} + org.apache.cxf cxf-rt-transports-http @@ -719,138 +1082,77 @@ cxf-rt-rs-security-cors ${cxf.version} - - - org.apache.cxf.karaf - apache-cxf - ${cxf.version} - features - xml - runtime - - - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${version.jackson.core} - com.fasterxml.jackson.core jackson-core - ${version.jackson.core} - provided - - - com.fasterxml.jackson.core - jackson-databind - ${version.jackson.databind} - provided - - - com.fasterxml.jackson.module - jackson-module-jaxb-annotations - ${version.jackson.jaxb} - provided + ${jackson.version} com.fasterxml.jackson.core jackson-annotations - ${version.jackson.core} - provided - - - - - - commons-io - commons-io - ${apache.commons.io.version} + ${jackson.version} - org.apache.commons - commons-lang3 - ${apache.commons.lang3.version} + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} - commons-beanutils - commons-beanutils - ${apache.commons.beanutils.version} + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson.version} - commons-collections - commons-collections - ${apache.commons.collections.version} + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + ${jackson.version} - org.apache.commons - commons-email - ${apache.commons.email.version} - - - - - - - org.apache.karaf.features - framework - ${version.karaf} - kar + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson.version} - org.apache.karaf.features - framework - features - ${version.karaf} - xml - runtime + com.fasterxml.jackson.jaxrs + jackson-jaxrs-base + ${jackson.version} - org.apache.karaf.features - standard - features - ${version.karaf} - xml - - - org.apache.karaf.features - spring - features - ${version.karaf} - xml - runtime - - - org.apache.karaf.features - enterprise - features - ${version.karaf} - xml - runtime - - - - - - org.ops4j.pax.web - pax-web-features - 3.1.0 - features - xml - - - org.ops4j.pax.web - pax-web-api - 3.1.0 - provided + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson.version} - org.slf4j - slf4j-api - ${slf4j.version} - provided + org.apache.lucene + lucene-test-framework + ${lucene.version} + + + org.apache.logging.log4j + log4j-api + ${log4j.version} + + + org.apache.logging.log4j + log4j-core + ${log4j.version} + + + org.apache.logging.log4j + log4j-1.2-api + ${log4j.version} + + + org.apache.logging.log4j + log4j-slf4j-impl + ${log4j.version} + + + org.apache.httpcomponents + httpcore-osgi + ${httpcore-osgi.version} org.apache.httpcomponents @@ -864,61 +1166,39 @@ bundle - commons-codec - commons-codec - 1.17.0 + org.apache.kafka + kafka-clients + ${kafka-client.version} - org.apache.httpcomponents - httpcore-osgi - ${httpcore-osgi.version} - - - - - org.ops4j.pax.exam - pax-exam-container-karaf - ${version.pax.exam} - test + org.mvel + mvel2 + ${mvel2.version} - org.ops4j.pax.exam - pax-exam-junit4 - ${version.pax.exam} - test + ognl + ognl + ${ognl.version} - org.ops4j.pax.exam - pax-exam - ${version.pax.exam} - test + org.yaml + snakeyaml + ${snakeyaml.version} - org.ops4j.pax.url - pax-url-aether - 2.6.14 - test - - - - javax.inject - javax.inject - 1 - test - - - - - javax.validation - validation-api - ${bean.validation.version} - provided + com.opencsv + opencsv + ${opencsv.version} - junit - junit - 4.13.2 - test + com.hazelcast + hazelcast-all + ${hazelcast.version} + + + net.jodah + failsafe + ${failsafe.version} joda-time @@ -926,9 +1206,59 @@ ${joda-time.version} - ognl - ognl - 3.4.3 + com.github.seancfoley + ipaddress + ${ipaddress.version} + + + com.github.java-json-tools + btf + ${btf.version} + + + com.github.java-json-tools + msg-simple + ${msg-simple.version} + + + com.github.java-json-tools + json-patch + ${json-patch.version} + + + com.github.java-json-tools + jackson-coreutils + ${jackson-coreutils.version} + + + com.google.guava + guava + ${guava.version} + + + org.json + json + ${org-json.version} + + + com.google.code.findbugs + jsr305 + ${jsr305.version} + + + org.webjars + swagger-ui + ${swagger-ui.version} + + + org.apache.groovy + groovy + ${groovy.version} + + + org.apache.groovy + groovy-json + ${groovy.version} org.antlr @@ -936,32 +1266,127 @@ ${st4.version} - org.apache.geronimo.specs - geronimo-jcdi_1.0_spec - 1.0 - provided + com.maxmind.geoip2 + geoip2 + ${geoip2.version} - org.apache.geronimo.specs - geronimo-atinject_1.0_spec - 1.0 - provided + nl.basjes.parse.useragent + yauaa + ${yauaa.version} - org.apache.geronimo.specs - geronimo-annotation_1.1_spec - 1.0.1 - provided + org.cometd.java + bayeux-api + ${bayeux-api.version} - org.mvel - mvel2 - 2.5.2.Final + org.cometd.java + cometd-java-client-common + ${comet-java-client.version} - org.json - json - ${org.json.version} + org.cometd.java + cometd-java-client-http-jetty + ${comet-java-client.version} + + + io.reactivex.rxjava2 + rxjava + ${reactivex.version} + + + org.antlr + antlr4-runtime + ${antlr4.version} + + + com.graphql-java + java-dataloader + ${java-dataloader.version} + + + org.reactivestreams + reactive-streams + ${reactive-stream.version} + + + org.checkerframework + checker-compat-qual + ${checker-compat-qual.version} + + + com.google.errorprone + error_prone_annotations + ${error_prone_annotations.version} + + + com.google.j2objc + j2objc-annotations + ${j2objc-annotations.version} + + + org.codehaus.mojo + animal-sniffer-annotations + ${animal-sniffer-annotations.version} + + + com.squareup.okhttp3 + okhttp + ${okhttp.version} + + + com.squareup.okio + okio + ${okio.version} + + + + com.graphql-java + graphql-java + ${graphql.java.version} + + + io.github.graphql-java + graphql-java-annotations + ${graphql.java.annotations.version} + + + com.graphql-java + graphql-java-extended-scalars + ${graphql.java.extended.scalars.version} + + + + org.eclipse.jetty + jetty-client + ${jetty.version} + + + org.eclipse.jetty + jetty-http + ${jetty.version} + + + org.eclipse.jetty + jetty-io + ${jetty.version} + + + org.eclipse.jetty + jetty-util + ${jetty.version} + + + org.eclipse.jetty.websocket + websocket-server + ${jetty.version} + + + + junit + junit + ${junit.version} @@ -969,40 +1394,31 @@ api common - metrics - scripting persistence-spi + scripting + metrics lifecycle-watcher persistence-elasticsearch services + manual + wab rest graphql - wab plugins extensions tools - manual - kar samples + kar package - - - org.slf4j - slf4j-api - 1.7.36 - provided - - - org.apache.felix maven-bundle-plugin - 5.1.1 + ${maven-bundle.plugin.version} true @@ -1011,10 +1427,15 @@ + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler.plugin.version} + org.apache.maven.plugins maven-release-plugin - 2.5.3 + ${maven-release.plugin.version} false true @@ -1026,54 +1447,33 @@ org.codehaus.mojo build-helper-maven-plugin - 1.10 + ${build-helper.plugin.version} org.apache.karaf.tooling karaf-maven-plugin - ${version.karaf} + ${karaf.version} true org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 - - - - org.eclipse.jetty - jetty-client - 7.4.4.v20110707 - - - org.eclipse.jetty - jetty-util - 7.4.4.v20110707 - - - - - - org.apache.servicemix.tooling - depends-maven-plugin - 1.4.0 + ${maven-javadoc.plugin.version} org.apache.maven.plugins maven-surefire-plugin - - 2.18.1 + ${maven-surefire.plugin.version} org.apache.maven.plugins maven-failsafe-plugin - - 2.18.1 + ${maven-failsafe.plugin.version} org.apache.maven.plugins maven-source-plugin - 2.1.2 + ${maven-source.plugin.version} attach-sources @@ -1085,22 +1485,22 @@ maven-assembly-plugin - 2.3 + ${maven-assembly.plugin.version} org.apache.maven.plugins maven-dependency-plugin - 2.10 + ${maven-dependency.plugin.version} org.apache.maven.plugins maven-scm-publish-plugin - 3.0.0 + ${maven-scm-publish.plugin.version} org.owasp dependency-check-maven - 5.0.0 + ${dependency-check.plugin.version} @@ -1108,7 +1508,6 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 org.apache.felix @@ -1118,30 +1517,17 @@ org.apache.maven.plugins maven-site-plugin - 3.4 - - - lt.velykis.maven.skins - reflow-velocity-tools - 1.1.1 - - - - org.apache.velocity - velocity - 1.7 - - + ${maven-site.plugin.version} org.apache.rat apache-rat-plugin - 0.11 + ${apache-rat.plugin.version} external.atlassian.jgitflow jgitflow-maven-plugin - 1.0-m5.1 + ${jgitflow.plugin.version} production @@ -1159,20 +1545,5 @@ - - - - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 2.9 - - false - - - - - diff --git c/rest/pom.xml i/rest/pom.xml index fc856dbcd..f026b551e 100644 --- c/rest/pom.xml +++ i/rest/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-rest @@ -34,30 +34,32 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-json-schema-services - ${project.version} provided - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - ${version.jackson.core} - provided - - - org.osgi - osgi.core + org.apache.unomi + unomi-persistence-spi provided org.osgi - osgi.cmpn + osgi.core + provided + + + org.osgi + org.osgi.service.component + provided + + + org.osgi + org.osgi.service.component.annotations provided @@ -66,6 +68,60 @@ javax.servlet-api provided + + javax.validation + validation-api + + + javax.ws.rs + javax.ws.rs-api + + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + + + + org.apache.commons + commons-lang3 + provided + + + commons-beanutils + commons-beanutils + provided + + + + com.opencsv + opencsv + + + + org.apache.karaf.jaas + org.apache.karaf.jaas.boot + provided + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + provided + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + + + com.fasterxml.jackson.core + jackson-databind + provided + + + com.fasterxml.jackson.core + jackson-annotations + provided + org.apache.cxf @@ -82,47 +138,19 @@ cxf-rt-transports-http provided - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - - - com.fasterxml.jackson.core - jackson-databind - provided - - - com.fasterxml.jackson.core - jackson-annotations - provided - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - commons-lang - commons-lang - 2.6 - org.apache.cxf cxf-rt-rs-service-description-openapi-v3 - ${cxf.version} provided org.apache.cxf cxf-rt-features-metrics - ${cxf.version} provided org.apache.cxf cxf-rt-features-logging - ${cxf.version} provided @@ -130,25 +158,22 @@ cxf-rt-rs-security-cors provided - - com.opencsv - opencsv - 3.10 - - - commons-beanutils - commons-beanutils - - - org.apache.karaf.jaas - org.apache.karaf.jaas.boot - ${version.karaf} - provided - - - javax.validation - validation-api - provided - + + + + + org.apache.felix + maven-bundle-plugin + true + + + + * + + + + + + diff --git c/rest/src/main/java/org/apache/unomi/rest/authentication/AuthenticationFilter.java i/rest/src/main/java/org/apache/unomi/rest/authentication/AuthenticationFilter.java index 80fe76a81..119a556bd 100644 --- c/rest/src/main/java/org/apache/unomi/rest/authentication/AuthenticationFilter.java +++ i/rest/src/main/java/org/apache/unomi/rest/authentication/AuthenticationFilter.java @@ -24,7 +24,7 @@ import org.apache.cxf.security.SecurityContext; import org.apache.karaf.jaas.boot.principal.RolePrincipal; import org.apache.karaf.jaas.boot.principal.UserPrincipal; -import javax.annotation.Priority; +import jakarta.annotation.Priority; import javax.security.auth.Subject; import javax.ws.rs.Priorities; import javax.ws.rs.container.ContainerRequestContext; @@ -96,4 +96,4 @@ public class AuthenticationFilter implements ContainerRequestFilter { String currentPath = requestContext.getMethod() + " " + requestContext.getUriInfo().getPath(); return restAuthenticationConfig.getPublicPathPatterns().stream().anyMatch(pattern -> pattern.matcher(currentPath).matches()); } -} \ No newline at end of file +} diff --git c/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java i/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java index 2c9d040b9..c0b641856 100644 --- c/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java +++ i/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java @@ -17,7 +17,7 @@ package org.apache.unomi.rest.endpoints; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.cxf.rs.security.cors.CrossOriginResourceSharing; import org.apache.unomi.api.*; import org.apache.unomi.api.conditions.Condition; diff --git c/rest/src/main/java/org/apache/unomi/rest/exception/RuntimeExceptionMapper.java i/rest/src/main/java/org/apache/unomi/rest/exception/RuntimeExceptionMapper.java index 69cb70813..c505d57d4 100644 --- c/rest/src/main/java/org/apache/unomi/rest/exception/RuntimeExceptionMapper.java +++ i/rest/src/main/java/org/apache/unomi/rest/exception/RuntimeExceptionMapper.java @@ -16,7 +16,7 @@ */ package org.apache.unomi.rest.exception; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.osgi.service.component.annotations.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git c/samples/graphql-providers-feature/pom.xml i/samples/graphql-providers-feature/pom.xml index 7a6475aaf..79748878d 100644 --- c/samples/graphql-providers-feature/pom.xml +++ i/samples/graphql-providers-feature/pom.xml @@ -17,35 +17,31 @@ --> + 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - graphql-providers-sample-feature Apache Unomi :: Samples :: Graphql Providers :: Karaf Feature This is a simple Apache Unomi plugin. - 4.0.0 - feature + pom org.apache.unomi unomi-api - ${project.version} compile org.apache.unomi cdp-graphql-api-impl - ${project.version} compile org.apache.unomi graphql-providers-sample - ${project.version} compile @@ -61,13 +57,23 @@ org.apache.karaf.tooling karaf-maven-plugin - ${version.karaf} + ${karaf.version} true 80 true true + true + + + generate-features + + features-generate-descriptor + + compile + + diff --git c/samples/graphql-providers/pom.xml i/samples/graphql-providers/pom.xml index 0d9fc89b2..7ded5e38b 100644 --- c/samples/graphql-providers/pom.xml +++ i/samples/graphql-providers/pom.xml @@ -17,47 +17,44 @@ --> + 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - graphql-providers-sample Apache Unomi :: Samples :: Graphql Providers This is a simple Apache Unomi plugin. - 4.0.0 bundle org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi cdp-graphql-api-impl - ${project.version} - provided - - - io.github.graphql-java - graphql-java-annotations - ${graphql.java.annotations.version} provided + org.osgi osgi.enterprise - 6.0.0 provided org.osgi osgi.core - 6.0.0 + provided + + + + io.github.graphql-java + graphql-java-annotations + ${graphql.java.annotations.version} provided diff --git c/samples/groovy-actions/pom.xml i/samples/groovy-actions/pom.xml index c9f07a5d1..8770b0606 100644 --- c/samples/groovy-actions/pom.xml +++ i/samples/groovy-actions/pom.xml @@ -19,11 +19,10 @@ 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - test-groovy-action-sample Apache Unomi :: Samples :: Test Groovy Action bundle @@ -33,7 +32,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git c/samples/login-integration/pom.xml i/samples/login-integration/pom.xml index 5dde3922d..bbf5a1a45 100644 --- c/samples/login-integration/pom.xml +++ i/samples/login-integration/pom.xml @@ -19,11 +19,10 @@ 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - login-integration-sample Apache Unomi :: Samples :: External Login plugin bundle @@ -33,7 +32,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git c/samples/pom.xml i/samples/pom.xml index 2ae966fd2..9c6c1c720 100644 --- c/samples/pom.xml +++ i/samples/pom.xml @@ -16,20 +16,16 @@ ~ limitations under the License. --> + 4.0.0 unomi-root org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - - - 8.0 - - samples Apache Unomi :: Samples pom + tweet-button-plugin login-integration @@ -38,5 +34,4 @@ graphql-providers graphql-providers-feature - diff --git c/samples/trainingplugin/pom.xml i/samples/trainingplugin/pom.xml index 8b648f1e2..f7dcc2e14 100644 --- c/samples/trainingplugin/pom.xml +++ i/samples/trainingplugin/pom.xml @@ -16,22 +16,21 @@ ~ limitations under the License. --> + 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT training-plugin Apache Unomi :: Samples :: Training plugin bundle This is a simple Apache Unomi plugin. - 4.0.0 org.apache.unomi unomi-api - 2.7.0-SNAPSHOT provided @@ -43,7 +42,6 @@ true - diff --git c/samples/tweet-button-plugin/pom.xml i/samples/tweet-button-plugin/pom.xml index 6664bb79b..26281aad9 100644 --- c/samples/tweet-button-plugin/pom.xml +++ i/samples/tweet-button-plugin/pom.xml @@ -19,11 +19,10 @@ 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - tweet-button-plugin Apache Unomi :: Samples :: Tweet Button plugin bundle @@ -33,7 +32,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git c/scripting/pom.xml i/scripting/pom.xml index a4569828a..64d684853 100644 --- c/scripting/pom.xml +++ i/scripting/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-scripting @@ -32,47 +32,44 @@ - junit - junit - test + org.osgi + osgi.core + provided + + + org.slf4j + slf4j-api + provided + + + com.fasterxml.jackson.core + jackson-databind + provided - org.mvel mvel2 - org.apache.commons commons-lang3 - org.apache.unomi - unomi-api - 2.7.0-SNAPSHOT + junit + junit + test + + + org.apache.unomi + unomi-api test - org.slf4j slf4j-simple - 1.7.36 test - - - org.osgi - osgi.core - provided - - - - com.fasterxml.jackson.core - jackson-databind - provided - - diff --git c/services/pom.xml i/services/pom.xml index c9fb46411..17632b115 100644 --- c/services/pom.xml +++ i/services/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-services @@ -34,7 +34,26 @@ org.apache.unomi unomi-api - ${project.version} + provided + + + org.apache.unomi + unomi-metrics + provided + + + org.apache.unomi + unomi-common + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-scripting provided @@ -43,53 +62,19 @@ osgi.core provided - org.osgi - osgi.cmpn + org.osgi.service.cm provided - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.apache.unomi - unomi-lifecycle-watcher - ${project.version} - provided - - javax.servlet javax.servlet-api provided - - org.apache.cxf - cxf-rt-frontend-jaxrs - provided - - - org.apache.cxf - cxf-rt-transports-http - provided - - - - net.jodah - failsafe - 2.4.0 - - - - com.github.fge + com.github.java-json-tools json-patch - ${json-patch.version} provided @@ -102,7 +87,6 @@ jackson-databind provided - com.fasterxml.jackson.module jackson-module-jaxb-annotations @@ -112,52 +96,33 @@ org.apache.commons commons-lang3 + provided commons-beanutils commons-beanutils - - - - org.apache.unomi - unomi-metrics - ${project.version} provided - - - org.apache.unomi - unomi-common - ${project.version} - provided - - com.github.seancfoley ipaddress - 4.3.0 + + + net.jodah + failsafe - + junit junit - 4.11 test org.slf4j slf4j-simple - 1.7.36 test - - - org.apache.unomi - unomi-scripting - ${project.version} - provided - diff --git c/setenv.sh i/setenv.sh index 8a14e8d34..f826319e6 100755 --- c/setenv.sh +++ i/setenv.sh @@ -19,6 +19,6 @@ ################################################################################ export UNOMI_VERSION=`mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -Ev '(^\[|Download\w+:)'` echo Detected project version=$UNOMI_VERSION -export KARAF_VERSION=3.0.2 +export KARAF_VERSION=4.4.7 # Uncomment the following line if you need Apache Unomi to start automatically at the first start # export KARAF_OPTS="-Dunomi.autoStart=true" diff --git c/tools/pom.xml i/tools/pom.xml index 41b1b3e01..214cc119f 100644 --- c/tools/pom.xml +++ i/tools/pom.xml @@ -17,13 +17,11 @@ --> 4.0.0 - org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-tools Apache Unomi :: Tools Apache Unomi Context Server tools diff --git c/tools/shell-commands/pom.xml i/tools/shell-commands/pom.xml index 707c9f806..c1fef34c5 100644 --- c/tools/shell-commands/pom.xml +++ i/tools/shell-commands/pom.xml @@ -17,13 +17,11 @@ --> 4.0.0 - unomi-tools org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - shell-commands Apache Unomi :: Tools :: Shell commands Provides the shell commands to interact with Apache Unomi Context Server @@ -33,10 +31,8 @@ org.apache.karaf.shell org.apache.karaf.shell.console - ${version.karaf} provided - org.apache.httpcomponents httpclient-osgi @@ -45,67 +41,71 @@ - org.apache.commons - commons-lang3 + org.osgi + osgi.core + provided + + + org.osgi + org.osgi.service.http + provided + + + org.osgi + org.osgi.service.useradmin + 1.1.0 + provided + + + org.osgi + org.osgi.service.component + provided + + + org.osgi + org.osgi.service.component.annotations + provided + + org.apache.commons + commons-lang3 + provided + commons-io commons-io provided - org.json json provided - - org.osgi - osgi.core + com.fasterxml.jackson.core + jackson-core provided - - org.osgi - osgi.cmpn + com.fasterxml.jackson.core + jackson-databind provided - - junit - junit - 4.13.2 - test - - org.apache.groovy groovy - ${groovy.version} - provided - org.apache.groovy groovy-json - ${groovy.version} - provided - com.fasterxml.jackson.core - jackson-core - ${version.jackson.core} - provided - - - - com.fasterxml.jackson.core - jackson-databind - ${version.jackson.databind} - provided + junit + junit + test diff --git c/tools/shell-dev-commands/pom.xml i/tools/shell-dev-commands/pom.xml index d47ab9d75..492395a15 100644 --- c/tools/shell-dev-commands/pom.xml +++ i/tools/shell-dev-commands/pom.xml @@ -17,13 +17,11 @@ --> 4.0.0 - unomi-tools org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - shell-dev-commands Apache Unomi :: Tools :: Shell Dev commands Provides the shell developer commands to interact with Apache Unomi Context Server @@ -31,23 +29,40 @@ - org.apache.karaf.shell - org.apache.karaf.shell.console - ${version.karaf} + org.apache.unomi + unomi-api + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-common provided + + org.osgi + osgi.core + provided + + + org.osgi + org.osgi.service.component.annotations + provided + + + + org.apache.karaf.shell + org.apache.karaf.shell.console + provided + org.apache.karaf.shell org.apache.karaf.shell.table - ${version.karaf} - provided - - - - org.apache.unomi - unomi-api - ${project.version} provided @@ -62,48 +77,21 @@ provided - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - org.apache.httpcomponents httpclient-osgi bundle provided - org.apache.commons commons-lang3 - - - - org.osgi - osgi.core - provided - - - - org.osgi - osgi.cmpn - provided - - - - org.apache.unomi - unomi-common - ${project.version} provided junit junit - 4.13.2 test diff --git c/wab/pom.xml i/wab/pom.xml index f72628870..2d399f88b 100644 --- c/wab/pom.xml +++ i/wab/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-wab @@ -31,73 +31,75 @@ bundle - - javax.servlet - javax.servlet-api - provided - - - commons-io - commons-io - - - org.apache.commons - commons-lang3 - org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided - com.fasterxml.jackson.core - jackson-databind - provided + javax.servlet + javax.servlet-api + provided + + + com.fasterxml.jackson.core + jackson-databind + provided com.fasterxml.jackson.dataformat jackson-dataformat-yaml - ${version.jackson.core} + provided + + + com.fasterxml.jackson.core + jackson-annotations + provided + + + com.fasterxml.jackson.core + jackson-core + provided + + + org.ops4j.pax.web + pax-web-api + provided + + + commons-io + commons-io + provided + + + commons-collections + commons-collections + provided + + + + org.apache.commons + commons-lang3 provided org.yaml snakeyaml - 2.2 + provided - com.opencsv opencsv - 3.10 commons-beanutils commons-beanutils - - - - - com.fasterxml.jackson.core - jackson-annotations - provided - - - com.fasterxml.jackson.core - jackson-core - provided - - - org.ops4j.pax.web - pax-web-api provided --- api/pom.xml | 9 +- common/pom.xml | 9 +- .../org/apache/unomi/common/DataTable.java | 1 - docker/pom.xml | 5 +- docker/src/main/docker/Dockerfile | 2 +- extensions/geonames/pom.xml | 14 +- extensions/geonames/rest/pom.xml | 39 +- extensions/geonames/services/pom.xml | 11 +- extensions/groovy-actions/karaf-kar/pom.xml | 9 +- extensions/groovy-actions/pom.xml | 3 +- extensions/groovy-actions/rest/pom.xml | 39 +- extensions/groovy-actions/services/pom.xml | 52 +- extensions/healthcheck/pom.xml | 29 +- .../ElasticSearchHealthCheckProvider.java | 3 +- extensions/json-schema/pom.xml | 2 +- extensions/json-schema/rest/pom.xml | 44 +- extensions/json-schema/services/pom.xml | 21 +- .../unomi/schema/api/ValidationError.java | 2 - extensions/lists-extension/actions/pom.xml | 9 +- extensions/lists-extension/pom.xml | 15 +- extensions/lists-extension/rest/pom.xml | 35 +- extensions/lists-extension/services/pom.xml | 8 +- extensions/log4j-extension/pom.xml | 16 +- extensions/pom.xml | 4 +- extensions/privacy-extension/pom.xml | 15 +- extensions/privacy-extension/rest/pom.xml | 35 +- extensions/privacy-extension/services/pom.xml | 19 +- extensions/router/pom.xml | 5 +- extensions/router/router-api/pom.xml | 6 +- extensions/router/router-core/pom.xml | 38 +- .../router/router-karaf-feature/pom.xml | 91 +- .../src/main/feature/feature.xml | 2 +- extensions/router/router-rest/pom.xml | 70 +- extensions/router/router-service/pom.xml | 55 +- .../salesforce-connector/actions/pom.xml | 8 +- .../salesforce-connector/karaf-kar/pom.xml | 26 +- .../karaf-kar/src/main/feature/feature.xml | 2 +- extensions/salesforce-connector/pom.xml | 3 +- extensions/salesforce-connector/rest/pom.xml | 47 +- .../salesforce-connector/services/pom.xml | 25 +- extensions/weather-update/core/pom.xml | 5 +- extensions/weather-update/karaf-kar/pom.xml | 17 +- .../karaf-kar/src/main/feature/feature.xml | 8 +- extensions/weather-update/pom.xml | 2 +- extensions/web-tracker/pom.xml | 2 +- extensions/web-tracker/wab/pom.xml | 2 +- graphql/cxs-impl/pom.xml | 98 +- graphql/graphql-ui/pom.xml | 4 +- graphql/karaf-feature/pom.xml | 23 +- .../src/main/feature/feature.xml | 53 +- graphql/pom.xml | 14 +- itests/pom.xml | 22 +- kar/pom.xml | 105 +- kar/src/main/feature/feature.xml | 61 +- lifecycle-watcher/pom.xml | 13 +- manual/pom.xml | 2 +- .../src/main/asciidoc/5-min-quickstart.adoc | 3 +- metrics/pom.xml | 34 +- package/pom.xml | 96 +- .../resources/etc/custom.system.properties | 6 +- persistence-elasticsearch/core/pom.xml | 131 +-- persistence-elasticsearch/pom.xml | 2 +- persistence-spi/pom.xml | 13 +- plugins/baseplugin/pom.xml | 62 +- plugins/hover-event/pom.xml | 21 +- plugins/kafka-injector/pom.xml | 44 +- plugins/mail/pom.xml | 6 +- plugins/optimization-test/pom.xml | 20 +- plugins/past-event/pom.xml | 21 +- plugins/pom.xml | 6 +- plugins/request/pom.xml | 22 +- .../actions/SetRemoteHostInfoAction.java | 2 +- plugins/tracked-event/pom.xml | 21 +- pom.xml | 931 ++++++++++++------ rest/pom.xml | 111 ++- .../authentication/AuthenticationFilter.java | 4 +- .../endpoints/ProfileServiceEndPoint.java | 2 +- .../exception/RuntimeExceptionMapper.java | 2 +- samples/graphql-providers-feature/pom.xml | 24 +- samples/graphql-providers/pom.xml | 25 +- samples/groovy-actions/pom.xml | 6 +- samples/login-integration/pom.xml | 6 +- samples/pom.xml | 11 +- samples/trainingplugin/pom.xml | 8 +- samples/tweet-button-plugin/pom.xml | 6 +- scripting/pom.xml | 41 +- services/pom.xml | 73 +- setenv.sh | 2 +- tools/pom.xml | 4 +- tools/shell-commands/pom.xml | 66 +- tools/shell-dev-commands/pom.xml | 60 +- wab/pom.xml | 76 +- 92 files changed, 1696 insertions(+), 1531 deletions(-) diff --git a/api/pom.xml b/api/pom.xml index 3ed267975..cfe1c8636 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-api @@ -34,12 +34,12 @@ jakarta.xml.bind jakarta.xml.bind-api - 2.3.2 provided org.apache.commons commons-lang3 + provided javax.validation @@ -48,6 +48,11 @@ commons-beanutils commons-beanutils + provided + + + org.slf4j + slf4j-api com.fasterxml.jackson.core diff --git a/common/pom.xml b/common/pom.xml index e202af18d..f470d48d2 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-common @@ -34,7 +34,6 @@ org.apache.commons commons-csv - 1.5 junit @@ -44,28 +43,22 @@ org.apache.karaf.shell org.apache.karaf.shell.console - ${version.karaf} provided - org.apache.karaf.shell org.apache.karaf.shell.table - ${version.karaf} provided org.apache.unomi unomi-api - 2.7.0-SNAPSHOT test - org.slf4j slf4j-simple - 1.7.36 test diff --git a/common/src/main/java/org/apache/unomi/common/DataTable.java b/common/src/main/java/org/apache/unomi/common/DataTable.java index 06839fccd..21862d299 100644 --- a/common/src/main/java/org/apache/unomi/common/DataTable.java +++ b/common/src/main/java/org/apache/unomi/common/DataTable.java @@ -20,7 +20,6 @@ import org.apache.commons.csv.CSVPrinter; import java.io.IOException; -import java.io.StringWriter; import java.util.ArrayList; import java.util.Comparator; import java.util.List; diff --git a/docker/pom.xml b/docker/pom.xml index 57502de25..2d63324da 100644 --- a/docker/pom.xml +++ b/docker/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-docker @@ -43,7 +43,6 @@ org.apache.maven.plugins maven-dependency-plugin - 3.1.2 copy @@ -105,7 +104,7 @@ io.fabric8 docker-maven-plugin - 0.40.2 + 0.46.0 diff --git a/docker/src/main/docker/Dockerfile b/docker/src/main/docker/Dockerfile index 6734689fc..30d8db250 100644 --- a/docker/src/main/docker/Dockerfile +++ b/docker/src/main/docker/Dockerfile @@ -15,7 +15,7 @@ # limitations under the License. ################################################################################ -FROM library/eclipse-temurin:11 +FROM library/eclipse-temurin:17 # Unomi environment variables ENV UNOMI_HOME /opt/apache-unomi diff --git a/extensions/geonames/pom.xml b/extensions/geonames/pom.xml index f83aaccbb..e337f3b33 100644 --- a/extensions/geonames/pom.xml +++ b/extensions/geonames/pom.xml @@ -18,20 +18,18 @@ 4.0.0 - - - services - rest - - org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - cxs-geonames Apache Unomi :: Extensions :: Geonames Database Apache Unomi Context Server extension that integrates with the Geonames database pom + + + services + rest + diff --git a/extensions/geonames/rest/pom.xml b/extensions/geonames/rest/pom.xml index 34b3f1ce3..4093f1a3e 100644 --- a/extensions/geonames/rest/pom.xml +++ b/extensions/geonames/rest/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi cxs-geonames - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-geonames-rest Apache Unomi :: Extensions :: Geonames Database :: REST API REST API for the Apache Unomi Context Server extension that integrates with the Geonames database @@ -33,14 +32,22 @@ org.apache.unomi unomi-api - ${project.version} provided - org.apache.unomi cxs-geonames-services - ${project.version} + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + + org.osgi + org.osgi.service.component.annotations provided @@ -49,7 +56,16 @@ javax.servlet-api provided + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + + + org.apache.commons + commons-lang3 + provided + org.apache.cxf cxf-rt-frontend-jaxws @@ -68,20 +84,11 @@ org.apache.cxf cxf-rt-rs-security-cors + provided com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.osgi - osgi.cmpn provided diff --git a/extensions/geonames/services/pom.xml b/extensions/geonames/services/pom.xml index 0fe65c5b9..b532dcd8a 100644 --- a/extensions/geonames/services/pom.xml +++ b/extensions/geonames/services/pom.xml @@ -17,14 +17,12 @@ --> + 4.0.0 org.apache.unomi cxs-geonames - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - - 4.0.0 - cxs-geonames-services Apache Unomi :: Extensions :: Geonames Database :: Service Service implementation for the Apache Unomi Context Server extension that integrates with the Geonames database @@ -34,15 +32,14 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + org.apache.cxf cxf-rt-rs-security-cors @@ -51,10 +48,12 @@ org.apache.commons commons-lang3 + provided commons-beanutils commons-beanutils + provided diff --git a/extensions/groovy-actions/karaf-kar/pom.xml b/extensions/groovy-actions/karaf-kar/pom.xml index ff874dc6d..a1de6ad96 100644 --- a/extensions/groovy-actions/karaf-kar/pom.xml +++ b/extensions/groovy-actions/karaf-kar/pom.xml @@ -17,18 +17,15 @@ --> + 4.0.0 org.apache.unomi unomi-groovy-actions-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-groovy-actions Apache Unomi :: Extensions :: Groovy Actions :: Apache Karaf Feature and KAR archive - Apache Karaf Feature and KAR archive for the Apache Unomi Context Server extension that provides the possibility to use - Groovy for actions - + Apache Karaf Feature and KAR archive for the Apache Unomi Context Server extension that provides the possibility to use Groovy for actions kar diff --git a/extensions/groovy-actions/pom.xml b/extensions/groovy-actions/pom.xml index 53892b110..9a76295aa 100644 --- a/extensions/groovy-actions/pom.xml +++ b/extensions/groovy-actions/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-groovy-actions-root Apache Unomi :: Extensions :: Groovy Actions Apache Unomi Context Server extension that provides support for Groovy Actions diff --git a/extensions/groovy-actions/rest/pom.xml b/extensions/groovy-actions/rest/pom.xml index de1052262..db2f221a8 100644 --- a/extensions/groovy-actions/rest/pom.xml +++ b/extensions/groovy-actions/rest/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-groovy-actions-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-groovy-actions-rest Apache Unomi :: Extensions :: Groovy Actions :: REST API REST API for the Apache Unomi Context Server extension that integrates with groovy actions @@ -34,14 +33,22 @@ org.apache.unomi unomi-api - ${project.version} provided - + + org.apache.unomi + unomi-persistence-spi + provided + org.apache.unomi unomi-groovy-actions-services - ${project.version} + provided + + + + org.osgi + org.osgi.service.component.annotations provided @@ -51,6 +58,11 @@ provided + + commons-io + commons-io + + org.apache.cxf cxf-rt-frontend-jaxws @@ -76,21 +88,6 @@ jackson-jaxrs-json-provider provided - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.osgi - osgi.cmpn - provided - - - commons-io - commons-io - diff --git a/extensions/groovy-actions/services/pom.xml b/extensions/groovy-actions/services/pom.xml index 3d4de386e..76c30b85b 100644 --- a/extensions/groovy-actions/services/pom.xml +++ b/extensions/groovy-actions/services/pom.xml @@ -17,57 +17,65 @@ --> + 4.0.0 org.apache.unomi unomi-groovy-actions-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - - 4.0.0 - unomi-groovy-actions-services Apache Unomi :: Extensions :: Groovy Actions :: Service - Service implementation for the Apache Unomi Context Server extension that provides the possibility to implement actions in - Groovy - + Service implementation for the Apache Unomi Context Server extension that provides the possibility to implement actions in Groovy bundle org.apache.unomi unomi-api - ${project.version} provided - org.osgi - osgi.core + org.apache.unomi + unomi-metrics + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-services provided org.osgi - osgi.cmpn + osgi.core provided - org.apache.unomi - unomi-metrics - ${project.version} + org.osgi + org.osgi.service.metatype.annotations provided - org.apache.unomi - unomi-persistence-spi - ${project.version} + org.osgi + org.osgi.service.component provided - org.apache.unomi - unomi-services - ${project.version} + org.osgi + org.osgi.service.component.annotations provided + + + commons-io + commons-io + + com.fasterxml.jackson.core jackson-core @@ -90,10 +98,6 @@ ${groovy.version} provided - - commons-io - commons-io - diff --git a/extensions/healthcheck/pom.xml b/extensions/healthcheck/pom.xml index 8b5f9253b..a41479ad8 100644 --- a/extensions/healthcheck/pom.xml +++ b/extensions/healthcheck/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - healthcheck Apache Unomi :: Extensions :: HealthCheck Apache Unomi HealthCheck extension that provide liveliness information about unomi @@ -33,27 +32,24 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-lifecycle-watcher - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided org.apache.unomi shell-commands - ${project.version} provided + javax.servlet javax.servlet-api @@ -61,17 +57,29 @@ org.osgi - osgi.cmpn + org.osgi.service.useradmin provided - org.apache.httpcomponents - httpclient-osgi + org.osgi + org.osgi.service.component.annotations + provided + + + org.osgi + org.osgi.service.http + provided + + + + org.apache.commons + commons-lang3 provided org.apache.httpcomponents - httpcore-osgi + httpclient-osgi + bundle provided @@ -82,7 +90,6 @@ org.apache.karaf.jaas org.apache.karaf.jaas.boot - ${karaf.version} provided diff --git a/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/provider/ElasticSearchHealthCheckProvider.java b/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/provider/ElasticSearchHealthCheckProvider.java index 361e68df7..96a17db1a 100644 --- a/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/provider/ElasticSearchHealthCheckProvider.java +++ b/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/provider/ElasticSearchHealthCheckProvider.java @@ -26,11 +26,10 @@ import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.apache.unomi.healthcheck.HealthCheckConfig; -import org.apache.unomi.healthcheck.HealthCheckResponse; import org.apache.unomi.healthcheck.HealthCheckProvider; +import org.apache.unomi.healthcheck.HealthCheckResponse; import org.apache.unomi.healthcheck.util.CachedValue; import org.apache.unomi.shell.migration.utils.HttpUtils; import org.osgi.service.component.annotations.Activate; diff --git a/extensions/json-schema/pom.xml b/extensions/json-schema/pom.xml index a38969f6a..8223b7753 100644 --- a/extensions/json-schema/pom.xml +++ b/extensions/json-schema/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-json-schema-root diff --git a/extensions/json-schema/rest/pom.xml b/extensions/json-schema/rest/pom.xml index a9d9094d6..0753ad861 100644 --- a/extensions/json-schema/rest/pom.xml +++ b/extensions/json-schema/rest/pom.xml @@ -17,12 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-json-schema-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 unomi-json-schema-rest Apache Unomi :: Extensions :: JSON Schema :: REST API @@ -33,64 +33,58 @@ org.apache.unomi unomi-api - ${project.version} provided - org.apache.unomi unomi-json-schema-services - ${project.version} provided - org.apache.unomi unomi-rest - ${project.version} provided - javax.servlet - javax.servlet-api + org.osgi + org.osgi.service.component.annotations provided - org.apache.cxf - cxf-rt-frontend-jaxws + javax.servlet + javax.servlet-api provided - org.apache.cxf - cxf-rt-frontend-jaxrs + jakarta.jws + jakarta.jws-api provided + - org.apache.cxf - cxf-rt-transports-http + commons-io + commons-io provided - org.apache.cxf - cxf-rt-rs-security-cors + org.apache.commons + commons-lang3 provided + - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider + javax.ws.rs + javax.ws.rs-api provided - org.osgi - osgi.cmpn + org.apache.cxf + cxf-rt-rs-security-cors provided - - commons-io - commons-io - + diff --git a/extensions/json-schema/services/pom.xml b/extensions/json-schema/services/pom.xml index 4538c8846..b69f8609f 100644 --- a/extensions/json-schema/services/pom.xml +++ b/extensions/json-schema/services/pom.xml @@ -20,7 +20,7 @@ org.apache.unomi unomi-json-schema-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT 4.0.0 @@ -40,32 +40,30 @@ org.apache.unomi unomi-api - ${project.version} provided - - org.osgi - osgi.core + org.apache.unomi + unomi-persistence-spi provided org.osgi - osgi.cmpn + osgi.core provided - org.apache.unomi - unomi-persistence-spi - ${project.version} + commons-io + commons-io provided - commons-io - commons-io + org.apache.commons + commons-lang3 + provided @@ -113,7 +111,6 @@ org.yaml snakeyaml - 2.2 compile diff --git a/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/api/ValidationError.java b/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/api/ValidationError.java index 7adfabef1..7dc9cb3eb 100644 --- a/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/api/ValidationError.java +++ b/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/api/ValidationError.java @@ -17,8 +17,6 @@ package org.apache.unomi.schema.api; -import com.networknt.schema.ValidationMessage; - import java.io.Serializable; /** diff --git a/extensions/lists-extension/actions/pom.xml b/extensions/lists-extension/actions/pom.xml index e6a1f753d..4e6e0b887 100644 --- a/extensions/lists-extension/actions/pom.xml +++ b/extensions/lists-extension/actions/pom.xml @@ -17,31 +17,26 @@ --> + 4.0.0 cxs-lists-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-lists-extension-actions Apache Unomi :: Extensions :: Lists :: Actions List extension rule actions for the Apache Unomi Context Server - bundle org.apache.unomi unomi-api - ${project.version} provided - org.apache.unomi cxs-lists-extension-services - ${project.version} provided diff --git a/extensions/lists-extension/pom.xml b/extensions/lists-extension/pom.xml index 426d9f4ff..f68461fe1 100644 --- a/extensions/lists-extension/pom.xml +++ b/extensions/lists-extension/pom.xml @@ -18,21 +18,20 @@ 4.0.0 - - - services - rest - actions - - org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT cxs-lists-extension Apache Unomi :: Extensions :: Lists List extension for the Apache Unomi Context Server pom + + + services + rest + actions + diff --git a/extensions/lists-extension/rest/pom.xml b/extensions/lists-extension/rest/pom.xml index 2ef53bcba..db0c58cac 100644 --- a/extensions/lists-extension/rest/pom.xml +++ b/extensions/lists-extension/rest/pom.xml @@ -17,31 +17,31 @@ --> + 4.0.0 cxs-lists-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-lists-extension-rest Apache Unomi :: Extensions :: Lists :: REST API List extension REST API for the Apache Unomi Context Server - bundle org.apache.unomi unomi-api - ${project.version} provided - + + org.apache.unomi + unomi-persistence-spi + provided + org.apache.unomi cxs-lists-extension-services - ${project.version} provided @@ -50,6 +50,16 @@ javax.servlet-api provided + + org.osgi + org.osgi.service.component.annotations + provided + + + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + org.apache.cxf @@ -69,20 +79,11 @@ org.apache.cxf cxf-rt-rs-security-cors + provided com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.osgi - osgi.cmpn provided diff --git a/extensions/lists-extension/services/pom.xml b/extensions/lists-extension/services/pom.xml index 7cabb2a02..ce01f8c77 100644 --- a/extensions/lists-extension/services/pom.xml +++ b/extensions/lists-extension/services/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 cxs-lists-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-lists-extension-services Apache Unomi :: Extensions :: Lists :: Service List extension service implementation for the Apache Unomi Context Server @@ -33,15 +32,14 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + org.apache.cxf cxf-rt-rs-security-cors diff --git a/extensions/log4j-extension/pom.xml b/extensions/log4j-extension/pom.xml index 007010d3b..f38accb0f 100644 --- a/extensions/log4j-extension/pom.xml +++ b/extensions/log4j-extension/pom.xml @@ -17,39 +17,27 @@ --> - 4.0.0 - org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT - ../pom.xml + 3.0.0-SNAPSHOT - log4j-extension bundle Apache Unomi :: Extensions :: Log4j Extension Apache Unomi log4j extensions - - UTF-8 - 1.8 - 1.8 - - - org.apache.commons commons-lang3 - 3.15.0 + provided org.apache.logging.log4j log4j-core - 2.19.0 provided diff --git a/extensions/pom.xml b/extensions/pom.xml index 707f8b78a..3b29d26cc 100644 --- a/extensions/pom.xml +++ b/extensions/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-extensions Apache Unomi :: Extensions Apache Unomi Context Server extensions diff --git a/extensions/privacy-extension/pom.xml b/extensions/privacy-extension/pom.xml index e11174c96..f2700b46d 100644 --- a/extensions/privacy-extension/pom.xml +++ b/extensions/privacy-extension/pom.xml @@ -18,21 +18,18 @@ 4.0.0 - - - services - rest - - org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - cxs-privacy-extension Apache Unomi :: Extensions :: Privacy Privacy management extension for the Apache Unomi Context Server - pom + + + services + rest + diff --git a/extensions/privacy-extension/rest/pom.xml b/extensions/privacy-extension/rest/pom.xml index ebfa43556..ed5cc9843 100644 --- a/extensions/privacy-extension/rest/pom.xml +++ b/extensions/privacy-extension/rest/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 cxs-privacy-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-privacy-extension-rest Apache Unomi :: Extensions :: Privacy :: REST API Privacy management extension REST API for the Apache Unomi Context Server @@ -33,14 +32,22 @@ org.apache.unomi unomi-api - ${project.version} provided - org.apache.unomi cxs-privacy-extension-services - ${project.version} + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + + org.osgi + org.osgi.service.component.annotations provided @@ -49,6 +56,10 @@ javax.servlet-api provided + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + org.apache.cxf @@ -68,20 +79,12 @@ org.apache.cxf cxf-rt-rs-security-cors + provided + com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.osgi - osgi.cmpn provided diff --git a/extensions/privacy-extension/services/pom.xml b/extensions/privacy-extension/services/pom.xml index ff8b64442..2e22cf82d 100644 --- a/extensions/privacy-extension/services/pom.xml +++ b/extensions/privacy-extension/services/pom.xml @@ -17,46 +17,43 @@ --> + 4.0.0 cxs-privacy-extension org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cxs-privacy-extension-services Apache Unomi :: Extensions :: Privacy :: Services Privacy management extension service implementation for the Apache Unomi Context Server - 2.7.0-SNAPSHOT bundle org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided - org.apache.cxf - cxf-rt-rs-security-cors + org.apache.unomi + unomi-lifecycle-watcher provided + org.osgi osgi.core provided + - org.apache.unomi - unomi-lifecycle-watcher - ${project.version} + org.apache.cxf + cxf-rt-rs-security-cors provided diff --git a/extensions/router/pom.xml b/extensions/router/pom.xml index 952614678..8ceb69a33 100644 --- a/extensions/router/pom.xml +++ b/extensions/router/pom.xml @@ -16,13 +16,11 @@ --> 4.0.0 - org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-router Apache Unomi :: Extensions :: Router Apache Camel Router for the Apache Unomi Context server @@ -31,7 +29,6 @@ 2.23.1 0.11.0.3 - 3.10.0 diff --git a/extensions/router/router-api/pom.xml b/extensions/router/router-api/pom.xml index ef5a6d63c..f3fe6f9f4 100644 --- a/extensions/router/router-api/pom.xml +++ b/extensions/router/router-api/pom.xml @@ -16,13 +16,12 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-api Apache Unomi :: Extensions :: Router :: API Router Specification API @@ -32,7 +31,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git a/extensions/router/router-core/pom.xml b/extensions/router/router-core/pom.xml index 8b7d46aad..379302271 100644 --- a/extensions/router/router-core/pom.xml +++ b/extensions/router/router-core/pom.xml @@ -16,52 +16,49 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-core Apache Unomi :: Extensions :: Router :: Core Router Core (Apache Camel Routes) bundle - - org.osgi - osgi.core - provided - - - org.osgi - osgi.cmpn - provided - org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided org.apache.unomi unomi-services - ${project.version} provided org.apache.unomi unomi-router-api - ${project.version} + + + org.osgi + osgi.core + provided + + + org.osgi + org.osgi.service.component.annotations + provided + + org.apache.camel camel-core @@ -90,6 +87,7 @@ org.apache.camel camel-ftp ${camel.version} + provided org.apache.camel @@ -97,14 +95,15 @@ ${camel.version} provided + org.apache.commons commons-lang3 + provided commons-net commons-net - ${commons-net.version} commons-beanutils @@ -113,13 +112,12 @@ commons-logging commons-logging - 1.1.1 provided + com.opencsv opencsv - 3.10 org.apache.servicemix.bundles diff --git a/extensions/router/router-karaf-feature/pom.xml b/extensions/router/router-karaf-feature/pom.xml index 1ef821ef1..d7b8e6c40 100644 --- a/extensions/router/router-karaf-feature/pom.xml +++ b/extensions/router/router-karaf-feature/pom.xml @@ -16,27 +16,61 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-karaf-feature Apache Unomi :: Extensions :: Router :: Apache Karaf Feature Apache Karaf feature for the Apache Unomi Context Server extension kar - org.apache.servicemix.bundles - org.apache.servicemix.bundles.jsch - 0.1.54_1 + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-router-api + + + org.apache.unomi + unomi-router-core + + + org.apache.unomi + unomi-router-service + + + org.apache.unomi + unomi-router-rest + + + + org.apache.cxf + cxf-rt-rs-security-cors commons-net commons-net - ${commons-net.version} + + + org.apache.httpcomponents + httpclient-osgi + bundle + + + org.apache.httpcomponents + httpcore-osgi + + + + org.apache.servicemix.bundles + org.apache.servicemix.bundles.jsch + 0.1.54_1 org.apache.kafka @@ -88,49 +122,6 @@ camel-kafka ${camel.version} - - - org.apache.cxf - cxf-rt-rs-security-cors - ${cxf.version} - - - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.apache.unomi - unomi-router-api - ${project.version} - - - org.apache.unomi - unomi-router-core - ${project.version} - - - org.apache.unomi - unomi-router-service - ${project.version} - - - org.apache.unomi - unomi-router-rest - ${project.version} - - - org.apache.httpcomponents - httpclient-osgi - bundle - - - org.apache.httpcomponents - httpcore-osgi - diff --git a/extensions/router/router-karaf-feature/src/main/feature/feature.xml b/extensions/router/router-karaf-feature/src/main/feature/feature.xml index 6d707cf67..17e9cab7e 100644 --- a/extensions/router/router-karaf-feature/src/main/feature/feature.xml +++ b/extensions/router/router-karaf-feature/src/main/feature/feature.xml @@ -15,7 +15,7 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - +
Apache Karaf feature for the Apache Unomi Context Server extension
wrap diff --git a/extensions/router/router-rest/pom.xml b/extensions/router/router-rest/pom.xml index 341594b03..076618366 100644 --- a/extensions/router/router-rest/pom.xml +++ b/extensions/router/router-rest/pom.xml @@ -16,13 +16,12 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-rest Apache Unomi :: Extensions :: Router :: REST API Router REST API @@ -31,28 +30,45 @@ org.apache.unomi - unomi-router-api - ${project.version} + unomi-api provided org.apache.unomi - unomi-api - ${project.version} + unomi-persistence-spi provided org.apache.unomi - unomi-persistence-spi - ${project.version} + unomi-router-api + provided + + + + org.osgi + org.osgi.service.component.annotations + provided + + + + javax.servlet + javax.servlet-api + provided + + + javax.validation + validation-api provided javax.ws.rs javax.ws.rs-api - 2.0.1 - provided + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + + org.apache.cxf cxf-rt-rs-security-cors @@ -72,24 +88,24 @@ com.fasterxml.jackson.core jackson-databind - ${version.jackson.databind} - provided - - - javax.servlet - javax.servlet-api - provided - - - org.osgi - osgi.cmpn - provided - - - javax.validation - validation-api provided + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + + diff --git a/extensions/router/router-service/pom.xml b/extensions/router/router-service/pom.xml index c24e9e2d6..1456a75ed 100644 --- a/extensions/router/router-service/pom.xml +++ b/extensions/router/router-service/pom.xml @@ -16,56 +16,31 @@ ~ limitations under the License. --> + 4.0.0 unomi-router org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-router-service Apache Unomi :: Extensions :: Router :: Services Router Services bundle - - - - org.apache.felix - maven-bundle-plugin - true - - - *;scope=compile|runtime - - sun.misc;resolution:=optional, - * - - - - - - - org.apache.unomi unomi-api - ${project.version} provided - org.apache.unomi - unomi-router-api - ${project.version} + unomi-persistence-spi provided - org.apache.unomi - unomi-persistence-spi - ${project.version} + unomi-router-api provided @@ -74,10 +49,9 @@ osgi.core provided
- org.osgi - osgi.cmpn + org.osgi.service.component.annotations provided @@ -89,8 +63,25 @@ org.apache.commons commons-lang3
-
+ + + + org.apache.felix + maven-bundle-plugin + true + + + *;scope=compile|runtime + + sun.misc;resolution:=optional, + * + + + + + +
diff --git a/extensions/salesforce-connector/actions/pom.xml b/extensions/salesforce-connector/actions/pom.xml index e3d7c2b7c..2985aac23 100644 --- a/extensions/salesforce-connector/actions/pom.xml +++ b/extensions/salesforce-connector/actions/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-salesforce-connector - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-salesforce-connector-actions Apache Unomi :: Extensions :: Salesforce connector :: Rule Actions Rule Actions for the Apache Unomi Context Server extension that integrates with Salesforce @@ -33,17 +32,14 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-salesforce-connector-services - ${project.version} provided - diff --git a/extensions/salesforce-connector/karaf-kar/pom.xml b/extensions/salesforce-connector/karaf-kar/pom.xml index 5bf6caff2..896b9798b 100644 --- a/extensions/salesforce-connector/karaf-kar/pom.xml +++ b/extensions/salesforce-connector/karaf-kar/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-salesforce-connector - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-salesforce-connector-karaf-kar Apache Unomi :: Extensions :: Salesforce connector :: Apache Karaf Feature and KAR archive Apache Karaf Feature and KAR archive for the Apache Unomi Context Server extension that integrates with Salesforce @@ -33,34 +32,29 @@ org.apache.unomi unomi-api - ${project.version} provided - - - org.apache.httpcomponents - httpcore-osgi - - - org.apache.httpcomponents - httpclient-osgi - org.apache.unomi unomi-salesforce-connector-services - ${project.version} org.apache.unomi unomi-salesforce-connector-rest - ${project.version} org.apache.unomi unomi-salesforce-connector-actions - ${project.version} + + org.apache.httpcomponents + httpcore-osgi + + + org.apache.httpcomponents + httpclient-osgi + diff --git a/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml b/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml index aa544d8a2..75e3c7114 100644 --- a/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml +++ b/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml @@ -15,7 +15,7 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - +
Apache Karaf feature for the Apache Unomi Context Server extension that integrates with Salesforce
unomi-kar diff --git a/extensions/salesforce-connector/pom.xml b/extensions/salesforce-connector/pom.xml index b759f7d5b..106c19731 100644 --- a/extensions/salesforce-connector/pom.xml +++ b/extensions/salesforce-connector/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-salesforce-connector Apache Unomi :: Extensions :: Salesforce connector Apache Unomi Context Server extension that integrates with Salesforce diff --git a/extensions/salesforce-connector/rest/pom.xml b/extensions/salesforce-connector/rest/pom.xml index d40ff5314..742a39bd7 100644 --- a/extensions/salesforce-connector/rest/pom.xml +++ b/extensions/salesforce-connector/rest/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-salesforce-connector - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-salesforce-connector-rest Apache Unomi :: Extensions :: Salesforce connector :: REST API REST API for the Apache Unomi Context Server extension that integrates with Salesforce @@ -33,14 +32,32 @@ org.apache.unomi unomi-api - ${project.version} provided - + + org.apache.unomi + unomi-persistence-spi + provided + org.apache.unomi unomi-salesforce-connector-services - ${project.version} + provided + + + + org.osgi + osgi.core + provided + + + org.osgi + org.osgi.service.component + provided + + + org.osgi + org.osgi.service.component.annotations provided @@ -49,6 +66,7 @@ javax.servlet-api provided
+ + 4.0.0 org.apache.unomi unomi-salesforce-connector - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - - 4.0.0 - unomi-salesforce-connector-services Apache Unomi :: Extensions :: Salesforce connector :: Service Service implementation for the Apache Unomi Context Server extension that integrates with Salesforce @@ -34,19 +32,22 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + + + org.apache.commons + commons-lang3 + + org.apache.cxf cxf-rt-rs-security-cors - ${cxf.version} provided @@ -57,37 +58,30 @@ org.eclipse.jetty jetty-client - 9.4.48.v20220622 org.eclipse.jetty jetty-http - 9.4.48.v20220622 org.eclipse.jetty jetty-io - 9.4.48.v20220622 org.eclipse.jetty jetty-util - 9.4.48.v20220622 org.cometd.java bayeux-api - 4.0.9 org.cometd.java cometd-java-client-common - 5.0.13 org.cometd.java cometd-java-client-http-jetty - 5.0.13 com.fasterxml.jackson.core @@ -104,19 +98,16 @@ junit junit - 4.13.1 test org.slf4j slf4j-simple - 1.7.36 test org.apache.felix org.apache.felix.utils - 1.10.4 test diff --git a/extensions/weather-update/core/pom.xml b/extensions/weather-update/core/pom.xml index df00b96b0..fa2aff031 100755 --- a/extensions/weather-update/core/pom.xml +++ b/extensions/weather-update/core/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-weather-update - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-weather-update-core Apache Unomi :: Extension :: Weather Update :: Core This is a simple Apache Unomi plugin. @@ -33,9 +32,9 @@ org.apache.unomi unomi-api - ${project.version} provided + org.apache.httpcomponents httpclient-osgi diff --git a/extensions/weather-update/karaf-kar/pom.xml b/extensions/weather-update/karaf-kar/pom.xml index 5a7a1ab49..b7f7aa565 100644 --- a/extensions/weather-update/karaf-kar/pom.xml +++ b/extensions/weather-update/karaf-kar/pom.xml @@ -17,13 +17,12 @@ --> + 4.0.0 org.apache.unomi unomi-weather-update - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - unomi-weather-update-karaf-kar Apache Unomi :: Extension :: Weather Update :: Apache Karaf Feature and KAR archive This is a simple Apache Unomi plugin. @@ -33,9 +32,13 @@ org.apache.unomi unomi-api - ${project.version} provided + + org.apache.unomi + unomi-weather-update-core + + org.apache.httpcomponents httpcore-osgi @@ -44,12 +47,6 @@ org.apache.httpcomponents httpclient-osgi - - - org.apache.unomi - unomi-weather-update-core - ${project.version} - diff --git a/extensions/weather-update/karaf-kar/src/main/feature/feature.xml b/extensions/weather-update/karaf-kar/src/main/feature/feature.xml index f1db52bb4..c06b467cb 100644 --- a/extensions/weather-update/karaf-kar/src/main/feature/feature.xml +++ b/extensions/weather-update/karaf-kar/src/main/feature/feature.xml @@ -15,11 +15,9 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - - -
Apache Karaf feature for the Apache Unomi Context Server extension that integrates Weather - update
+ + +
Apache Karaf feature for the Apache Unomi Context Server extension that integrates Weather update
unomi-kar mvn:org.apache.unomi/unomi-weather-update-core/${project.version}/cfg/weatherupdatecfg mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore-osgi.version} diff --git a/extensions/weather-update/pom.xml b/extensions/weather-update/pom.xml index 6324cd0ec..cfb16d6fc 100644 --- a/extensions/weather-update/pom.xml +++ b/extensions/weather-update/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-weather-update diff --git a/extensions/web-tracker/pom.xml b/extensions/web-tracker/pom.xml index 3f962a423..bb29eb0b0 100644 --- a/extensions/web-tracker/pom.xml +++ b/extensions/web-tracker/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-extensions - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-web-tracker diff --git a/extensions/web-tracker/wab/pom.xml b/extensions/web-tracker/wab/pom.xml index b7b2633d0..66c492c58 100644 --- a/extensions/web-tracker/wab/pom.xml +++ b/extensions/web-tracker/wab/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-web-tracker - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-web-tracker-wab diff --git a/graphql/cxs-impl/pom.xml b/graphql/cxs-impl/pom.xml index 03efbc46f..badaf8916 100644 --- a/graphql/cxs-impl/pom.xml +++ b/graphql/cxs-impl/pom.xml @@ -16,13 +16,12 @@ ~ limitations under the License. --> + 4.0.0 org.apache.unomi unomi-graphql - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - cdp-graphql-api-impl Apache Unomi :: GraphQL API :: CDP Implementation Apache Unomi Context GraphQL API CDP Implementation @@ -30,8 +29,40 @@ - org.slf4j - slf4j-api + org.apache.unomi + unomi-api + provided + + + org.apache.unomi + cxs-lists-extension-services + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + + org.apache.unomi + unomi-json-schema-services + provided + + + + org.osgi + osgi.enterprise + provided + + + org.osgi + osgi.core + provided + + + + org.apache.commons + commons-lang3 provided @@ -39,106 +70,59 @@ javax.servlet-api provided + + org.slf4j + slf4j-api + provided + com.fasterxml.jackson.core jackson-core - ${version.jackson.core} provided com.fasterxml.jackson.core jackson-annotations - ${version.jackson.core} provided com.fasterxml.jackson.core jackson-databind - ${version.jackson.databind} provided com.fasterxml.jackson.datatype jackson-datatype-jdk8 - ${version.jackson.core} provided com.fasterxml.jackson.module jackson-module-jaxb-annotations - ${version.jackson.jaxb} provided com.graphql-java graphql-java - ${graphql.java.version} provided io.github.graphql-java graphql-java-annotations - ${graphql.java.annotations.version} provided com.graphql-java graphql-java-extended-scalars - ${graphql.java.extended.scalars.version} provided io.reactivex.rxjava2 rxjava - ${reactivex.version} provided org.eclipse.jetty.websocket websocket-server - ${jetty.websocket.version} - provided - - - org.osgi - osgi.enterprise - 6.0.0 - provided - - - org.osgi - osgi.core - 6.0.0 - provided - - - org.apache.felix - org.apache.felix.scr.ds-annotations - 1.2.4 - provided - - - org.apache.unomi - unomi-api - ${project.version} - provided - - - org.apache.unomi - cxs-lists-extension-services - ${project.version} - provided - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - provided - - - org.apache.unomi - unomi-json-schema-services - ${project.version} provided diff --git a/graphql/graphql-ui/pom.xml b/graphql/graphql-ui/pom.xml index 0947ba804..fd66b7139 100644 --- a/graphql/graphql-ui/pom.xml +++ b/graphql/graphql-ui/pom.xml @@ -21,9 +21,8 @@ org.apache.unomi unomi-graphql - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-graphql-ui Apache Unomi :: GraphQL API :: GraphQL UI An integrated GraphQL UI @@ -37,7 +36,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git a/graphql/karaf-feature/pom.xml b/graphql/karaf-feature/pom.xml index d18139e9b..d9951b371 100644 --- a/graphql/karaf-feature/pom.xml +++ b/graphql/karaf-feature/pom.xml @@ -16,46 +16,33 @@ ~ limitations under the License. --> + 4.0.0 org.apache.unomi unomi-graphql - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - kar - cdp-graphql-feature Apache Unomi :: GraphQL API :: Karaf Feature Apache Unomi Context GraphQL API Karaf Feature + kar - commons-fileupload commons-fileupload - 1.3.1 org.antlr antlr4-runtime - 4.7.1 com.graphql-java java-dataloader - 2.2.0 org.reactivestreams reactive-streams - 1.0.2 @@ -87,7 +74,7 @@ org.eclipse.jetty.websocket websocket-server - ${jetty.websocket.version} + ${jetty.version} org.apache.unomi @@ -101,7 +88,7 @@ org.apache.karaf.tooling karaf-maven-plugin - ${version.karaf} + ${karaf.version} true 80 diff --git a/graphql/karaf-feature/src/main/feature/feature.xml b/graphql/karaf-feature/src/main/feature/feature.xml index 19203e810..d9f5aa212 100644 --- a/graphql/karaf-feature/src/main/feature/feature.xml +++ b/graphql/karaf-feature/src/main/feature/feature.xml @@ -19,36 +19,35 @@ unomi-kar - wrap:mvn:com.google.code.findbugs/jsr305/1.3.9 - wrap:mvn:org.checkerframework/checker-compat-qual/2.0.0 - wrap:mvn:com.google.errorprone/error_prone_annotations/2.1.3 - wrap:mvn:com.google.j2objc/j2objc-annotations/1.1 - wrap:mvn:org.codehaus.mojo/animal-sniffer-annotations/1.14 - mvn:commons-fileupload/commons-fileupload/1.3.1 - mvn:org.antlr/antlr4-runtime/${antlr.runtime.version} - wrap:mvn:com.graphql-java/java-dataloader/${java.dataloader.version} - mvn:org.reactivestreams/reactive-streams/1.0.2 + wrap:mvn:org.checkerframework/checker-compat-qual/${checker-compat-qual.version} + wrap:mvn:com.google.errorprone/error_prone_annotations/${error_prone_annotations.version} + wrap:mvn:com.google.j2objc/j2objc-annotations/${j2objc-annotations.version} + wrap:mvn:org.codehaus.mojo/animal-sniffer-annotations/${animal-sniffer-annotations.version} + mvn:commons-fileupload/commons-fileupload/${commons-fileupload.version} + mvn:org.antlr/antlr4-runtime/${antlr4.version} + wrap:mvn:com.graphql-java/java-dataloader/${java-dataloader.version} + mvn:org.reactivestreams/reactive-streams/${reactive-stream.version} mvn:com.graphql-java/graphql-java/${graphql.java.version} mvn:io.github.graphql-java/graphql-java-annotations/${graphql.java.annotations.version} - mvn:javax.validation/validation-api/${bean.validation.version} + mvn:javax.validation/validation-api/${javax-validation.version} wrap:mvn:com.graphql-java/graphql-java-extended-scalars/${graphql.java.extended.scalars.version} - wrap:mvn:com.squareup.okhttp3/okhttp/3.2.0 - wrap:mvn:com.squareup.okio/okio/1.6.0 - mvn:io.reactivex.rxjava2/rxjava/2.2.19 - mvn:org.eclipse.jetty.websocket/websocket-server/${jetty.websocket.version} - mvn:org.eclipse.jetty.websocket/websocket-common/${jetty.websocket.version} - mvn:org.eclipse.jetty.websocket/websocket-api/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-util/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-io/${jetty.websocket.version} - mvn:org.eclipse.jetty.websocket/websocket-client/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-client/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-xml/${jetty.websocket.version} - mvn:org.eclipse.jetty.websocket/websocket-servlet/${jetty.websocket.version} - mvn:javax.servlet/javax.servlet-api/3.0.1 - mvn:org.eclipse.jetty/jetty-servlet/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-security/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-server/${jetty.websocket.version} - mvn:org.eclipse.jetty/jetty-http/${jetty.websocket.version} + wrap:mvn:com.squareup.okhttp3/okhttp/${okhttp.version} + wrap:mvn:com.squareup.okio/okio/${okio.version} + mvn:io.reactivex.rxjava2/rxjava/${reactivex.version} + mvn:org.eclipse.jetty.websocket/websocket-server/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-common/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-api/${jetty.version} + mvn:org.eclipse.jetty/jetty-util/${jetty.version} + mvn:org.eclipse.jetty/jetty-io/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-client/${jetty.version} + mvn:org.eclipse.jetty/jetty-client/${jetty.version} + mvn:org.eclipse.jetty/jetty-xml/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-servlet/${jetty.version} + mvn:javax.servlet/javax.servlet-api/${servlet.spec.version} + mvn:org.eclipse.jetty/jetty-servlet/${jetty.version} + mvn:org.eclipse.jetty/jetty-security/${jetty.version} + mvn:org.eclipse.jetty/jetty-server/${jetty.version} + mvn:org.eclipse.jetty/jetty-http/${jetty.version} mvn:org.apache.unomi/cdp-graphql-api-impl/${project.version} mvn:org.apache.unomi/unomi-graphql-ui/${project.version} diff --git a/graphql/pom.xml b/graphql/pom.xml index f0d3d8f75..b7372703f 100644 --- a/graphql/pom.xml +++ b/graphql/pom.xml @@ -18,28 +18,16 @@ 4.0.0 - org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-graphql Apache Unomi :: GraphQL API Apache Unomi Context GraphQL API Root Project pom - - 14.0 - 8.0 - 1.0 - 2.2.19 - 4.7.1 - 2.2.0 - 9.4.38.v20210224 - - cxs-impl graphql-ui diff --git a/itests/pom.xml b/itests/pom.xml index f61cbcd15..9a0cb178f 100644 --- a/itests/pom.xml +++ b/itests/pom.xml @@ -21,24 +21,12 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-itests Apache Unomi :: Integration Tests Apache Unomi Context Server integration tests - - - - org.apache.karaf - karaf-bom - ${karaf.version} - pom - import - - - - @@ -111,30 +99,26 @@ org.eclipse.jetty.websocket websocket-client - 9.4.28.v20200408 + ${jetty.version} org.apache.unomi unomi-lifecycle-watcher - ${project.version} test org.apache.unomi unomi-persistence-spi - ${project.version} test org.apache.unomi shell-commands - ${project.version} test org.apache.unomi unomi-groovy-actions-services - ${project.version} test @@ -257,7 +241,7 @@ org.apache.maven.plugins maven-failsafe-plugin - 3.0.0-M4 + ${maven-failsafe.plugin.version} **/*AllITs.java diff --git a/kar/pom.xml b/kar/pom.xml index 9a38f9b78..22e209453 100644 --- a/kar/pom.xml +++ b/kar/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-kar @@ -31,127 +31,111 @@ kar - - org.apache.httpcomponents - httpcore-osgi - - - org.apache.httpcomponents - httpclient-osgi - org.apache.unomi - unomi-wab - ${project.version} + unomi-api org.apache.unomi - unomi-api - ${project.version} + unomi-common org.apache.unomi - unomi-common - ${project.version} + unomi-wab org.apache.unomi unomi-metrics - ${project.version} org.apache.unomi unomi-services - ${project.version} + + + org.apache.unomi + unomi-scripting org.apache.unomi unomi-persistence-elasticsearch-core - ${project.version} + + org.apache.unomi unomi-plugins-base - ${project.version} org.apache.unomi unomi-plugins-request - ${project.version} org.apache.unomi unomi-plugins-mail - ${project.version} org.apache.unomi unomi-plugins-optimization-test - ${project.version} + + org.apache.unomi cxs-lists-extension-services - ${project.version} org.apache.unomi cxs-lists-extension-rest - ${project.version} org.apache.unomi cxs-lists-extension-actions - ${project.version} org.apache.unomi cxs-geonames-services - ${project.version} org.apache.unomi cxs-geonames-rest - ${project.version} org.apache.unomi - unomi-json-schema-services - ${project.version} + cxs-privacy-extension-services org.apache.unomi - unomi-json-schema-rest - ${project.version} + cxs-privacy-extension-rest org.apache.unomi - cxs-privacy-extension-services - ${project.version} + unomi-json-schema-services org.apache.unomi - cxs-privacy-extension-rest - ${project.version} + unomi-json-schema-rest org.apache.unomi shell-dev-commands - ${project.version} + + org.apache.unomi + unomi-web-tracker-wab + + joda-time joda-time + - org.apache.unomi - unomi-web-tracker-wab - ${project.version} + org.apache.httpcomponents + httpcore-osgi - org.apache.unomi - unomi-scripting - ${project.version} + org.apache.httpcomponents + httpclient-osgi @@ -176,9 +160,42 @@ 85 + + + generate-features + generate-resources + + features-generate-descriptor + + + true + + + + verify-feature + process-resources + + verify + + + + mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features + mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features + file:${project.build.directory}/feature/feature.xml + + org.apache.karaf:apache-karaf:zip:${karaf.version} + 11 + + framework + + + unomi-kar + + true + + +
-
-
diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml index 6355a69e4..dc9eb7102 100644 --- a/kar/src/main/feature/feature.xml +++ b/kar/src/main/feature/feature.xml @@ -16,7 +16,7 @@ ~ limitations under the License. --> - + mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features @@ -24,7 +24,12 @@ wrap aries-blueprint war - cxf-jaxrs + config + scr + http + cxf + cxf-jaxws + cxf-jaxrs cxf-features-metrics cxf-rs-security-cors cxf-rs-description-openapi-v3 @@ -33,34 +38,39 @@ shell-compat mvn:org.apache.unomi/unomi-wab/${project.version}/cfg/unomicfg mvn:org.apache.unomi/unomi-persistence-elasticsearch-core/${project.version}/cfg/elasticsearchcfg - mvn:org.apache.unomi/unomi-plugins-request/${project.version}/cfg/requestcfg - mvn:org.apache.unomi/unomi-plugins-base/${project.version}/cfg/pluginsbasecfg mvn:org.apache.unomi/unomi-services/${project.version}/cfg/servicescfg mvn:org.apache.unomi/unomi-services/${project.version}/cfg/thirdpartycfg mvn:org.apache.unomi/unomi-services/${project.version}/cfg/clustercfg + mvn:org.apache.unomi/unomi-services/${project.version}/xml/hazelcastconfig + mvn:org.apache.unomi/unomi-plugins-request/${project.version}/cfg/requestcfg + mvn:org.apache.unomi/unomi-plugins-base/${project.version}/cfg/pluginsbasecfg mvn:org.apache.unomi/cxs-geonames-services/${project.version}/cfg/geonamescfg mvn:org.apache.unomi/unomi-groovy-actions-services/${project.version}/cfg/groovyactionscfg mvn:org.apache.unomi/unomi-json-schema-services/${project.version}/cfg/schemacfg - mvn:commons-io/commons-io/${apache.commons.io.version} - mvn:com.fasterxml.jackson.core/jackson-core/${version.jackson.core} - mvn:com.github.fge/btf/1.2 - mvn:com.github.fge/msg-simple/1.1 - mvn:com.google.guava/guava/16.0.1 - mvn:com.github.fge/jackson-coreutils/1.8 - mvn:com.github.fge/json-patch/1.9 - mvn:org.json/json/${org.json.version} - mvn:com.fasterxml.jackson.core/jackson-databind/${version.jackson.databind} - mvn:com.fasterxml.jackson.core/jackson-annotations/${version.jackson.core} - mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${version.jackson.core} - mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${version.jackson.jaxb} - mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${version.jackson.core} - mvn:org.yaml/snakeyaml/1.33 - mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${version.jackson.core} - mvn:joda-time/joda-time/${joda-time.version} - mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.9.0 - mvn:javax.annotation/javax.annotation-api/1.3.2 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/${jsr305.bundle.version} - mvn:commons-collections/commons-collections/${apache.commons.collections.version} + mvn:commons-collections/commons-collections/${commons-collections.version} + mvn:org.apache.commons/commons-lang3/${commons-lang3.version} + mvn:commons-beanutils/commons-beanutils/${commons-beanutils.version} + mvn:commons-io/commons-io/${commons-io.version} + mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore-osgi.version} + mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient-osgi.version} + mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version} + mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version} + mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version} + mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${jackson.version} + mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${jackson.version} + mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${jackson.version} + mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${jackson.version} + mvn:com.github.java-json-tools/btf/${btf.version} + mvn:com.github.java-json-tools/msg-simple/${msg-simple.version} + mvn:com.github.java-json-tools/jackson-coreutils/${jackson-coreutils.version} + mvn:com.github.java-json-tools/json-patch/${json-patch.version} + mvn:com.google.guava/guava/${guava.version} + mvn:org.json/json/${org-json.version} + mvn:org.yaml/snakeyaml/${snakeyaml.version} + mvn:joda-time/joda-time/${joda-time.version} + mvn:jakarta.annotation/jakarta.annotation-api/${jakarta-annotation-api.version} + mvn:com.google.code.findbugs/jsr305/${jsr305.version} + mvn:org.apache.unomi/unomi-lifecycle-watcher/${project.version} mvn:org.apache.unomi/unomi-api/${project.version} mvn:org.apache.unomi/unomi-common/${project.version} @@ -100,6 +110,7 @@ unomi-kar - mvn:org.webjars/swagger-ui/3.23.8 + mvn:org.webjars/swagger-ui/${swagger-ui.version} + diff --git a/lifecycle-watcher/pom.xml b/lifecycle-watcher/pom.xml index 444db2f3a..b157997eb 100644 --- a/lifecycle-watcher/pom.xml +++ b/lifecycle-watcher/pom.xml @@ -17,12 +17,12 @@ --> + 4.0.0 unomi-root org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 unomi-lifecycle-watcher Apache Unomi :: Main Lifecycle Watcher @@ -33,17 +33,21 @@ org.osgi osgi.core + provided org.apache.unomi unomi-api - ${project.version} provided org.apache.karaf.features org.apache.karaf.features.core - ${version.karaf} + provided + + + org.apache.commons + commons-lang3 provided @@ -88,5 +92,4 @@ - diff --git a/manual/pom.xml b/manual/pom.xml index 55467ebe7..b5cfa2081 100644 --- a/manual/pom.xml +++ b/manual/pom.xml @@ -20,7 +20,7 @@ unomi-root org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT 4.0.0 diff --git a/manual/src/main/asciidoc/5-min-quickstart.adoc b/manual/src/main/asciidoc/5-min-quickstart.adoc index a25a45dd4..26e6fae6b 100644 --- a/manual/src/main/asciidoc/5-min-quickstart.adoc +++ b/manual/src/main/asciidoc/5-min-quickstart.adoc @@ -48,8 +48,7 @@ Try accessing https://localhost:9443/cxs/cluster with username/password: karaf/k === Quick Start manually -1) Install JDK 11 (https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) and make sure you set the -JAVA_HOME variable https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/ (see our <> guide for more information on JDK compatibility) +1) Install JDK 17 and make sure you set the JAVA_HOME variable (see our <> guide for more information on JDK compatibility) 2) Download ElasticSearch here : https://www.elastic.co/downloads/past-releases/elasticsearch-7-17-5 (please *make sure* you use the proper version : 7.17.5) diff --git a/metrics/pom.xml b/metrics/pom.xml index 102ba8e30..fb54e5a17 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -21,7 +21,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-metrics @@ -30,25 +30,31 @@ bundle + + org.osgi + osgi.core + provided + org.apache.karaf.shell org.apache.karaf.shell.console - ${version.karaf} provided - org.apache.karaf.shell org.apache.karaf.shell.table - ${version.karaf} provided + + org.apache.unomi + unomi-common + provided + org.apache.unomi unomi-persistence-spi - ${project.version} provided @@ -63,32 +69,16 @@ provided
- - org.apache.unomi - unomi-common - ${project.version} - provided - - - - org.osgi - osgi.core - provided - - - + junit junit - 4.13.1 test org.slf4j slf4j-simple - 1.7.36 test -
diff --git a/package/pom.xml b/package/pom.xml index 265e91973..8eb262e6b 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi @@ -35,9 +35,7 @@ - - org.apache.karaf.features framework @@ -71,16 +69,7 @@ runtime - - - - org.apache.cxf.karaf - apache-cxf - features - xml - runtime - - + org.apache.unomi unomi-kar @@ -89,7 +78,7 @@ xml runtime - + @@ -169,9 +157,7 @@ ${project.version} unomicfg cfg - - ${project.build.directory}/assembly/etc - + ${project.build.directory}/assembly/etc org.apache.unomi.web.cfg @@ -180,9 +166,7 @@ ${project.version} elasticsearchcfg cfg - - ${project.build.directory}/assembly/etc - + ${project.build.directory}/assembly/etc org.apache.unomi.persistence.elasticsearch.cfg @@ -191,9 +175,7 @@ ${project.version} clustercfg cfg - - ${project.build.directory}/assembly/etc - + ${project.build.directory}/assembly/etc org.apache.unomi.cluster.cfg @@ -202,20 +184,17 @@ ${project.version} servicescfg cfg - - ${project.build.directory}/assembly/etc - + ${project.build.directory}/assembly/etc org.apache.unomi.services.cfg + - - org.apache.aries.blueprint - org.apache.aries.blueprint.core - 1.6.2 - - ${project.build.directory}/assembly/system/org/apache/aries/blueprint/org.apache.aries.blueprint.core/1.6.2 - - + --> - @@ -315,9 +277,11 @@ + wrapper cxf-commands @@ -335,7 +299,6 @@ config deployer diagnostic - feature instance kar log @@ -347,32 +310,13 @@ aries-blueprint shell-compat unomi-kar + - - 1.8 + 11 diff --git a/package/src/main/resources/etc/custom.system.properties b/package/src/main/resources/etc/custom.system.properties index 7b1b576eb..dc2b120dc 100644 --- a/package/src/main/resources/etc/custom.system.properties +++ b/package/src/main/resources/etc/custom.system.properties @@ -62,8 +62,10 @@ org.apache.unomi.security.personalization.sanitizeConditions=${env:UNOMI_SECURIT ## HTTP Settings ## ####################################################################################################################### org.ops4j.pax.web.ssl.keystore=${env:UNOMI_SSL_KEYSTORE:-${karaf.etc}/keystore} -org.ops4j.pax.web.ssl.password=${env:UNOMI_SSL_PASSWORD:-changeme} -org.ops4j.pax.web.ssl.keypassword=${env:UNOMI_SSL_KEYPASSWORD:-changeme} +org.ops4j.pax.web.ssl.keystore.password=${env:UNOMI_SSL_KEYPASSWORD:-changeme} +org.ops4j.pax.web.ssl.key.password=${env:UNOMI_SSL_PASSWORD:-changeme} +org.ops4j.pax.web.ssl.truststore=${env:UNOMI_SSL_KEYSTORE:-${karaf.etc}/keystore} +org.ops4j.pax.web.ssl.truststore.password=${env:UNOMI_SSL_PASSWORD:-changeme} org.osgi.service.http.secure.enabled = true org.osgi.service.http.port=${env:UNOMI_HTTP_PORT:-8181} diff --git a/persistence-elasticsearch/core/pom.xml b/persistence-elasticsearch/core/pom.xml index 810e38807..6bf1a0eea 100644 --- a/persistence-elasticsearch/core/pom.xml +++ b/persistence-elasticsearch/core/pom.xml @@ -18,11 +18,10 @@ 4.0.0 - org.apache.unomi unomi-persistence-elasticsearch - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-persistence-elasticsearch-core @@ -36,107 +35,67 @@ osgi.core provided
- - org.osgi - osgi.cmpn - provided - org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-common - ${project.version} provided org.apache.unomi - unomi-persistence-spi - ${project.version} + unomi-metrics provided - org.elasticsearch.client - elasticsearch-rest-high-level-client - ${elasticsearch.version} - - + - org.elasticsearch.test - framework - ${elasticsearch.version} - test + com.fasterxml.jackson.core + jackson-databind - org.elasticsearch.plugin - transport-netty4-client - ${elasticsearch.version} - test + org.apache.commons + commons-lang3 - org.apache.lucene - lucene-test-framework - ${lucene.version} - test - - - - org.apache.lucene - lucene-core - - + commons-io + commons-io + - org.apache.logging.log4j - log4j-slf4j-impl - 2.17.0 - test + org.elasticsearch.client + elasticsearch-rest-high-level-client - org.apache.logging.log4j log4j-api - 2.17.0 compile true org.apache.logging.log4j log4j-core - 2.17.0 compile @@ -149,7 +108,6 @@ org.apache.logging.log4j log4j-1.2-api - 2.17.0 compile @@ -163,43 +121,40 @@ true - - com.fasterxml.jackson.core - jackson-databind - - - - org.apache.commons - commons-lang3 + junit + junit + test - commons-io - commons-io + org.elasticsearch.test + framework + test - - org.apache.unomi - unomi-metrics - ${project.version} - provided + org.elasticsearch.plugin + transport-netty4-client + test - - junit - junit + org.apache.lucene + lucene-test-framework test + + + + org.apache.lucene + lucene-core + + - - org.apache.unomi - unomi-scripting - ${project.version} - provided + org.apache.logging.log4j + log4j-slf4j-impl + test - diff --git a/persistence-elasticsearch/pom.xml b/persistence-elasticsearch/pom.xml index 01aa88967..0ac011e47 100644 --- a/persistence-elasticsearch/pom.xml +++ b/persistence-elasticsearch/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-persistence-elasticsearch diff --git a/persistence-spi/pom.xml b/persistence-spi/pom.xml index 0129f2788..7f5e30217 100644 --- a/persistence-spi/pom.xml +++ b/persistence-spi/pom.xml @@ -22,11 +22,11 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-persistence-spi - Apache Unomi :: Persistence :: SPI (Service Provider Interface) + Apache Unomi :: Persistence :: SPI Service Provider interface for the Apache Unomi Context Server bundle @@ -34,7 +34,6 @@ org.apache.unomi unomi-api - ${project.version} provided @@ -55,19 +54,23 @@ commons-beanutils commons-beanutils + provided + + + commons-collections + commons-collections + provided junit junit - 4.11 test org.slf4j slf4j-simple - 1.7.36 test diff --git a/plugins/baseplugin/pom.xml b/plugins/baseplugin/pom.xml index b4f260369..cbe8c37f3 100644 --- a/plugins/baseplugin/pom.xml +++ b/plugins/baseplugin/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-base Apache Unomi :: Plugins :: Base Actions and Conditions Base actions and conditions plugin for the Apache Unomi Context Server @@ -32,77 +30,69 @@ - javax.servlet - javax.servlet-api + org.apache.unomi + unomi-persistence-elasticsearch-core provided - jakarta.xml.bind - jakarta.xml.bind-api - 2.3.2 + org.apache.unomi + unomi-persistence-spi provided - commons-beanutils - commons-beanutils - - - org.apache.commons - commons-lang3 + org.apache.unomi + unomi-common + provided - joda-time - joda-time + org.apache.unomi + unomi-scripting provided + - org.apache.unomi - unomi-persistence-elasticsearch-core - ${project.version} + javax.servlet + javax.servlet-api provided - org.apache.unomi - unomi-persistence-spi - ${project.version} + jakarta.xml.bind + jakarta.xml.bind-api provided + - ognl - ognl + commons-beanutils + commons-beanutils + provided - com.fasterxml.jackson.core - jackson-databind + org.apache.commons + commons-lang3 provided - org.apache.unomi - unomi-common - ${project.version} + joda-time + joda-time provided - org.apache.unomi - unomi-scripting - ${project.version} + com.fasterxml.jackson.core + jackson-databind provided - + junit junit - 4.11 test org.slf4j slf4j-simple - 1.7.36 test - diff --git a/plugins/hover-event/pom.xml b/plugins/hover-event/pom.xml index 15bbe3fea..2e28ef492 100644 --- a/plugins/hover-event/pom.xml +++ b/plugins/hover-event/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-hover-event Apache Unomi :: Plugins :: Hover event support Mouse hover event support plugin for the Apache Unomi Context Server @@ -34,9 +32,24 @@ org.apache.unomi unomi-persistence-elasticsearch-core - ${project.version} provided + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + + diff --git a/plugins/kafka-injector/pom.xml b/plugins/kafka-injector/pom.xml index 59660ab60..47ce8f472 100644 --- a/plugins/kafka-injector/pom.xml +++ b/plugins/kafka-injector/pom.xml @@ -16,13 +16,11 @@ --> 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - kafka-extension Apache Unomi :: Plugins :: Kafka Injector Apache Kafka injector for the Apache Unomi Context server @@ -30,40 +28,46 @@ - org.apache.kafka - kafka-clients - 2.2.1 + org.apache.unomi + unomi-api + ${project.version} + - org.slf4j - slf4j-api - 1.7.36 + org.osgi + osgi.core + provided - org.apache.unomi - unomi-api - ${project.version} + org.osgi + org.osgi.service.component + provided + + org.osgi + org.osgi.service.component.annotations + provided + + com.fasterxml.jackson.core jackson-core - ${version.jackson.core} com.fasterxml.jackson.core jackson-databind - ${version.jackson.databind} + - org.osgi - osgi.core - 6.0.0 + org.apache.kafka + kafka-clients - org.osgi - osgi.cmpn - 6.0.0 + org.slf4j + slf4j-api + provided + diff --git a/plugins/mail/pom.xml b/plugins/mail/pom.xml index 40c931225..cbd324c27 100644 --- a/plugins/mail/pom.xml +++ b/plugins/mail/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-mail Apache Unomi :: Plugins :: Mail notifications actions Mail notification action plugin for the Apache Unomi Context Server @@ -34,9 +32,9 @@ org.apache.unomi unomi-persistence-spi - ${project.version} provided + org.apache.commons commons-email diff --git a/plugins/optimization-test/pom.xml b/plugins/optimization-test/pom.xml index e5def900e..fde8cfa23 100644 --- a/plugins/optimization-test/pom.xml +++ b/plugins/optimization-test/pom.xml @@ -18,16 +18,30 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-optimization-test Apache Unomi :: Plugins :: Rules and Actions for optimization tests (A/B testing) Optimization testing (A/B testing) plugin for the Apache Unomi Context Server bundle + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + + diff --git a/plugins/past-event/pom.xml b/plugins/past-event/pom.xml index c22a797b4..0d7c84233 100644 --- a/plugins/past-event/pom.xml +++ b/plugins/past-event/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-past-event Apache Unomi :: Plugins :: Conditions based on past events Past event conditions plugin for the Apache Unomi Context Server @@ -34,16 +32,29 @@ org.apache.unomi unomi-persistence-elasticsearch-core - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + diff --git a/plugins/pom.xml b/plugins/pom.xml index c810f306e..d88748ff5 100644 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins Apache Unomi :: Plugins Apache Unomi Context Server plugins @@ -45,10 +43,8 @@ org.apache.unomi unomi-api - ${project.version} provided - diff --git a/plugins/request/pom.xml b/plugins/request/pom.xml index 0e1ed3874..926dd4b1f 100644 --- a/plugins/request/pom.xml +++ b/plugins/request/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-request Apache Unomi :: Plugins :: Request reading actions Request reading actions plugin for the Apache Unomi Context Server @@ -36,49 +34,43 @@ javax.servlet-api provided + + jakarta.annotation + jakarta.annotation-api + provided + com.maxmind.geoip2 geoip2 - 0.9.0 - nl.basjes.parse.useragent yauaa - 7.13.0 junit junit - 4.13.1 test org.apache.logging.log4j log4j-api - 2.19.0 test org.apache.logging.log4j log4j-core - 2.19.0 test org.apache.logging.log4j log4j-slf4j-impl - 2.19.0 test - - javax.annotation - javax.annotation-api - 1.3.2 - + diff --git a/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java b/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java index a14edbfa8..aa55033a2 100644 --- a/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java +++ b/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java @@ -31,7 +31,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; diff --git a/plugins/tracked-event/pom.xml b/plugins/tracked-event/pom.xml index fb9279d18..81ca054ec 100644 --- a/plugins/tracked-event/pom.xml +++ b/plugins/tracked-event/pom.xml @@ -18,13 +18,11 @@ 4.0.0 - org.apache.unomi unomi-plugins - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-plugins-tracked-event Apache Unomi :: Plugins :: Conditions for events that need to be tracked Tracked event conditions plugin for the Apache Unomi Context Server @@ -34,16 +32,29 @@ org.apache.unomi unomi-persistence-elasticsearch-core - ${project.version} provided org.apache.unomi unomi-persistence-spi - ${project.version} provided + + + + org.apache.felix + maven-bundle-plugin + true + true + + + <_dsannotations>* + + + + + diff --git a/pom.xml b/pom.xml index bcef0de13..895f981d3 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.apache apache - 23 + 29 @@ -35,7 +35,7 @@ event tracking server. https://unomi.apache.org - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT pom @@ -58,52 +58,97 @@ 2014 - 4.2.15 UTF-8 - 3.3.11 - 2.11.4 - 2.11.4 - 2.11.4 - 4.2.15 - 4.13.5 - 7.4.2 - 7.11.0 - 8.2.0 - 4.0.21 - 1.4.0 - 1.1.0.Final - 2.16.1 - 3.3.2 - 1.9.4 - 3.2.2 - 1.3.3 - 1.7.36 - 2.12.7 - 4.3.4 - 1.9 - 20240303 + UTF-8 11 - ${java.version} ${java.version} - UTF-8 - - 2.11.0_1 - 2.9.0 - 3.0.2_1 - 2.7.2_3 - 2.7.2_1 - 4.5.0 + 4.4.7 + 7.4.2 + 7.11.0 + 1.1.0.Final + 3.18.0 + 2.20.0 + 1.9.0 + 1.11.0 + 3.2.2 + 2.18.2 + 2.5.2.Final + 2.4 + 3.10 + 2.19.0 + 8.2.0 + 3.12.8 + 2.4.0 + 2.12.7 + 4.3.0 + 1.3 + 1.2 + 1.10 + 1.10 + 16.0.1 + 16.0.1 + 20250517 + 3.0.2 + 3.0.0 + 5.27.1 + 3.6.5 + 2.1 + 1.1.3 + 4.0.21 4.5.14 4.4.16 + 4.13.2 + 3.4.3 + 2.2.1 + 4.3.4 + 1.6.0 + 1.3.1 + 0.9.0 + 4.7.1 + 2.2.0 + 1.0.2 + 7.31.0 + 4.0.9 + 5.0.13 + 3.10.0 + 2.2.19 + 14.0 + 8.0 + 1.0 + 9.4.57.v20241219 + 2.0.0 + 2.1.3 + 1.1 + 1.14 + 3.2.0 + 1.6.0 + javax.servlet + javax.servlet-api + 3.1.0 + + 5.1.9 + 3.14.0 + 3.1.0 + 3.6.0 + 3.11.2 + 3.5.3 + 3.5.2 + 3.3.1 + 3.7.1 + 3.8.1 + 3.2.1 + 9.0.9 + 3.21.0 + 0.16.1 + 1.0-m5.1 v16.20.2 v1.22.19 -Papache-release,integration-tests - @@ -277,6 +322,17 @@ Yupiik https://www.yupiik.com + + jayblanc + Jérôme Blanchard + jblanchard@jahia.com + +2 + + committer + + Jahia + https://www.jahia.com + @@ -679,178 +735,424 @@ + + org.apache.karaf + karaf-bom + ${karaf.version} + pom + import + + org.osgi - osgi.core - 6.0.0 - provided + org.osgi.service.metatype.annotations + 1.4.1 org.osgi - osgi.cmpn - 6.0.0 - provided + org.osgi.service.useradmin + 1.1.1 + + + org.osgi + osgi.enterprise + 7.0.0 - javax.servlet - javax.servlet-api - 3.0.1 + org.apache.karaf.cellar + apache-karaf-cellar + features + ${karaf.cellar.version} + xml + + + org.apache.karaf.cellar + org.apache.karaf.cellar.core + ${karaf.cellar.version} + + + org.apache.karaf.cellar + org.apache.karaf.cellar.config + ${karaf.cellar.version} + + + org.apache.karaf.jaas + org.apache.karaf.jaas.boot + ${karaf.version} - - org.apache.cxf - cxf-rt-frontend-jaxws - ${cxf.version} + org.apache.unomi + unomi-api + ${project.version} - org.apache.cxf - cxf-rt-frontend-jaxrs - ${cxf.version} + org.apache.unomi + unomi-common + ${project.version} - org.apache.cxf - cxf-rt-transports-http - ${cxf.version} + org.apache.unomi + unomi-metrics + ${project.version} - org.apache.cxf - cxf-rt-rs-security-cors - ${cxf.version} + org.apache.unomi + unomi-scripting + ${project.version} - - org.apache.cxf.karaf - apache-cxf - ${cxf.version} - features - xml - runtime + org.apache.unomi + unomi-persistence-spi + ${project.version} - - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${version.jackson.core} + org.apache.unomi + unomi-persistence-elasticsearch-core + ${project.version} - com.fasterxml.jackson.core - jackson-core - ${version.jackson.core} - provided + org.apache.unomi + unomi-json-schema-services + ${project.version} - com.fasterxml.jackson.core - jackson-databind - ${version.jackson.databind} - provided + org.apache.unomi + unomi-json-schema-rest + ${project.version} - com.fasterxml.jackson.module - jackson-module-jaxb-annotations - ${version.jackson.jaxb} - provided + org.apache.unomi + unomi-rest + ${project.version} - com.fasterxml.jackson.core - jackson-annotations - ${version.jackson.core} - provided + org.apache.unomi + cxs-geonames-services + ${project.version} + + + org.apache.unomi + cxs-geonames-rest + ${project.version} + + + org.apache.unomi + cxs-privacy-extension-services + ${project.version} + + + org.apache.unomi + cxs-privacy-extension-rest + ${project.version} + + + org.apache.unomi + cxs-lists-extension-services + ${project.version} + + + org.apache.unomi + cxs-lists-extension-actions + ${project.version} + + + org.apache.unomi + cxs-lists-extension-rest + ${project.version} + + + org.apache.unomi + unomi-services + ${project.version} + + + org.apache.unomi + unomi-wab + ${project.version} + + + org.apache.unomi + unomi-web-tracker-wab + ${project.version} + + + org.apache.unomi + unomi-lifecycle-watcher + ${project.version} + + + org.apache.unomi + shell-commands + ${project.version} + + + org.apache.unomi + shell-dev-commands + ${project.version} + + + org.apache.unomi + unomi-weather-update-core + ${project.version} + + + org.apache.unomi + unomi-salesforce-connector-services + ${project.version} + + + org.apache.unomi + unomi-salesforce-connector-rest + ${project.version} + + + org.apache.unomi + unomi-salesforce-connector-actions + ${project.version} + + + org.apache.unomi + unomi-router-api + ${project.version} + + + org.apache.unomi + unomi-router-core + ${project.version} + + + org.apache.unomi + unomi-router-service + ${project.version} + + + org.apache.unomi + unomi-router-rest + ${project.version} + + + org.apache.unomi + unomi-groovy-actions-services + ${project.version} + + + org.apache.unomi + cdp-graphql-api-impl + ${project.version} + + + org.apache.unomi + graphql-providers-sample + ${project.version} + + + org.apache.unomi + unomi-plugins-base + ${project.version} + + + org.apache.unomi + unomi-plugins-request + ${project.version} + + + org.apache.unomi + unomi-plugins-mail + ${project.version} + + + org.apache.unomi + unomi-plugins-optimization-test + ${project.version} + + + + javax.validation + validation-api + ${javax-validation.version} + + + jakarta.annotation + jakarta.annotation-api + ${jakarta-annotation-api.version} + + + javax.ws.rs + javax.ws.rs-api + ${rs-api.version} - - + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + commons-io commons-io - ${apache.commons.io.version} + ${commons-io.version} org.apache.commons - commons-lang3 - ${apache.commons.lang3.version} + commons-csv + ${commons-csv.version} commons-beanutils commons-beanutils - ${apache.commons.beanutils.version} + ${commons-beanutils.version} commons-collections commons-collections - ${apache.commons.collections.version} + ${commons-collections.version} org.apache.commons commons-email - ${apache.commons.email.version} - + ${commons-email.version} + + + commons-net + commons-net + ${commons-net.version} + + + commons-fileupload + commons-fileupload + ${commons-fileupload.version} - - - org.apache.karaf.features - framework - ${version.karaf} - kar + org.elasticsearch.client + elasticsearch-rest-high-level-client + ${elasticsearch.version} - org.apache.karaf.features + org.elasticsearch.test framework - features - ${version.karaf} - xml - runtime + ${elasticsearch.version} - org.apache.karaf.features - standard - features - ${version.karaf} - xml + org.elasticsearch.plugin + transport-netty4-client + ${elasticsearch.version} + - org.apache.karaf.features - spring - features - ${version.karaf} - xml - runtime + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + ${geronimo-ws.version} + - org.apache.karaf.features - enterprise - features - ${version.karaf} - xml - runtime + org.apache.cxf + cxf-rt-frontend-jaxws + ${cxf.version} + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf.version} + + + org.apache.cxf + cxf-rt-rs-service-description-openapi-v3 + ${cxf.version} + + + org.apache.cxf + cxf-rt-features-metrics + ${cxf.version} + + + org.apache.cxf + cxf-rt-features-logging + ${cxf.version} + + + org.apache.cxf + cxf-rt-transports-http + ${cxf.version} + + + org.apache.cxf + cxf-rt-rs-security-cors + ${cxf.version} - - - org.ops4j.pax.web - pax-web-features - 3.1.0 - features - xml + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson.version} - org.ops4j.pax.web - pax-web-api - 3.1.0 - provided + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + ${jackson.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-base + ${jackson.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson.version} - org.slf4j - slf4j-api - ${slf4j.version} - provided + org.apache.lucene + lucene-test-framework + ${lucene.version} + + + org.apache.logging.log4j + log4j-api + ${log4j.version} + + + org.apache.logging.log4j + log4j-core + ${log4j.version} + + + org.apache.logging.log4j + log4j-1.2-api + ${log4j.version} + + + org.apache.logging.log4j + log4j-slf4j-impl + ${log4j.version} + + + org.apache.httpcomponents + httpcore-osgi + ${httpcore-osgi.version} org.apache.httpcomponents @@ -864,71 +1166,99 @@ bundle - commons-codec - commons-codec - 1.17.0 + org.apache.kafka + kafka-clients + ${kafka-client.version} - org.apache.httpcomponents - httpcore-osgi - ${httpcore-osgi.version} + org.mvel + mvel2 + ${mvel2.version} - - - org.ops4j.pax.exam - pax-exam-container-karaf - ${version.pax.exam} - test + ognl + ognl + ${ognl.version} - org.ops4j.pax.exam - pax-exam-junit4 - ${version.pax.exam} - test + org.yaml + snakeyaml + ${snakeyaml.version} - org.ops4j.pax.exam - pax-exam - ${version.pax.exam} - test + com.opencsv + opencsv + ${opencsv.version} - org.ops4j.pax.url - pax-url-aether - 2.6.14 - test + com.hazelcast + hazelcast-all + ${hazelcast.version} - - javax.inject - javax.inject - 1 - test + net.jodah + failsafe + ${failsafe.version} - - - javax.validation - validation-api - ${bean.validation.version} - provided + joda-time + joda-time + ${joda-time.version} - junit - junit - 4.13.2 - test + com.github.seancfoley + ipaddress + ${ipaddress.version} - joda-time - joda-time - ${joda-time.version} + com.github.java-json-tools + btf + ${btf.version} - ognl - ognl - 3.4.3 + com.github.java-json-tools + msg-simple + ${msg-simple.version} + + + com.github.java-json-tools + json-patch + ${json-patch.version} + + + com.github.java-json-tools + jackson-coreutils + ${jackson-coreutils.version} + + + com.google.guava + guava + ${guava.version} + + + org.json + json + ${org-json.version} + + + com.google.code.findbugs + jsr305 + ${jsr305.version} + + + org.webjars + swagger-ui + ${swagger-ui.version} + + + org.apache.groovy + groovy + ${groovy.version} + + + org.apache.groovy + groovy-json + ${groovy.version} org.antlr @@ -936,32 +1266,127 @@ ${st4.version} - org.apache.geronimo.specs - geronimo-jcdi_1.0_spec - 1.0 - provided + com.maxmind.geoip2 + geoip2 + ${geoip2.version} - org.apache.geronimo.specs - geronimo-atinject_1.0_spec - 1.0 - provided + nl.basjes.parse.useragent + yauaa + ${yauaa.version} - org.apache.geronimo.specs - geronimo-annotation_1.1_spec - 1.0.1 - provided + org.cometd.java + bayeux-api + ${bayeux-api.version} - org.mvel - mvel2 - 2.5.2.Final + org.cometd.java + cometd-java-client-common + ${comet-java-client.version} - org.json - json - ${org.json.version} + org.cometd.java + cometd-java-client-http-jetty + ${comet-java-client.version} + + + io.reactivex.rxjava2 + rxjava + ${reactivex.version} + + + org.antlr + antlr4-runtime + ${antlr4.version} + + + com.graphql-java + java-dataloader + ${java-dataloader.version} + + + org.reactivestreams + reactive-streams + ${reactive-stream.version} + + + org.checkerframework + checker-compat-qual + ${checker-compat-qual.version} + + + com.google.errorprone + error_prone_annotations + ${error_prone_annotations.version} + + + com.google.j2objc + j2objc-annotations + ${j2objc-annotations.version} + + + org.codehaus.mojo + animal-sniffer-annotations + ${animal-sniffer-annotations.version} + + + com.squareup.okhttp3 + okhttp + ${okhttp.version} + + + com.squareup.okio + okio + ${okio.version} + + + + com.graphql-java + graphql-java + ${graphql.java.version} + + + io.github.graphql-java + graphql-java-annotations + ${graphql.java.annotations.version} + + + com.graphql-java + graphql-java-extended-scalars + ${graphql.java.extended.scalars.version} + + + + org.eclipse.jetty + jetty-client + ${jetty.version} + + + org.eclipse.jetty + jetty-http + ${jetty.version} + + + org.eclipse.jetty + jetty-io + ${jetty.version} + + + org.eclipse.jetty + jetty-util + ${jetty.version} + + + org.eclipse.jetty.websocket + websocket-server + ${jetty.version} + + + + junit + junit + ${junit.version} @@ -969,40 +1394,31 @@ api common - metrics - scripting persistence-spi + scripting + metrics lifecycle-watcher persistence-elasticsearch services + manual + wab rest graphql - wab plugins extensions tools - manual - kar samples + kar package - - - org.slf4j - slf4j-api - 1.7.36 - provided - - - org.apache.felix maven-bundle-plugin - 5.1.1 + ${maven-bundle.plugin.version} true @@ -1011,10 +1427,15 @@ + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler.plugin.version} + org.apache.maven.plugins maven-release-plugin - 2.5.3 + ${maven-release.plugin.version} false true @@ -1026,54 +1447,33 @@ org.codehaus.mojo build-helper-maven-plugin - 1.10 + ${build-helper.plugin.version} org.apache.karaf.tooling karaf-maven-plugin - ${version.karaf} + ${karaf.version} true org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 - - - - org.eclipse.jetty - jetty-client - 7.4.4.v20110707 - - - org.eclipse.jetty - jetty-util - 7.4.4.v20110707 - - - - - - org.apache.servicemix.tooling - depends-maven-plugin - 1.4.0 + ${maven-javadoc.plugin.version} org.apache.maven.plugins maven-surefire-plugin - - 2.18.1 + ${maven-surefire.plugin.version} org.apache.maven.plugins maven-failsafe-plugin - - 2.18.1 + ${maven-failsafe.plugin.version} org.apache.maven.plugins maven-source-plugin - 2.1.2 + ${maven-source.plugin.version} attach-sources @@ -1085,22 +1485,22 @@ maven-assembly-plugin - 2.3 + ${maven-assembly.plugin.version} org.apache.maven.plugins maven-dependency-plugin - 2.10 + ${maven-dependency.plugin.version} org.apache.maven.plugins maven-scm-publish-plugin - 3.0.0 + ${maven-scm-publish.plugin.version} org.owasp dependency-check-maven - 5.0.0 + ${dependency-check.plugin.version} @@ -1108,7 +1508,6 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 org.apache.felix @@ -1118,30 +1517,17 @@ org.apache.maven.plugins maven-site-plugin - 3.4 - - - lt.velykis.maven.skins - reflow-velocity-tools - 1.1.1 - - - - org.apache.velocity - velocity - 1.7 - - + ${maven-site.plugin.version} org.apache.rat apache-rat-plugin - 0.11 + ${apache-rat.plugin.version} external.atlassian.jgitflow jgitflow-maven-plugin - 1.0-m5.1 + ${jgitflow.plugin.version} production @@ -1159,20 +1545,5 @@ - - - - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 2.9 - - false - - - - - diff --git a/rest/pom.xml b/rest/pom.xml index fc856dbcd..f026b551e 100644 --- a/rest/pom.xml +++ b/rest/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-rest @@ -34,30 +34,32 @@ org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi unomi-json-schema-services - ${project.version} provided - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - ${version.jackson.core} + org.apache.unomi + unomi-persistence-spi provided + org.osgi osgi.core provided - org.osgi - osgi.cmpn + org.osgi.service.component + provided + + + org.osgi + org.osgi.service.component.annotations provided @@ -66,20 +68,44 @@ javax.servlet-api provided + + javax.validation + validation-api + + + javax.ws.rs + javax.ws.rs-api + + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + - org.apache.cxf - cxf-rt-frontend-jaxws + org.apache.commons + commons-lang3 provided - org.apache.cxf - cxf-rt-frontend-jaxrs + commons-beanutils + commons-beanutils provided + - org.apache.cxf - cxf-rt-transports-http + com.opencsv + opencsv + + + + org.apache.karaf.jaas + org.apache.karaf.jaas.boot + provided + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml provided @@ -96,59 +122,58 @@ jackson-annotations provided + - org.apache.unomi - unomi-persistence-spi - ${project.version} + org.apache.cxf + cxf-rt-frontend-jaxws provided - - commons-lang - commons-lang - 2.6 - org.apache.cxf - cxf-rt-rs-service-description-openapi-v3 - ${cxf.version} + cxf-rt-frontend-jaxrs provided org.apache.cxf - cxf-rt-features-metrics - ${cxf.version} + cxf-rt-transports-http provided org.apache.cxf - cxf-rt-features-logging - ${cxf.version} + cxf-rt-rs-service-description-openapi-v3 provided org.apache.cxf - cxf-rt-rs-security-cors + cxf-rt-features-metrics provided - com.opencsv - opencsv - 3.10 - - - commons-beanutils - commons-beanutils - - - org.apache.karaf.jaas - org.apache.karaf.jaas.boot - ${version.karaf} + org.apache.cxf + cxf-rt-features-logging provided - javax.validation - validation-api + org.apache.cxf + cxf-rt-rs-security-cors provided + + + + + org.apache.felix + maven-bundle-plugin + true + + + + * + + + + + +
diff --git a/rest/src/main/java/org/apache/unomi/rest/authentication/AuthenticationFilter.java b/rest/src/main/java/org/apache/unomi/rest/authentication/AuthenticationFilter.java index 80fe76a81..119a556bd 100644 --- a/rest/src/main/java/org/apache/unomi/rest/authentication/AuthenticationFilter.java +++ b/rest/src/main/java/org/apache/unomi/rest/authentication/AuthenticationFilter.java @@ -24,7 +24,7 @@ import org.apache.karaf.jaas.boot.principal.RolePrincipal; import org.apache.karaf.jaas.boot.principal.UserPrincipal; -import javax.annotation.Priority; +import jakarta.annotation.Priority; import javax.security.auth.Subject; import javax.ws.rs.Priorities; import javax.ws.rs.container.ContainerRequestContext; @@ -96,4 +96,4 @@ private boolean isPublicPath(ContainerRequestContext requestContext) { String currentPath = requestContext.getMethod() + " " + requestContext.getUriInfo().getPath(); return restAuthenticationConfig.getPublicPathPatterns().stream().anyMatch(pattern -> pattern.matcher(currentPath).matches()); } -} \ No newline at end of file +} diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java index 2c9d040b9..c0b641856 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java @@ -17,7 +17,7 @@ package org.apache.unomi.rest.endpoints; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.cxf.rs.security.cors.CrossOriginResourceSharing; import org.apache.unomi.api.*; import org.apache.unomi.api.conditions.Condition; diff --git a/rest/src/main/java/org/apache/unomi/rest/exception/RuntimeExceptionMapper.java b/rest/src/main/java/org/apache/unomi/rest/exception/RuntimeExceptionMapper.java index 69cb70813..c505d57d4 100644 --- a/rest/src/main/java/org/apache/unomi/rest/exception/RuntimeExceptionMapper.java +++ b/rest/src/main/java/org/apache/unomi/rest/exception/RuntimeExceptionMapper.java @@ -16,7 +16,7 @@ */ package org.apache.unomi.rest.exception; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.osgi.service.component.annotations.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/samples/graphql-providers-feature/pom.xml b/samples/graphql-providers-feature/pom.xml index 7a6475aaf..79748878d 100644 --- a/samples/graphql-providers-feature/pom.xml +++ b/samples/graphql-providers-feature/pom.xml @@ -17,35 +17,31 @@ --> + 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - graphql-providers-sample-feature Apache Unomi :: Samples :: Graphql Providers :: Karaf Feature This is a simple Apache Unomi plugin. - 4.0.0 - feature + pom org.apache.unomi unomi-api - ${project.version} compile org.apache.unomi cdp-graphql-api-impl - ${project.version} compile org.apache.unomi graphql-providers-sample - ${project.version} compile @@ -61,13 +57,23 @@ org.apache.karaf.tooling karaf-maven-plugin - ${version.karaf} + ${karaf.version} true 80 true true + true + + + generate-features + + features-generate-descriptor + + compile + + diff --git a/samples/graphql-providers/pom.xml b/samples/graphql-providers/pom.xml index 0d9fc89b2..7ded5e38b 100644 --- a/samples/graphql-providers/pom.xml +++ b/samples/graphql-providers/pom.xml @@ -17,47 +17,44 @@ --> + 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - graphql-providers-sample Apache Unomi :: Samples :: Graphql Providers This is a simple Apache Unomi plugin. - 4.0.0 bundle org.apache.unomi unomi-api - ${project.version} provided org.apache.unomi cdp-graphql-api-impl - ${project.version} - provided - - - io.github.graphql-java - graphql-java-annotations - ${graphql.java.annotations.version} provided + org.osgi osgi.enterprise - 6.0.0 provided org.osgi osgi.core - 6.0.0 + provided + + + + io.github.graphql-java + graphql-java-annotations + ${graphql.java.annotations.version} provided diff --git a/samples/groovy-actions/pom.xml b/samples/groovy-actions/pom.xml index c9f07a5d1..8770b0606 100644 --- a/samples/groovy-actions/pom.xml +++ b/samples/groovy-actions/pom.xml @@ -19,11 +19,10 @@ 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - test-groovy-action-sample Apache Unomi :: Samples :: Test Groovy Action bundle @@ -33,7 +32,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git a/samples/login-integration/pom.xml b/samples/login-integration/pom.xml index 5dde3922d..bbf5a1a45 100644 --- a/samples/login-integration/pom.xml +++ b/samples/login-integration/pom.xml @@ -19,11 +19,10 @@ 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - login-integration-sample Apache Unomi :: Samples :: External Login plugin bundle @@ -33,7 +32,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git a/samples/pom.xml b/samples/pom.xml index 2ae966fd2..9c6c1c720 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -16,20 +16,16 @@ ~ limitations under the License. --> + 4.0.0 unomi-root org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - 4.0.0 - - - 8.0 - - samples Apache Unomi :: Samples pom + tweet-button-plugin login-integration @@ -38,5 +34,4 @@ graphql-providers graphql-providers-feature - diff --git a/samples/trainingplugin/pom.xml b/samples/trainingplugin/pom.xml index 8b648f1e2..f7dcc2e14 100644 --- a/samples/trainingplugin/pom.xml +++ b/samples/trainingplugin/pom.xml @@ -16,22 +16,21 @@ ~ limitations under the License. --> + 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT training-plugin Apache Unomi :: Samples :: Training plugin bundle This is a simple Apache Unomi plugin. - 4.0.0 org.apache.unomi unomi-api - 2.7.0-SNAPSHOT provided @@ -43,7 +42,6 @@ true - diff --git a/samples/tweet-button-plugin/pom.xml b/samples/tweet-button-plugin/pom.xml index 6664bb79b..26281aad9 100644 --- a/samples/tweet-button-plugin/pom.xml +++ b/samples/tweet-button-plugin/pom.xml @@ -19,11 +19,10 @@ 4.0.0 - samples org.apache.unomi - 2.7.0-SNAPSHOT + samples + 3.0.0-SNAPSHOT - tweet-button-plugin Apache Unomi :: Samples :: Tweet Button plugin bundle @@ -33,7 +32,6 @@ org.apache.unomi unomi-api - ${project.version} provided diff --git a/scripting/pom.xml b/scripting/pom.xml index a4569828a..64d684853 100644 --- a/scripting/pom.xml +++ b/scripting/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-scripting @@ -32,47 +32,44 @@ - junit - junit - test + org.osgi + osgi.core + provided + + + org.slf4j + slf4j-api + provided + + + com.fasterxml.jackson.core + jackson-databind + provided - org.mvel mvel2 - org.apache.commons commons-lang3 + + junit + junit + test + org.apache.unomi unomi-api - 2.7.0-SNAPSHOT test - org.slf4j slf4j-simple - 1.7.36 test - - - org.osgi - osgi.core - provided - - - - com.fasterxml.jackson.core - jackson-databind - provided - - diff --git a/services/pom.xml b/services/pom.xml index c9fb46411..17632b115 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-services @@ -34,62 +34,47 @@ org.apache.unomi unomi-api - ${project.version} provided - - org.osgi - osgi.core + org.apache.unomi + unomi-metrics provided - - org.osgi - osgi.cmpn + org.apache.unomi + unomi-common provided - org.apache.unomi unomi-persistence-spi - ${project.version} provided org.apache.unomi - unomi-lifecycle-watcher - ${project.version} + unomi-scripting provided - javax.servlet - javax.servlet-api + org.osgi + osgi.core provided - - org.apache.cxf - cxf-rt-frontend-jaxrs + org.osgi + org.osgi.service.cm provided - org.apache.cxf - cxf-rt-transports-http + javax.servlet + javax.servlet-api provided - - - net.jodah - failsafe - 2.4.0 - - - com.github.fge + com.github.java-json-tools json-patch - ${json-patch.version} provided @@ -102,7 +87,6 @@ jackson-databind provided - com.fasterxml.jackson.module jackson-module-jaxb-annotations @@ -112,52 +96,33 @@ org.apache.commons commons-lang3 + provided commons-beanutils commons-beanutils - - - - org.apache.unomi - unomi-metrics - ${project.version} - provided - - - - org.apache.unomi - unomi-common - ${project.version} provided - com.github.seancfoley ipaddress - 4.3.0 + + + net.jodah + failsafe - + junit junit - 4.11 test org.slf4j slf4j-simple - 1.7.36 test - - - org.apache.unomi - unomi-scripting - ${project.version} - provided - diff --git a/setenv.sh b/setenv.sh index 8a14e8d34..f826319e6 100755 --- a/setenv.sh +++ b/setenv.sh @@ -19,6 +19,6 @@ ################################################################################ export UNOMI_VERSION=`mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -Ev '(^\[|Download\w+:)'` echo Detected project version=$UNOMI_VERSION -export KARAF_VERSION=3.0.2 +export KARAF_VERSION=4.4.7 # Uncomment the following line if you need Apache Unomi to start automatically at the first start # export KARAF_OPTS="-Dunomi.autoStart=true" diff --git a/tools/pom.xml b/tools/pom.xml index 41b1b3e01..214cc119f 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -17,13 +17,11 @@ --> 4.0.0 - org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - unomi-tools Apache Unomi :: Tools Apache Unomi Context Server tools diff --git a/tools/shell-commands/pom.xml b/tools/shell-commands/pom.xml index 707c9f806..c1fef34c5 100644 --- a/tools/shell-commands/pom.xml +++ b/tools/shell-commands/pom.xml @@ -17,13 +17,11 @@ --> 4.0.0 - unomi-tools org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - shell-commands Apache Unomi :: Tools :: Shell commands Provides the shell commands to interact with Apache Unomi Context Server @@ -33,10 +31,8 @@ org.apache.karaf.shell org.apache.karaf.shell.console - ${version.karaf} provided - org.apache.httpcomponents httpclient-osgi @@ -45,68 +41,72 @@ - org.apache.commons - commons-lang3 + org.osgi + osgi.core + provided - - commons-io - commons-io + org.osgi + org.osgi.service.http provided - - org.json - json + org.osgi + org.osgi.service.useradmin + 1.1.0 provided - org.osgi - osgi.core + org.osgi.service.component provided - org.osgi - osgi.cmpn + org.osgi.service.component.annotations provided - junit - junit - 4.13.2 - test + org.apache.commons + commons-lang3 + provided - - org.apache.groovy - groovy - ${groovy.version} + commons-io + commons-io provided - - org.apache.groovy - groovy-json - ${groovy.version} + org.json + json provided - com.fasterxml.jackson.core jackson-core - ${version.jackson.core} provided - com.fasterxml.jackson.core jackson-databind - ${version.jackson.databind} provided + + + org.apache.groovy + groovy + + + org.apache.groovy + groovy-json + + + + junit + junit + test + diff --git a/tools/shell-dev-commands/pom.xml b/tools/shell-dev-commands/pom.xml index d47ab9d75..492395a15 100644 --- a/tools/shell-dev-commands/pom.xml +++ b/tools/shell-dev-commands/pom.xml @@ -17,13 +17,11 @@ --> 4.0.0 - unomi-tools org.apache.unomi - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT - shell-dev-commands Apache Unomi :: Tools :: Shell Dev commands Provides the shell developer commands to interact with Apache Unomi Context Server @@ -31,79 +29,69 @@ - org.apache.karaf.shell - org.apache.karaf.shell.console - ${version.karaf} + org.apache.unomi + unomi-api provided - - org.apache.karaf.shell - org.apache.karaf.shell.table - ${version.karaf} + org.apache.unomi + unomi-persistence-spi provided - org.apache.unomi - unomi-api - ${project.version} + unomi-common provided - com.fasterxml.jackson.core - jackson-core + org.osgi + osgi.core provided - com.fasterxml.jackson.core - jackson-databind + org.osgi + org.osgi.service.component.annotations provided - org.apache.unomi - unomi-persistence-spi - ${project.version} + org.apache.karaf.shell + org.apache.karaf.shell.console provided - - org.apache.httpcomponents - httpclient-osgi - bundle + org.apache.karaf.shell + org.apache.karaf.shell.table provided - org.apache.commons - commons-lang3 + com.fasterxml.jackson.core + jackson-core + provided - - org.osgi - osgi.core + com.fasterxml.jackson.core + jackson-databind provided - org.osgi - osgi.cmpn + org.apache.httpcomponents + httpclient-osgi + bundle provided - - org.apache.unomi - unomi-common - ${project.version} + org.apache.commons + commons-lang3 provided junit junit - 4.13.2 test diff --git a/wab/pom.xml b/wab/pom.xml index f72628870..2d399f88b 100644 --- a/wab/pom.xml +++ b/wab/pom.xml @@ -22,7 +22,7 @@ org.apache.unomi unomi-root - 2.7.0-SNAPSHOT + 3.0.0-SNAPSHOT unomi-wab @@ -31,73 +31,75 @@ bundle + + org.apache.unomi + unomi-api + provided + + + org.apache.unomi + unomi-persistence-spi + provided + + javax.servlet javax.servlet-api provided - commons-io - commons-io + com.fasterxml.jackson.core + jackson-databind + provided - org.apache.commons - commons-lang3 + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + provided - org.apache.unomi - unomi-api - ${project.version} + com.fasterxml.jackson.core + jackson-annotations provided - org.apache.unomi - unomi-persistence-spi - ${project.version} + com.fasterxml.jackson.core + jackson-core provided - - com.fasterxml.jackson.core - jackson-databind - provided + org.ops4j.pax.web + pax-web-api + provided - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - ${version.jackson.core} + commons-io + commons-io + provided + + + commons-collections + commons-collections + provided + + + + org.apache.commons + commons-lang3 provided org.yaml snakeyaml - 2.2 + provided - com.opencsv opencsv - 3.10 commons-beanutils commons-beanutils - - - - - com.fasterxml.jackson.core - jackson-annotations - provided - - - com.fasterxml.jackson.core - jackson-core - provided - - - org.ops4j.pax.web - pax-web-api provided From c6db5bfa28e8a7161f6194031507286b2c785d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Tue, 12 Aug 2025 17:02:39 +0200 Subject: [PATCH 02/30] UNOMI-876: Upgrade to Java 17 --- BUILDING | 3 +-- kar/pom.xml | 2 +- manual/src/main/asciidoc/building-and-deploying.adoc | 4 ++-- manual/src/main/asciidoc/getting-started.adoc | 6 +++--- package/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/BUILDING b/BUILDING index 55173c6d9..4362d11a3 100644 --- a/BUILDING +++ b/BUILDING @@ -21,8 +21,7 @@ Building Apache Unomi Initial Setup ------------- -1) Install J2SE 8.0 SDK (or later), which can be downloaded from - http://www.oracle.com/technetwork/java/javase/downloads/index.html +1) Install J2SE 17 SDK (or later), which can be downloaded from http://www.oracle.com/technetwork/java/javase/downloads/index.html 2) Make sure that your JAVA_HOME environment variable is set to the newly installed JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or diff --git a/kar/pom.xml b/kar/pom.xml index 22e209453..82fdbce8f 100644 --- a/kar/pom.xml +++ b/kar/pom.xml @@ -184,7 +184,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 11 + 17 framework diff --git a/manual/src/main/asciidoc/building-and-deploying.adoc b/manual/src/main/asciidoc/building-and-deploying.adoc index 3de47041f..c91c86052 100644 --- a/manual/src/main/asciidoc/building-and-deploying.adoc +++ b/manual/src/main/asciidoc/building-and-deploying.adoc @@ -16,14 +16,14 @@ ==== Initial Setup -. Install J2SE 11 SDK (or later), which can be downloaded from +. Install J2SE 17 SDK (or later), which can be downloaded from http://www.oracle.com/technetwork/java/javase/downloads/index.html[http://www.oracle.com/technetwork/java/javase/downloads/index.html] . Make sure that your JAVA_HOME environment variable is set to the newly installed JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or $JAVA_HOME$/bin (unix). -. Install Maven 3.0.3 (or later), which can be downloaded from +. Install Maven 3.9.6 (or later), which can be downloaded from http://maven.apache.org/download.html[http://maven.apache.org/download.html]. Make sure that your PATH includes the MVN_HOME/bin directory. diff --git a/manual/src/main/asciidoc/getting-started.adoc b/manual/src/main/asciidoc/getting-started.adoc index 8e16ab092..d535f2f60 100644 --- a/manual/src/main/asciidoc/getting-started.adoc +++ b/manual/src/main/asciidoc/getting-started.adoc @@ -19,13 +19,13 @@ in greater details what just happened. ==== Prerequisites This document assumes working knowledge of https://git-scm.com/[git] to be able to retrieve the code for Unomi and the example. -Additionally, you will require a working Java 11 or above install. Refer to http://www.oracle.com/technetwork/java/javase/[http://www.oracle.com/technetwork/java/javase/] for details on how to download and install Java SE 11 or greater. +Additionally, you will require a working Java 17 or above install. Refer to http://www.oracle.com/technetwork/java/javase/[http://www.oracle.com/technetwork/java/javase/] for details on how to download and install Java SE 17 or greater. ===== JDK compatibility Starting with Java 9, Oracle made some big changes to the Java platform releases. This is why Apache Unomi is focused on -supporting the Long Term Supported versions of the JDK, currently version 11. We do not test with intermediate -versions so they may or may not work properly. Currently the most tested version is version 11. +supporting the Long Term Supported versions of the JDK, currently version 17. We do not test with intermediate +versions so they may or may not work properly. Currently the most tested version is version 17. Also, as there are new licensing restrictions on JDKs provided by Oracle for production usages, Apache Unomi has also added support for OpenJDK builds. Other JDK distributions might also work but are not regularly tested so you should use diff --git a/package/pom.xml b/package/pom.xml index 8eb262e6b..f5b20c806 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -316,7 +316,7 @@ unomi-rest-ui --> - 11 + 17 diff --git a/pom.xml b/pom.xml index 895f981d3..5b2e7ce44 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ UTF-8 UTF-8 - 11 + 17 ${java.version} ${java.version} From 2fa08607b3c4ad19fbe8355740f89239f6cc3d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Tue, 12 Aug 2025 17:07:16 +0200 Subject: [PATCH 03/30] UNOMI-876: Restore unomi feature elements diff --git c/package/pom.xml i/package/pom.xml index f5b20c806..b325e8f10 100644 --- c/package/pom.xml +++ i/package/pom.xml @@ -73,16 +73,13 @@ org.apache.unomi unomi-kar - ${project.version} features xml runtime - @@ -154,7 +148,6 @@ org.apache.unomi unomi-wab - ${project.version} unomicfg cfg ${project.build.directory}/assembly/etc @@ -163,7 +156,6 @@ org.apache.unomi unomi-persistence-elasticsearch-core - ${project.version} elasticsearchcfg cfg ${project.build.directory}/assembly/etc @@ -172,7 +164,6 @@ org.apache.unomi unomi-services - ${project.version} clustercfg cfg ${project.build.directory}/assembly/etc @@ -181,17 +172,14 @@ org.apache.unomi unomi-services - ${project.version} servicescfg cfg ${project.build.directory}/assembly/etc org.apache.unomi.services.cfg - @@ -277,11 +260,9 @@ - wrapper cxf-commands @@ -310,11 +291,9 @@ aries-blueprint shell-compat unomi-kar - 17 diff --git c/pom.xml i/pom.xml index 5b2e7ce44..fe0bc5db9 100644 --- c/pom.xml +++ i/pom.xml @@ -101,7 +101,6 @@ 4.5.14 4.4.16 4.13.2 - 3.4.3 2.2.1 4.3.4 1.6.0 @@ -937,11 +936,21 @@ unomi-groovy-actions-services ${project.version} + + org.apache.unomi + unomi-groovy-actions + ${project.version} + org.apache.unomi cdp-graphql-api-impl ${project.version} + + org.apache.unomi + cdp-graphql-feature + ${project.version} + org.apache.unomi graphql-providers-sample @@ -967,6 +976,16 @@ unomi-plugins-optimization-test ${project.version} + + org.apache.unomi + unomi-kar + ${project.version} + + + org.apache.unomi + unomi-router-karaf-feature + ${project.version} + javax.validation --- package/pom.xml | 21 --------------------- pom.xml | 21 ++++++++++++++++++++- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/package/pom.xml b/package/pom.xml index f5b20c806..b325e8f10 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -73,16 +73,13 @@ org.apache.unomi unomi-kar - ${project.version} features xml runtime - @@ -154,7 +148,6 @@ org.apache.unomi unomi-wab - ${project.version} unomicfg cfg ${project.build.directory}/assembly/etc @@ -163,7 +156,6 @@ org.apache.unomi unomi-persistence-elasticsearch-core - ${project.version} elasticsearchcfg cfg ${project.build.directory}/assembly/etc @@ -172,7 +164,6 @@ org.apache.unomi unomi-services - ${project.version} clustercfg cfg ${project.build.directory}/assembly/etc @@ -181,17 +172,14 @@ org.apache.unomi unomi-services - ${project.version} servicescfg cfg ${project.build.directory}/assembly/etc org.apache.unomi.services.cfg - @@ -277,11 +260,9 @@ - wrapper cxf-commands @@ -310,11 +291,9 @@ aries-blueprint shell-compat unomi-kar - 17 diff --git a/pom.xml b/pom.xml index 5b2e7ce44..fe0bc5db9 100644 --- a/pom.xml +++ b/pom.xml @@ -101,7 +101,6 @@ 4.5.14 4.4.16 4.13.2 - 3.4.3 2.2.1 4.3.4 1.6.0 @@ -937,11 +936,21 @@ unomi-groovy-actions-services ${project.version} + + org.apache.unomi + unomi-groovy-actions + ${project.version} + org.apache.unomi cdp-graphql-api-impl ${project.version} + + org.apache.unomi + cdp-graphql-feature + ${project.version} + org.apache.unomi graphql-providers-sample @@ -967,6 +976,16 @@ unomi-plugins-optimization-test ${project.version} + + org.apache.unomi + unomi-kar + ${project.version} + + + org.apache.unomi + unomi-router-karaf-feature + ${project.version} + javax.validation From 5b2578839a36d11ee8a43c24ef2f954efffc76db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Tue, 12 Aug 2025 17:25:47 +0200 Subject: [PATCH 04/30] UNOMI-876: Remove OGNL --- .../apache/unomi/itests/ContextServletIT.java | 36 +---- .../org/apache/unomi/itests/SecurityIT.java | 59 -------- manual/src/main/asciidoc/configuration.adoc | 20 +-- .../resources/etc/custom.system.properties | 11 +- .../src/main/resources/etc/ognl-allow.json | 1 - .../src/main/resources/etc/ognl-forbid.json | 19 --- .../PropertyConditionEvaluator.java | 131 +----------------- .../PropertyConditionEvaluatorTest.java | 99 ------------- pom.xml | 13 +- .../scripting/ExpressionFilterFactory.java | 2 +- .../scripting/SecureFilteringClassLoader.java | 4 +- .../internal/ExpressionFilterFactoryImpl.java | 2 +- 12 files changed, 29 insertions(+), 368 deletions(-) delete mode 100644 package/src/main/resources/etc/ognl-allow.json delete mode 100644 package/src/main/resources/etc/ognl-forbid.json diff --git a/itests/src/test/java/org/apache/unomi/itests/ContextServletIT.java b/itests/src/test/java/org/apache/unomi/itests/ContextServletIT.java index dfaaa6641..9e6a85b3c 100644 --- a/itests/src/test/java/org/apache/unomi/itests/ContextServletIT.java +++ b/itests/src/test/java/org/apache/unomi/itests/ContextServletIT.java @@ -38,21 +38,10 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZoneOffset; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import static org.hamcrest.core.IsCollectionContaining.hasItem; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertThat; +import static org.junit.Assert.*; /** * Created by Ron Barabash on 5/4/2020. @@ -481,27 +470,6 @@ public void testCreateEventWithPropertyNameValidation_Failure() throws Exception DEFAULT_TRYING_TRIES); } - @Test - public void testOGNLVulnerability() throws Exception { - - File vulnFile = new File("target/vuln-file.txt"); - if (vulnFile.exists()) { - vulnFile.delete(); - } - String vulnFileCanonicalPath = vulnFile.getCanonicalPath(); - vulnFileCanonicalPath = vulnFileCanonicalPath.replace("\\", "\\\\"); // this is required for Windows support - - Map parameters = new HashMap<>(); - parameters.put("VULN_FILE_PATH", vulnFileCanonicalPath); - HttpPost request = new HttpPost(getFullUrl(CONTEXT_URL)); - request.setEntity( - new StringEntity(getValidatedBundleJSON("security/ognl-payload-1.json", parameters), ContentType.APPLICATION_JSON)); - TestUtils.executeContextJSONRequest(request); - - shouldBeTrueUntilEnd("Vulnerability successfully executed ! File created at " + vulnFileCanonicalPath, vulnFile::exists, - exists -> exists == Boolean.FALSE, DEFAULT_TRYING_TIMEOUT, DEFAULT_TRYING_TRIES); - } - @Test public void testMVELVulnerability() throws Exception { diff --git a/itests/src/test/java/org/apache/unomi/itests/SecurityIT.java b/itests/src/test/java/org/apache/unomi/itests/SecurityIT.java index 69f64d6d8..43edd7779 100644 --- a/itests/src/test/java/org/apache/unomi/itests/SecurityIT.java +++ b/itests/src/test/java/org/apache/unomi/itests/SecurityIT.java @@ -18,27 +18,14 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.unomi.api.ContextRequest; -import org.apache.unomi.api.conditions.Condition; -import org.apache.unomi.api.services.PersonalizationService; import org.apache.unomi.persistence.spi.CustomObjectMapper; import org.junit.Before; -import org.junit.Test; import org.junit.runner.RunWith; import org.ops4j.pax.exam.junit.PaxExam; import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy; import org.ops4j.pax.exam.spi.reactors.PerSuite; -import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.junit.Assert.assertFalse; @RunWith(PaxExam.class) @ExamReactorStrategy(PerSuite.class) @@ -53,52 +40,6 @@ public void setUp() { objectMapper = CustomObjectMapper.getObjectMapper(); } - @Test - public void testOGNLInjection() throws Exception { - ContextRequest contextRequest = new ContextRequest(); - List personalizations = new ArrayList<>(); - PersonalizationService.PersonalizationRequest personalizationRequest = new PersonalizationService.PersonalizationRequest(); - personalizationRequest.setId("vuln-test"); - personalizationRequest.setStrategy("matching-first"); - Map strategyOptions = new HashMap<>(); - strategyOptions.put("fallback", "var2"); - personalizationRequest.setStrategyOptions(strategyOptions); - List personalizationContents = new ArrayList<>(); - PersonalizationService.PersonalizedContent var1Content = new PersonalizationService.PersonalizedContent(); - var1Content.setId("var1"); - List filters = new ArrayList<>(); - PersonalizationService.Filter filter = new PersonalizationService.Filter(); - Condition condition = new Condition(); - File vulnFile = new File("target/vuln-file.txt"); - if (vulnFile.exists()) { - vulnFile.delete(); - } - condition.setConditionTypeId("profilePropertyCondition"); - condition.setParameter("propertyName", "@java.lang.Runtime@getRuntime().exec('touch " + vulnFile.getCanonicalPath() + "')"); - condition.setParameter("comparisonOperator", "equals"); - condition.setParameter("propertyValue", - "script::java.io.PrintWriter writer = new java.io.PrintWriter(new java.io.BufferedWriter(new java.io.FileWriter(\"" - + vulnFile.getCanonicalPath() + "\", true)));\nwriter.println(\"test\");\nwriter.close();"); - filter.setCondition(condition); - filters.add(filter); - var1Content.setFilters(filters); - personalizationContents.add(var1Content); - PersonalizationService.PersonalizedContent var2Content = new PersonalizationService.PersonalizedContent(); - var2Content.setId("var2"); - personalizationContents.add(var2Content); - personalizationRequest.setContents(personalizationContents); - - personalizations.add(personalizationRequest); - contextRequest.setPersonalizations(personalizations); - - contextRequest.setSessionId(SESSION_ID); - HttpPost request = new HttpPost(getFullUrl("/cxs/context.json")); - request.setEntity(new StringEntity(objectMapper.writeValueAsString(contextRequest), ContentType.create("application/json"))); - - TestUtils.RequestResponse response = executeContextJSONRequest(request, SESSION_ID); - assertFalse("Vulnerability successfully executed ! File created at " + vulnFile.getCanonicalPath(), vulnFile.exists()); - } - private TestUtils.RequestResponse executeContextJSONRequest(HttpPost request, String sessionId) throws IOException { return TestUtils.executeContextJSONRequest(request, sessionId); } diff --git a/manual/src/main/asciidoc/configuration.adoc b/manual/src/main/asciidoc/configuration.adoc index c127b247f..c10368f0e 100644 --- a/manual/src/main/asciidoc/configuration.adoc +++ b/manual/src/main/asciidoc/configuration.adoc @@ -224,9 +224,8 @@ Apache Unomi allows using different types of expressions in the following subsys - context.json filters and personalization queries - rule conditions and actions parameters -Apache Unomi uses two integrated scripting languages to provide this functionality: OGNL and MVEL. -OGNL is deprecated and is now disabled by default since 1.5.2 as it is little used (and replaced by better performing -hardcoded property lookups). MVEL is more commonly used in rule actions as in the following example: +Apache Unomi uses an integrated scripting language to provide this functionality: MVEL. +MVEL is used in rule actions as in the following example: From https://github.com/apache/unomi/blob/unomi-1.5.x/plugins/baseplugin/src/main/resources/META-INF/cxs/rules/sessionAssigned.json[https://github.com/apache/unomi/blob/unomi-1.5.x/plugins/baseplugin/src/main/resources/META-INF/cxs/rules/sessionAssigned.json]: @@ -296,10 +295,6 @@ From https://github.com/apache/unomi/blob/unomi-1.5.x/plugins/baseplugin/src/mai As we see in the above example, we use an MVEL script with the setPropertyAction to set a property value. Starting with version 1.5.2, any expression use in rules MUST be allow-listed. -OGNL was previously used wherever a parameter could be used, but MVEL could only be used with a “script::” prefix. -Starting with version 1.5.2 OGNL will no longer be allowed and is replaced by a compatible “hardcoded” property -lookup system, while MVEL requires allow-listing the scripts that are to be used. - By default, Apache Unomi comes with some built-in allowed expressions that cover all the internal uses cases. Default allowed MVEL expressions (from https://github.com/apache/unomi/blob/unomi-1.5.x/plugins/baseplugin/src/main/resources/META-INF/cxs/expressions/mvel.json[https://github.com/apache/unomi/blob/unomi-1.5.x/plugins/baseplugin/src/main/resources/META-INF/cxs/expressions/mvel.json]) : @@ -342,15 +337,15 @@ Alongside with the allow-listing technology, there are new configuration paramet [source] ---- # These parameters control the list of classes that are allowed or forbidden when executing expressions. -org.apache.unomi.scripting.allow=${env:UNOMI_ALLOW_SCRIPTING_CLASSES:-org.apache.unomi.api.Event,org.apache.unomi.api.Profile,org.apache.unomi.api.Session,org.apache.unomi.api.Item,org.apache.unomi.api.CustomItem,ognl.*,java.lang.Object,java.util.Map,java.util.HashMap,java.lang.Integer,org.mvel2.*} +org.apache.unomi.scripting.allow=${env:UNOMI_ALLOW_SCRIPTING_CLASSES:-org.apache.unomi.api.Event,org.apache.unomi.api.Profile,org.apache.unomi.api.Session,org.apache.unomi.api.Item,org.apache.unomi.api.CustomItem,java.lang.Object,java.util.Map,java.util.HashMap,java.lang.Integer,org.mvel2.*} org.apache.unomi.scripting.forbid=${env:UNOMI_FORBID_SCRIPTING_CLASSES:-} # This parameter controls the whole expression filtering system. It is not recommended to turn it off. The main reason to turn it off would be to check if it is interfering with something, but it should always be active in production. org.apache.unomi.scripting.filter.activated=${env:UNOMI_SCRIPTING_FILTER_ACTIVATED:-true} # The following parameters control the filtering using regular expressions for each scripting sub-system. -# The "collections" parameter tells the expression filtering system which configurations to expect. By default only MVEL and/or OGNL are accepted values, but in the future these might be replaced by new scripting sub-systems. -org.apache.unomi.scripting.filter.collections=${env:UNOMI_SCRIPTING_FILTER_COLLECTIONS:-mvel,ognl} +# The "collections" parameter tells the expression filtering system which configurations to expect. By default only MVEL is accepted values, but in the future these might be replaced by new scripting sub-systems. +org.apache.unomi.scripting.filter.collections=${env:UNOMI_SCRIPTING_FILTER_COLLECTIONS:-mvel} # For each scripting sub-system, there is an allow and a forbid property that reference a .json files, # you can either edit this files or reference your own file directly in the following config. @@ -364,11 +359,6 @@ org.apache.unomi.scripting.filter.collections=${env:UNOMI_SCRIPTING_FILTER_COLLE # example: ["\\Qsession.size + 1\\E"] org.apache.unomi.scripting.filter.mvel.allow=${env:UNOMI_SCRIPTING_FILTER_MVEL_ALLOW:-${karaf.etc}/mvel-allow.json} org.apache.unomi.scripting.filter.mvel.forbid=${env:UNOMI_SCRIPTING_FILTER_MVEL_FORBID:-${karaf.etc}/mvel-forbid.json} -org.apache.unomi.scripting.filter.ognl.allow=${env:UNOMI_SCRIPTING_FILTER_OGNL_ALLOW:-${karaf.etc}/ognl-allow.json} -org.apache.unomi.scripting.filter.ognl.forbid=${env:UNOMI_SCRIPTING_FILTER_OGNL_FORBID:-${karaf.etc}/ognl-forbid.json} - -# This parameter controls whether OGNL scripting is allowed in expressions. Because of security reasons it is deactivated by default. If you run into compatibility issues you could reactivate it but it is at your own risk. -org.apache.unomi.security.properties.useOGNLScripting=${env:UNOMI_SCRIPTING_USE_OGNL:-false} # This parameter controls the condition sanitizing done on the ContextServlet (/cxs/context.json). If will remove any expressions that start with "script::". It is not recommended to change this value, unless you run into compatibility issues. org.apache.unomi.security.personalization.sanitizeConditions=${env:UNOMI_SECURITY_SANITIZEPERSONALIZATIONCONDITIONS:-true} diff --git a/package/src/main/resources/etc/custom.system.properties b/package/src/main/resources/etc/custom.system.properties index dc2b120dc..0e3cd9e5c 100644 --- a/package/src/main/resources/etc/custom.system.properties +++ b/package/src/main/resources/etc/custom.system.properties @@ -25,7 +25,7 @@ ${optionals}=unomi.custom.system.properties org.apache.unomi.security.root.password=${env:UNOMI_ROOT_PASSWORD:-karaf} # These parameters control the list of classes that are allowed or forbidden when executing expressions. -org.apache.unomi.scripting.allow=${env:UNOMI_ALLOW_SCRIPTING_CLASSES:-org.apache.unomi.api.Event,org.apache.unomi.api.Profile,org.apache.unomi.api.Session,org.apache.unomi.api.Item,org.apache.unomi.api.CustomItem,ognl.*,java.lang.Object,java.util.Map,java.util.HashMap,java.lang.Integer,org.mvel2.*,java.lang.String} +org.apache.unomi.scripting.allow=${env:UNOMI_ALLOW_SCRIPTING_CLASSES:-org.apache.unomi.api.Event,org.apache.unomi.api.Profile,org.apache.unomi.api.Session,org.apache.unomi.api.Item,org.apache.unomi.api.CustomItem,java.lang.Object,java.util.Map,java.util.HashMap,java.lang.Integer,org.mvel2.*,java.lang.String} org.apache.unomi.scripting.forbid=${env:UNOMI_FORBID_SCRIPTING_CLASSES:-} # This parameter controls the whole expression filtering system. It is not recommended to turn it off. The main reason @@ -33,8 +33,8 @@ org.apache.unomi.scripting.forbid=${env:UNOMI_FORBID_SCRIPTING_CLASSES:-} org.apache.unomi.scripting.filter.activated=${env:UNOMI_SCRIPTING_FILTER_ACTIVATED:-true} # The following parameters tells the expression filtering system which configurations to expect. By default only -# MVEL and/or OGNL are accepted values, but in the future these might be replaced by new scripting sub-systems. -org.apache.unomi.scripting.filter.collections=${env:UNOMI_SCRIPTING_FILTER_COLLECTIONS:-mvel,ognl} +# MVEL are accepted values, but in the future these might be replaced by new scripting sub-systems. +org.apache.unomi.scripting.filter.collections=${env:UNOMI_SCRIPTING_FILTER_COLLECTIONS:-mvel} # For each scripting sub-system, there is an allow and a forbid property that reference a .json files, # you can either edit this files or reference your own file directly in the following config. @@ -48,12 +48,7 @@ org.apache.unomi.scripting.filter.collections=${env:UNOMI_SCRIPTING_FILTER_COLLE # example: ["\\Qsession.size + 1\\E"] org.apache.unomi.scripting.filter.mvel.allow=${env:UNOMI_SCRIPTING_FILTER_MVEL_ALLOW:-${karaf.etc}/mvel-allow.json} org.apache.unomi.scripting.filter.mvel.forbid=${env:UNOMI_SCRIPTING_FILTER_MVEL_FORBID:-${karaf.etc}/mvel-forbid.json} -org.apache.unomi.scripting.filter.ognl.allow=${env:UNOMI_SCRIPTING_FILTER_OGNL_ALLOW:-${karaf.etc}/ognl-allow.json} -org.apache.unomi.scripting.filter.ognl.forbid=${env:UNOMI_SCRIPTING_FILTER_OGNL_FORBID:-${karaf.etc}/ognl-forbid.json} -# This parameter controls whether OGNL scripting is allowed in expressions. Because of security reasons it is -# deactivated by default. If you run into compatibility issues you could reactivate it but it is at your own risk. -org.apache.unomi.security.properties.useOGNLScripting=${env:UNOMI_SCRIPTING_USE_OGNL:-false} # This parameter controls the condition sanitizing done on the ContextServlet (/context.json). If will remove any # expressions that start with "script::". It is not recommended to change this value, unless you run into compatibility issues. org.apache.unomi.security.personalization.sanitizeConditions=${env:UNOMI_SECURITY_SANITIZEPERSONALIZATIONCONDITIONS:-true} diff --git a/package/src/main/resources/etc/ognl-allow.json b/package/src/main/resources/etc/ognl-allow.json deleted file mode 100644 index 0637a088a..000000000 --- a/package/src/main/resources/etc/ognl-allow.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/package/src/main/resources/etc/ognl-forbid.json b/package/src/main/resources/etc/ognl-forbid.json deleted file mode 100644 index 07e8ee622..000000000 --- a/package/src/main/resources/etc/ognl-forbid.json +++ /dev/null @@ -1,19 +0,0 @@ -[ - ".*Runtime.*", - ".*ProcessBuilder.*", - ".*exec.*", - ".*invoke.*", - ".*getClass.*", - ".*Class.*", - ".*ClassLoader.*", - ".*System.*", - ".*Method.*", - ".*method.*", - ".*Compiler.*", - ".*Thread.*", - ".*FileWriter.*", - ".*forName.*", - ".*Socket.*", - ".*DriverManager.*", - "eval" -] \ No newline at end of file diff --git a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java index 089130734..c128d8f2c 100644 --- a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java +++ b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java @@ -17,19 +17,19 @@ package org.apache.unomi.plugins.baseplugin.conditions; -import ognl.*; -import ognl.enhance.ExpressionAccessor; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.unomi.api.*; +import org.apache.unomi.api.Event; +import org.apache.unomi.api.GeoPoint; +import org.apache.unomi.api.Item; import org.apache.unomi.api.conditions.Condition; -import org.apache.unomi.plugins.baseplugin.conditions.accessors.HardcodedPropertyAccessor; -import org.apache.unomi.scripting.ExpressionFilterFactory; -import org.apache.unomi.scripting.SecureFilteringClassLoader; import org.apache.unomi.persistence.elasticsearch.conditions.ConditionContextHelper; import org.apache.unomi.persistence.elasticsearch.conditions.ConditionEvaluator; import org.apache.unomi.persistence.elasticsearch.conditions.ConditionEvaluatorDispatcher; import org.apache.unomi.persistence.spi.PropertyHelper; +import org.apache.unomi.plugins.baseplugin.conditions.accessors.HardcodedPropertyAccessor; +import org.apache.unomi.scripting.ExpressionFilterFactory; +import org.apache.unomi.scripting.SecureFilteringClassLoader; import org.elasticsearch.ElasticsearchParseException; import org.elasticsearch.common.joda.Joda; import org.elasticsearch.common.joda.JodaDateMathParser; @@ -37,8 +37,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.lang.reflect.Member; -import java.lang.reflect.Modifier; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Pattern; @@ -53,14 +51,11 @@ public class PropertyConditionEvaluator implements ConditionEvaluator { private static final SimpleDateFormat yearMonthDayDateFormat = new SimpleDateFormat("yyyyMMdd"); - private final Map> expressionCache = new HashMap<>(64); private boolean usePropertyConditionOptimizations = true; private static final ClassLoader secureFilteringClassLoader = new SecureFilteringClassLoader(PropertyConditionEvaluator.class.getClassLoader()); private static final HardcodedPropertyAccessorRegistry hardcodedPropertyAccessorRegistry = new HardcodedPropertyAccessorRegistry(); private ExpressionFilterFactory expressionFilterFactory; - private final boolean useOGNLScripting = Boolean.parseBoolean(System.getProperty("org.apache.unomi.security.properties.useOGNLScripting", "false")); - public void setUsePropertyConditionOptimizations(boolean usePropertyConditionOptimizations) { this.usePropertyConditionOptimizations = usePropertyConditionOptimizations; } @@ -69,12 +64,6 @@ public void setExpressionFilterFactory(ExpressionFilterFactory expressionFilterF this.expressionFilterFactory = expressionFilterFactory; } - public void init() { - if (!useOGNLScripting) { - LOGGER.info("OGNL Script disabled, properties using OGNL won't be evaluated"); - } - } - private int compare(Object actualValue, String expectedValue, Object expectedValueDate, Object expectedValueInteger, Object expectedValueDateExpr, Object expectedValueDouble) { if (expectedValue == null && expectedValueDate == null && expectedValueInteger == null && getDate(expectedValueDateExpr) == null && expectedValueDouble == null) { return actualValue == null ? 0 : 1; @@ -193,9 +182,7 @@ public boolean eval(Condition condition, Item item, Map context, // property not found actualValue = null; } catch (Exception e) { - if (!(e instanceof OgnlException) - || (!StringUtils.startsWith(e.getMessage(), - "source is null for getProperty(null"))) { + if ((!StringUtils.startsWith(e.getMessage(),"source is null for getProperty(null"))) { LOGGER.warn("Error evaluating value for {} {}. See debug level for more information", item.getClass().getName(), name); if (LOGGER.isDebugEnabled()) LOGGER.debug("Error evaluating value for {} {}", item.getClass().getName(), name, e); } @@ -320,9 +307,6 @@ protected Object getPropertyValue(Item item, String expression) throws Exception return result; } } - if (useOGNLScripting) { - return getOGNLPropertyValue(item, expression); - } return null; } @@ -332,107 +316,6 @@ protected Object getHardcodedPropertyValue(Item item, String expression) { return hardcodedPropertyAccessorRegistry.getProperty(item, expression); } - protected Object getOGNLPropertyValue(Item item, String expression) throws Exception { - if (expressionFilterFactory.getExpressionFilter("ognl").filter(expression) == null) { - LOGGER.warn("OGNL expression filtered because not allowed on item: {}. See debug log level for more information", item.getClass().getName()); - LOGGER.debug("OGNL expression filtered because not allowed: {}", expression); - return null; - } - OgnlContext ognlContext = getOgnlContext(secureFilteringClassLoader); - ExpressionAccessor accessor = getPropertyAccessor(item, expression, ognlContext, secureFilteringClassLoader); - if (accessor != null) { - try { - return accessor.get(ognlContext, item); - } catch (Throwable t) { - LOGGER.error("Error evaluating expression on item {}. See debug level for more information", item.getClass().getName()); - LOGGER.debug("Error evaluating expression {} on item {}.", expression, item.getClass().getName(), t); - return null; - } - } - return null; - } - - private class ClassLoaderClassResolver extends DefaultClassResolver { - private ClassLoader classLoader; - - public ClassLoaderClassResolver(ClassLoader classLoader) { - this.classLoader = classLoader; - } - - @Override - protected Class toClassForName(String className) throws ClassNotFoundException { - return Class.forName(className, true, classLoader); - } - } - - private OgnlContext getOgnlContext(ClassLoader classLoader) { - return (OgnlContext) Ognl.createDefaultContext(null, new MemberAccess() { - @Override - public Object setup(OgnlContext ognlContext, Object target, Member member, String propertyName) { - return null; - } - - @Override - public void restore(OgnlContext ognlContext, Object target, Member member, String propertyName, Object state) { - } - - @Override - public boolean isAccessible(OgnlContext ognlContext, Object target, Member member, String propertyName) { - int modifiers = member.getModifiers(); - boolean accessible = false; - if (target instanceof Item && !"getClass".equals(member.getName())) { - accessible = Modifier.isPublic(modifiers); - } - if (!accessible) { - LOGGER.warn("OGNL security filtered target, member for property. See debug log level for more information"); - LOGGER.debug("OGNL security filtered: Target {} and member {} for property {}. Not allowed", target, member, propertyName); - } - return accessible; - } - }, new ClassLoaderClassResolver(classLoader), - null); - } - - private ExpressionAccessor getPropertyAccessor(Item item, String expression, OgnlContext ognlContext, ClassLoader classLoader) throws Exception { - ExpressionAccessor accessor = null; - String clazz = item.getClass().getName(); - Map expressions = expressionCache.get(clazz); - if (expressions == null) { - expressions = new HashMap<>(); - expressionCache.put(clazz, expressions); - } else { - accessor = expressions.get(expression); - } - if (accessor == null) { - long time = System.nanoTime(); - Thread current = Thread.currentThread(); - ClassLoader contextCL = current.getContextClassLoader(); - try { - current.setContextClassLoader(classLoader); - Node node = Ognl.compileExpression(ognlContext, item, expression); - accessor = node.getAccessor(); - } finally { - current.setContextClassLoader(contextCL); - } - if (accessor != null) { - expressions.put(expression, accessor); - } else { - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Unable to compile expression: {} for: {}", expression, clazz); - } else { - LOGGER.warn("Unable to compile expression for {}. See debug log level for more information", clazz); - } - } - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Expression compilation for item={} expression={} took {}", item.getClass().getName(), expression, (System.nanoTime() - time) / 1000000L); - } else { - LOGGER.info("Expression compilation for item={} took {}. See debug log level for more information", item.getClass().getName(), (System.nanoTime() - time) / 1000000L); - } - } - - return accessor; - } - protected static Date getDate(Object value) { if (value == null) { return null; diff --git a/plugins/baseplugin/src/test/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluatorTest.java b/plugins/baseplugin/src/test/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluatorTest.java index 84eeae38a..07bc4d2e8 100644 --- a/plugins/baseplugin/src/test/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluatorTest.java +++ b/plugins/baseplugin/src/test/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluatorTest.java @@ -16,7 +16,6 @@ */ package org.apache.unomi.plugins.baseplugin.conditions; -import ognl.MethodFailedException; import org.apache.unomi.api.*; import org.apache.unomi.api.rules.Rule; import org.apache.unomi.plugins.baseplugin.conditions.accessors.HardcodedPropertyAccessor; @@ -25,17 +24,14 @@ import org.junit.Before; import org.junit.Test; -import java.io.File; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.regex.Pattern; import static junit.framework.TestCase.assertEquals; import static junit.framework.TestCase.assertNull; -import static org.junit.Assert.assertFalse; public class PropertyConditionEvaluatorTest { @@ -110,36 +106,6 @@ public void testFlattenedProperties() { assertEquals("FlattenedProperties should be readable form accessor", "test", propertyConditionEvaluator.getHardcodedPropertyValue(mockEvent, "flattenedProperties.test")); } - @Test - public void testOGNLEvaluator() throws Exception { - Event mockEvent = generateMockEvent(mockProfile, mockSession); - assertEquals("Target itemId value is not correct", MOCK_ITEM_ID, propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "target.itemId")); - assertEquals("Target scope is not correct", DIGITALL_SCOPE, propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "target.scope")); - assertEquals("Target page path value is not correct", TARGET_PAGE_PATH_VALUE, propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "target.properties.pageInfo.pagePath")); - assertEquals("Target page url value is not correct", TARGET_PAGE_URL_VALUE, propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "target.properties.pageInfo.pageURL")); - assertEquals("Session size should be 10", SESSION_SIZE, propertyConditionEvaluator.getOGNLPropertyValue(mockSession, "size")); - assertEquals("Should have received the proper last even date", SESSION_LAST_EVENT_DATE, propertyConditionEvaluator.getOGNLPropertyValue(mockSession, "lastEventDate")); - - assertNull("Unexisting property should be null", propertyConditionEvaluator.getOGNLPropertyValue(mockSession, "systemProperties.goals._csk6r4cgeStartReached")); - assertNull("Unexisting property should be null", propertyConditionEvaluator.getOGNLPropertyValue(mockProfile, "properties.email")); - } - - @Test - public void testCompareOGNLvsHardcodedPerformance() throws InterruptedException { - int workerCount = WORKER_COUNT; - ExecutorService executorService = Executors.newFixedThreadPool(THREAD_POOL_SIZE); - - runHardcodedTest(workerCount, executorService); - runOGNLTest(workerCount, executorService); - runHardcodedTest(workerCount, executorService); - runOGNLTest(workerCount, executorService); - runHardcodedTest(workerCount, executorService); - runOGNLTest(workerCount, executorService); - runHardcodedTest(workerCount, executorService); - runOGNLTest(workerCount, executorService); - - } - @Test public void testPropertyEvaluator() throws Exception { Event mockEvent = generateMockEvent(mockProfile, mockSession); @@ -154,44 +120,6 @@ public void testPropertyEvaluator() throws Exception { assertEquals("Session last event date is not right", SESSION_LAST_EVENT_DATE, propertyConditionEvaluator.getPropertyValue(mockSession, "lastEventDate")); } - @Test - public void testOGNLSecurity() throws Exception { - Event mockEvent = generateMockEvent(mockProfile, mockSession); - File vulnFile = new File("target/vuln-file.txt"); - if (vulnFile.exists()) { - vulnFile.delete(); - } - String vulnFileCanonicalPath = vulnFile.getCanonicalPath(); - vulnFileCanonicalPath = vulnFileCanonicalPath.replace("\\", "\\\\"); // this is required for Windows support - try { - propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "@java.lang.Runtime@getRuntime().exec('touch " + vulnFileCanonicalPath + "')"); - } catch (RuntimeException | MethodFailedException re) { - // we ignore these exceptions as they are expected. - } - assertFalse("Vulnerability successfully executed ! File created at " + vulnFileCanonicalPath, vulnFile.exists()); - try { - propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "(#cmd='touch " + vulnFileCanonicalPath + "').(#cmds={'bash','-c',#cmd}).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start())"); - } catch (RuntimeException | MethodFailedException re) { - // we ignore these exceptions as they are expected. - } - vulnFile = new File("target/vuln-file.txt"); - assertFalse("Vulnerability successfully executed ! File created at " + vulnFileCanonicalPath, vulnFile.exists()); - try { - propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "(#cmd='touch " + vulnFileCanonicalPath + "').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start())"); - } catch (RuntimeException | MethodFailedException re) { - // we ignore these exceptions as they are expected. - } - vulnFile = new File("target/vuln-file.txt"); - assertFalse("Vulnerability successfully executed ! File created at " + vulnFileCanonicalPath, vulnFile.exists()); - try { - propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "(#runtimeclass = #this.getClass().forName(\"java.lang.Runtime\")).(#getruntimemethod = #runtimeclass.getDeclaredMethods().{^ #this.name.equals(\"getRuntime\")}[0]).(#rtobj = #getruntimemethod.invoke(null,null)).(#execmethod = #runtimeclass.getDeclaredMethods().{? #this.name.equals(\"exec\")}.{? #this.getParameters()[0].getType().getName().equals(\"java.lang.String\")}.{? #this.getParameters().length < 2}[0]).(#execmethod.invoke(#rtobj,\" touch "+vulnFileCanonicalPath+"\"))"); - } catch (RuntimeException | MethodFailedException re) { - // we ignore these exceptions as they are expected. - } - vulnFile = new File("target/vuln-file.txt"); - assertFalse("Vulnerability successfully executed ! File created at " + vulnFileCanonicalPath, vulnFile.exists()); - } - private void runHardcodedTest(int workerCount, ExecutorService executorService) throws InterruptedException { List> todo = new ArrayList<>(workerCount); long startTime = System.currentTimeMillis(); @@ -203,17 +131,6 @@ private void runHardcodedTest(int workerCount, ExecutorService executorService) System.out.println("Hardcoded workers completed execution in " + totalTime + "ms"); } - private void runOGNLTest(int workerCount, ExecutorService executorService) throws InterruptedException { - List> todo = new ArrayList<>(workerCount); - long startTime = System.currentTimeMillis(); - for (int i = 0; i < workerCount; i++) { - todo.add(new OGNLWorker()); - } - List> answers = executorService.invokeAll(todo); - long totalTime = System.currentTimeMillis() - startTime; - System.out.println("OGNL workers completed execution in " + totalTime + "ms"); - } - private static Event generateMockEvent(Profile mockProfile, Session mockSession) { CustomItem sourceItem = new CustomItem(); sourceItem.setItemId(MOCK_ITEM_ID); @@ -285,20 +202,4 @@ public Object call() { } } - class OGNLWorker implements Callable { - - @Override - public Object call() { - try { - propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "target.itemId"); - propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "target.scope"); - propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "target.properties.pageInfo.pagePath"); - propertyConditionEvaluator.getOGNLPropertyValue(mockEvent, "target.properties.pageInfo.pageURL"); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - } - } diff --git a/pom.xml b/pom.xml index fe0bc5db9..05537d66b 100644 --- a/pom.xml +++ b/pom.xml @@ -940,6 +940,8 @@ org.apache.unomi unomi-groovy-actions ${project.version} + features + xml org.apache.unomi @@ -950,6 +952,8 @@ org.apache.unomi cdp-graphql-feature ${project.version} + features + xml org.apache.unomi @@ -980,11 +984,15 @@ org.apache.unomi unomi-kar ${project.version} + features + xml org.apache.unomi unomi-router-karaf-feature ${project.version} + features + xml @@ -1194,11 +1202,6 @@ mvel2 ${mvel2.version} - - ognl - ognl - ${ognl.version} - org.yaml snakeyaml diff --git a/scripting/src/main/java/org/apache/unomi/scripting/ExpressionFilterFactory.java b/scripting/src/main/java/org/apache/unomi/scripting/ExpressionFilterFactory.java index 67bcc7abe..ec92882d9 100644 --- a/scripting/src/main/java/org/apache/unomi/scripting/ExpressionFilterFactory.java +++ b/scripting/src/main/java/org/apache/unomi/scripting/ExpressionFilterFactory.java @@ -23,7 +23,7 @@ public interface ExpressionFilterFactory { /** * Retrieve an expression filter for the specified filterCollection identifier. - * @param filterCollection a filter collection identifier, typically something like "mvel", "ognl" + * @param filterCollection a filter collection identifier, typically something like "mvel" * @return an instance of a ExpressionFilter with the configuration retrieved for the specified collection identifier */ ExpressionFilter getExpressionFilter(String filterCollection); diff --git a/scripting/src/main/java/org/apache/unomi/scripting/SecureFilteringClassLoader.java b/scripting/src/main/java/org/apache/unomi/scripting/SecureFilteringClassLoader.java index 4af57e1a3..6f59ca16f 100644 --- a/scripting/src/main/java/org/apache/unomi/scripting/SecureFilteringClassLoader.java +++ b/scripting/src/main/java/org/apache/unomi/scripting/SecureFilteringClassLoader.java @@ -22,7 +22,7 @@ /** * A class loader that uses a allow list and a deny list of classes that it will allow to resolve. This is useful for providing proper - * sandboxing to scripting engine such as MVEL, OGNL or Groovy. + * sandboxing to scripting engine such as MVEL or Groovy. */ public class SecureFilteringClassLoader extends ClassLoader { @@ -34,7 +34,7 @@ public class SecureFilteringClassLoader extends ClassLoader { static { String systemAllowedClasses = System.getProperty("org.apache.unomi.scripting.allow", - "org.apache.unomi.api.Event,org.apache.unomi.api.Profile,org.apache.unomi.api.Session,org.apache.unomi.api.Item,org.apache.unomi.api.CustomItem,ognl.*,java.lang.Object,java.util.Map,java.util.HashMap,java.lang.Integer,org.mvel2.*,java.lang.String"); + "org.apache.unomi.api.Event,org.apache.unomi.api.Profile,org.apache.unomi.api.Session,org.apache.unomi.api.Item,org.apache.unomi.api.CustomItem,java.lang.Object,java.util.Map,java.util.HashMap,java.lang.Integer,org.mvel2.*,java.lang.String"); if (systemAllowedClasses != null) { if ("all".equals(systemAllowedClasses.trim())) { defaultAllowedClasses = null; diff --git a/scripting/src/main/java/org/apache/unomi/scripting/internal/ExpressionFilterFactoryImpl.java b/scripting/src/main/java/org/apache/unomi/scripting/internal/ExpressionFilterFactoryImpl.java index bb98e6541..cdfd6f4d9 100644 --- a/scripting/src/main/java/org/apache/unomi/scripting/internal/ExpressionFilterFactoryImpl.java +++ b/scripting/src/main/java/org/apache/unomi/scripting/internal/ExpressionFilterFactoryImpl.java @@ -56,7 +56,7 @@ public ExpressionFilterFactoryImpl() { } public void init() { - String initialFilterCollections = System.getProperty("org.apache.unomi.scripting.filter.collections", "mvel,ognl"); + String initialFilterCollections = System.getProperty("org.apache.unomi.scripting.filter.collections", "mvel"); String[] initialFilterCollectionParts = initialFilterCollections.split(","); if (initialFilterCollectionParts != null) { for (String initialFilterCollection : initialFilterCollectionParts) { From 7b34b3e2b3d00c9b79253ccb1afb8055fd1f860c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Tue, 12 Aug 2025 17:49:42 +0200 Subject: [PATCH 05/30] UNOMI-876: Switch swagger generator for some extension (may be used globally or removed) --- extensions/privacy-extension/rest/pom.xml | 33 +++++++++++++++----- extensions/salesforce-connector/rest/pom.xml | 33 +++++++++++++++----- pom.xml | 11 +++++++ 3 files changed, 61 insertions(+), 16 deletions(-) diff --git a/extensions/privacy-extension/rest/pom.xml b/extensions/privacy-extension/rest/pom.xml index ed5cc9843..258159b61 100644 --- a/extensions/privacy-extension/rest/pom.xml +++ b/extensions/privacy-extension/rest/pom.xml @@ -87,23 +87,40 @@ jackson-jaxrs-json-provider provided + + + io.swagger.core.v3 + swagger-jaxrs2 + compile + + + io.swagger.core.v3 + swagger-annotations + compile + - com.sebastian-daschner - jaxrs-analyzer-maven-plugin - 0.17 + io.swagger.core.v3 + swagger-maven-plugin + ${swagger.version} + + openapi + ${project.build.directory}/generated/swagger + JSONANDYAML + + org.apache.unomi.privacy.rest + + true + - analyze-jaxrs + resolve - - swagger - unomi.apache.org - + compile diff --git a/extensions/salesforce-connector/rest/pom.xml b/extensions/salesforce-connector/rest/pom.xml index 742a39bd7..bf0c2a86e 100644 --- a/extensions/salesforce-connector/rest/pom.xml +++ b/extensions/salesforce-connector/rest/pom.xml @@ -100,6 +100,17 @@ jackson-jaxrs-json-provider provided + + + io.swagger.core.v3 + swagger-jaxrs2 + compile + + + io.swagger.core.v3 + swagger-annotations + compile + @@ -135,18 +146,24 @@ - com.sebastian-daschner - jaxrs-analyzer-maven-plugin - 0.17 + io.swagger.core.v3 + swagger-maven-plugin + ${swagger.version} + + openapi + ${project.build.directory}/generated/swagger + JSONANDYAML + + org.apache.unomi.sfdc.rest + + true + - analyze-jaxrs + resolve - - swagger - unomi.apache.org - + compile diff --git a/pom.xml b/pom.xml index 05537d66b..252241838 100644 --- a/pom.xml +++ b/pom.xml @@ -93,6 +93,7 @@ 20250517 3.0.2 3.0.0 + 2.2.16 5.27.1 3.6.5 2.1 @@ -1272,6 +1273,16 @@ swagger-ui ${swagger-ui.version} + + io.swagger.core.v3 + swagger-jaxrs2 + ${swagger.version} + + + io.swagger.core.v3 + swagger-annotations + ${swagger.version} + org.apache.groovy groovy From 8d88fe1fdaa2cfe12d8cb56fb7dbac51eebfc5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Tue, 12 Aug 2025 17:53:29 +0200 Subject: [PATCH 06/30] UNOMI-876: remove swagger plugin. --- extensions/privacy-extension/rest/pom.xml | 37 ------------------ extensions/salesforce-connector/rest/pom.xml | 41 -------------------- pom.xml | 11 ------ 3 files changed, 89 deletions(-) diff --git a/extensions/privacy-extension/rest/pom.xml b/extensions/privacy-extension/rest/pom.xml index 258159b61..3421f66cb 100644 --- a/extensions/privacy-extension/rest/pom.xml +++ b/extensions/privacy-extension/rest/pom.xml @@ -87,44 +87,7 @@ jackson-jaxrs-json-provider provided - - - io.swagger.core.v3 - swagger-jaxrs2 - compile - - - io.swagger.core.v3 - swagger-annotations - compile - - - - - io.swagger.core.v3 - swagger-maven-plugin - ${swagger.version} - - openapi - ${project.build.directory}/generated/swagger - JSONANDYAML - - org.apache.unomi.privacy.rest - - true - - - - - resolve - - compile - - - - - diff --git a/extensions/salesforce-connector/rest/pom.xml b/extensions/salesforce-connector/rest/pom.xml index bf0c2a86e..50ba1a39b 100644 --- a/extensions/salesforce-connector/rest/pom.xml +++ b/extensions/salesforce-connector/rest/pom.xml @@ -67,14 +67,6 @@ provided - org.apache.cxf cxf-rt-frontend-jaxws @@ -100,17 +92,6 @@ jackson-jaxrs-json-provider provided - - - io.swagger.core.v3 - swagger-jaxrs2 - compile - - - io.swagger.core.v3 - swagger-annotations - compile - @@ -145,28 +126,6 @@ - - io.swagger.core.v3 - swagger-maven-plugin - ${swagger.version} - - openapi - ${project.build.directory}/generated/swagger - JSONANDYAML - - org.apache.unomi.sfdc.rest - - true - - - - - resolve - - compile - - - diff --git a/pom.xml b/pom.xml index 252241838..05537d66b 100644 --- a/pom.xml +++ b/pom.xml @@ -93,7 +93,6 @@ 20250517 3.0.2 3.0.0 - 2.2.16 5.27.1 3.6.5 2.1 @@ -1273,16 +1272,6 @@ swagger-ui ${swagger-ui.version} - - io.swagger.core.v3 - swagger-jaxrs2 - ${swagger.version} - - - io.swagger.core.v3 - swagger-annotations - ${swagger.version} - org.apache.groovy groovy From 2fe80227578a5b307f85f7d16af1caf5a1f104a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Wed, 13 Aug 2025 10:29:14 +0200 Subject: [PATCH 07/30] UNOMI-876: Fix wiring for extensions packaged as features (groovy, router, salesforce, ...) --- extensions/groovy-actions/karaf-kar/pom.xml | 38 +++++++++++++++++++ .../karaf-kar/src/main/feature/feature.xml | 4 ++ extensions/groovy-actions/rest/pom.xml | 8 ++++ .../router/router-karaf-feature/pom.xml | 38 +++++++++++++++++++ extensions/router/router-rest/pom.xml | 1 - .../salesforce-connector/karaf-kar/pom.xml | 37 ++++++++++++++++++ extensions/salesforce-connector/rest/pom.xml | 9 +++++ .../salesforce-connector/services/pom.xml | 8 ++++ extensions/weather-update/karaf-kar/pom.xml | 37 ++++++++++++++++++ pom.xml | 10 +++++ 10 files changed, 189 insertions(+), 1 deletion(-) diff --git a/extensions/groovy-actions/karaf-kar/pom.xml b/extensions/groovy-actions/karaf-kar/pom.xml index a1de6ad96..f1233013b 100644 --- a/extensions/groovy-actions/karaf-kar/pom.xml +++ b/extensions/groovy-actions/karaf-kar/pom.xml @@ -49,6 +49,44 @@ 85 + + + generate-features + generate-resources + + features-generate-descriptor + + + true + + + + verify-feature + process-resources + + verify + + + + mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features + mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features + mvn:org.apache.unomi/unomi-kar/${project.version}/xml/features + file:${project.build.directory}/feature/feature.xml + + org.apache.karaf:apache-karaf:zip:${karaf.version} + 17 + + framework + + + wrap + unomi-kar + unomi-groovy-actions + + true + + + diff --git a/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml b/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml index b3e0783cb..f9e397439 100644 --- a/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml +++ b/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml @@ -16,9 +16,13 @@ ~ limitations under the License. --> + + mvn:org.apache.karaf.features/specs/${karaf.version}/xml/features +
${project.description}
wrap + spifly unomi-kar mvn:org.apache.groovy/groovy/${groovy.version} mvn:org.apache.groovy/groovy-xml/${groovy.version} diff --git a/extensions/groovy-actions/rest/pom.xml b/extensions/groovy-actions/rest/pom.xml index db2f221a8..4538b8763 100644 --- a/extensions/groovy-actions/rest/pom.xml +++ b/extensions/groovy-actions/rest/pom.xml @@ -62,6 +62,14 @@ commons-io commons-io
+ + javax.ws.rs + javax.ws.rs-api + + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + org.apache.cxf diff --git a/extensions/router/router-karaf-feature/pom.xml b/extensions/router/router-karaf-feature/pom.xml index d7b8e6c40..801a1a05e 100644 --- a/extensions/router/router-karaf-feature/pom.xml +++ b/extensions/router/router-karaf-feature/pom.xml @@ -145,6 +145,44 @@ 90 + + + generate-features + generate-resources + + features-generate-descriptor + + + true + + + + verify-feature + process-resources + + verify + + + + mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features + mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features + mvn:org.apache.unomi/unomi-kar/${project.version}/xml/features + file:${project.build.directory}/feature/feature.xml + + org.apache.karaf:apache-karaf:zip:${karaf.version} + 17 + + framework + + + wrap + unomi-kar + unomi-router-karaf-feature + + true + + + diff --git a/extensions/router/router-rest/pom.xml b/extensions/router/router-rest/pom.xml index 076618366..748081407 100644 --- a/extensions/router/router-rest/pom.xml +++ b/extensions/router/router-rest/pom.xml @@ -58,7 +58,6 @@ javax.validation validation-api - provided javax.ws.rs diff --git a/extensions/salesforce-connector/karaf-kar/pom.xml b/extensions/salesforce-connector/karaf-kar/pom.xml index 896b9798b..fb1a113bd 100644 --- a/extensions/salesforce-connector/karaf-kar/pom.xml +++ b/extensions/salesforce-connector/karaf-kar/pom.xml @@ -78,6 +78,43 @@ 85 + + + generate-features + generate-resources + + features-generate-descriptor + + + true + + + + verify-feature + process-resources + + verify + + + + mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features + mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features + mvn:org.apache.unomi/unomi-kar/${project.version}/xml/features + file:${project.build.directory}/feature/feature.xml + + org.apache.karaf:apache-karaf:zip:${karaf.version} + 17 + + framework + + + unomi-kar + unomi-salesforce-connector-karaf-kar + + true + + + diff --git a/extensions/salesforce-connector/rest/pom.xml b/extensions/salesforce-connector/rest/pom.xml index 50ba1a39b..fd8d30925 100644 --- a/extensions/salesforce-connector/rest/pom.xml +++ b/extensions/salesforce-connector/rest/pom.xml @@ -67,6 +67,15 @@ provided + + javax.ws.rs + javax.ws.rs-api + + + org.apache.geronimo.specs + geronimo-ws-metadata_2.0_spec + + org.apache.cxf cxf-rt-frontend-jaxws diff --git a/extensions/salesforce-connector/services/pom.xml b/extensions/salesforce-connector/services/pom.xml index fceb28a55..8ab1d1e54 100644 --- a/extensions/salesforce-connector/services/pom.xml +++ b/extensions/salesforce-connector/services/pom.xml @@ -75,10 +75,18 @@ org.cometd.java bayeux-api + + org.cometd.java + cometd-java-common + org.cometd.java cometd-java-client-common + + org.cometd.java + cometd-java-client-http-common + org.cometd.java cometd-java-client-http-jetty diff --git a/extensions/weather-update/karaf-kar/pom.xml b/extensions/weather-update/karaf-kar/pom.xml index b7f7aa565..2bb01b6c9 100644 --- a/extensions/weather-update/karaf-kar/pom.xml +++ b/extensions/weather-update/karaf-kar/pom.xml @@ -70,6 +70,43 @@ 85 + + + generate-features + generate-resources + + features-generate-descriptor + + + true + + + + verify-feature + process-resources + + verify + + + + mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features + mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features + mvn:org.apache.unomi/unomi-kar/${project.version}/xml/features + file:${project.build.directory}/feature/feature.xml + + org.apache.karaf:apache-karaf:zip:${karaf.version} + 17 + + framework + + + unomi-kar + unomi-weather-update-karaf-kar + + true + + + diff --git a/pom.xml b/pom.xml index 05537d66b..60730e55d 100644 --- a/pom.xml +++ b/pom.xml @@ -1302,6 +1302,16 @@ bayeux-api ${bayeux-api.version} + + org.cometd.java + cometd-java-common + ${comet-java-client.version} + + + org.cometd.java + cometd-java-client-http-common + ${comet-java-client.version} + org.cometd.java cometd-java-client-common From 4296da16531bbd6798f1b40d3ddaeff9c2d4300e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Wed, 13 Aug 2025 17:18:13 +0200 Subject: [PATCH 08/30] UNOMI-876: Switch to Java 21, Upgrade to Karaf 4.4.8, Upgrade groovy from 4.0.21 to 4.0.28 and move groovy bundles into unomi feature because used by shell command and included in unomi base feature. diff --git c/extensions/groovy-actions/karaf-kar/pom.xml i/extensions/groovy-actions/karaf-kar/pom.xml index f1233013b..579764b7f 100644 --- c/extensions/groovy-actions/karaf-kar/pom.xml +++ i/extensions/groovy-actions/karaf-kar/pom.xml @@ -74,7 +74,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git c/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml i/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml index f9e397439..8c2893e9a 100644 --- c/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml +++ i/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml @@ -17,19 +17,10 @@ --> - mvn:org.apache.karaf.features/specs/${karaf.version}/xml/features -
${project.description}
wrap - spifly unomi-kar - mvn:org.apache.groovy/groovy/${groovy.version} - mvn:org.apache.groovy/groovy-xml/${groovy.version} - mvn:org.apache.groovy/groovy-json/${groovy.version} - wrap:mvn:io.github.http-builder-ng/http-builder-ng-core/1.0.4 - mvn:org.jsoup/jsoup/1.13.1 - mvn:com.sun.activation/javax.activation/1.2.0 mvn:org.apache.unomi/unomi-groovy-actions-services/${project.version} mvn:org.apache.unomi/unomi-groovy-actions-rest/${project.version}
diff --git c/extensions/router/router-karaf-feature/pom.xml i/extensions/router/router-karaf-feature/pom.xml index 801a1a05e..093ef944d 100644 --- c/extensions/router/router-karaf-feature/pom.xml +++ i/extensions/router/router-karaf-feature/pom.xml @@ -170,7 +170,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git c/extensions/salesforce-connector/karaf-kar/pom.xml i/extensions/salesforce-connector/karaf-kar/pom.xml index fb1a113bd..d9392e917 100644 --- c/extensions/salesforce-connector/karaf-kar/pom.xml +++ i/extensions/salesforce-connector/karaf-kar/pom.xml @@ -103,7 +103,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git c/extensions/weather-update/karaf-kar/pom.xml i/extensions/weather-update/karaf-kar/pom.xml index 2bb01b6c9..826243aed 100644 --- c/extensions/weather-update/karaf-kar/pom.xml +++ i/extensions/weather-update/karaf-kar/pom.xml @@ -95,7 +95,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git c/itests/pom.xml i/itests/pom.xml index 9a0cb178f..25722cab0 100644 --- c/itests/pom.xml +++ i/itests/pom.xml @@ -40,7 +40,7 @@ org.apache.unomi unomi - ${project.version} + 3.0.0-SNAPSHOT tar.gz test @@ -161,13 +161,13 @@ - org.apache.servicemix.tooling depends-maven-plugin generate-depends-file + generate-resources generate-depends-file diff --git c/kar/pom.xml i/kar/pom.xml index 82fdbce8f..dcad6cb66 100644 --- c/kar/pom.xml +++ i/kar/pom.xml @@ -184,7 +184,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git c/kar/src/main/feature/feature.xml i/kar/src/main/feature/feature.xml index dc9eb7102..057555bda 100644 --- c/kar/src/main/feature/feature.xml +++ i/kar/src/main/feature/feature.xml @@ -18,6 +18,7 @@ + mvn:org.apache.karaf.features/specs/${karaf.version}/xml/features mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features @@ -35,6 +36,7 @@ cxf-rs-description-openapi-v3 eventadmin feature + spifly shell-compat mvn:org.apache.unomi/unomi-wab/${project.version}/cfg/unomicfg mvn:org.apache.unomi/unomi-persistence-elasticsearch-core/${project.version}/cfg/elasticsearchcfg @@ -70,6 +72,9 @@ mvn:joda-time/joda-time/${joda-time.version} mvn:jakarta.annotation/jakarta.annotation-api/${jakarta-annotation-api.version} mvn:com.google.code.findbugs/jsr305/${jsr305.version} + mvn:org.apache.groovy/groovy/${groovy.version} + mvn:org.apache.groovy/groovy-xml/${groovy.version} + mvn:org.apache.groovy/groovy-json/${groovy.version} mvn:org.apache.unomi/unomi-lifecycle-watcher/${project.version} mvn:org.apache.unomi/unomi-api/${project.version} diff --git c/package/pom.xml i/package/pom.xml index b325e8f10..e687a6b7c 100644 --- c/package/pom.xml +++ i/package/pom.xml @@ -18,14 +18,13 @@ 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi + 3.0.0-SNAPSHOT pom Apache Unomi :: Distribution Package Packaged distributions of the Apache Unomi Context Server @@ -68,6 +67,13 @@ xml runtime + + org.apache.karaf.features + specs + features + xml + runtime + @@ -295,7 +301,7 @@ unomi-groovy-actions unomi-rest-ui - 17 + 21 diff --git c/pom.xml i/pom.xml index 60730e55d..b6342881a 100644 --- c/pom.xml +++ i/pom.xml @@ -61,11 +61,11 @@ UTF-8 UTF-8 - 17 + 21 ${java.version} ${java.version} - 4.4.7 + 4.4.8 7.4.2 7.11.0 1.1.0.Final @@ -97,7 +97,7 @@ 3.6.5 2.1 1.1.3 - 4.0.21 + 4.0.28 4.5.14 4.4.16 4.13.2 @@ -106,7 +106,9 @@ 1.6.0 1.3.1 0.9.0 + 3.5.3 4.7.1 + 4.0.2 2.2.0 1.0.2 7.31.0 @@ -124,6 +126,7 @@ 1.14 3.2.0 1.6.0 + 1.0.3 javax.servlet javax.servlet-api 3.1.0 @@ -1327,11 +1330,26 @@ rxjava ${reactivex.version} + + org.antlr + antlr-runtime + ${antlr.version} + org.antlr antlr4-runtime ${antlr4.version} + + org.antlr + stringtemplate + ${stringtemplate.version} + + + org.abego.treelayout + org.abego.treelayout.core + ${treelayout.version} + com.graphql-java java-dataloader diff --git c/samples/graphql-providers-feature/pom.xml i/samples/graphql-providers-feature/pom.xml index 79748878d..6c0b85f28 100644 --- c/samples/graphql-providers-feature/pom.xml +++ i/samples/graphql-providers-feature/pom.xml @@ -68,10 +68,10 @@ generate-features + generate-resources features-generate-descriptor - compile diff --git c/setenv.sh i/setenv.sh index f826319e6..dd042c07f 100755 --- c/setenv.sh +++ i/setenv.sh @@ -19,6 +19,6 @@ ################################################################################ export UNOMI_VERSION=`mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -Ev '(^\[|Download\w+:)'` echo Detected project version=$UNOMI_VERSION -export KARAF_VERSION=4.4.7 +export KARAF_VERSION=4.4.8 # Uncomment the following line if you need Apache Unomi to start automatically at the first start # export KARAF_OPTS="-Dunomi.autoStart=true" diff --git c/tools/shell-commands/pom.xml i/tools/shell-commands/pom.xml index c1fef34c5..c9032dd54 100644 --- c/tools/shell-commands/pom.xml +++ i/tools/shell-commands/pom.xml @@ -96,10 +96,12 @@ org.apache.groovy groovy + provided org.apache.groovy groovy-json + provided --- extensions/groovy-actions/karaf-kar/pom.xml | 2 +- .../karaf-kar/src/main/feature/feature.xml | 9 ------- .../router/router-karaf-feature/pom.xml | 2 +- .../salesforce-connector/karaf-kar/pom.xml | 2 +- extensions/weather-update/karaf-kar/pom.xml | 2 +- itests/pom.xml | 4 ++-- kar/pom.xml | 2 +- kar/src/main/feature/feature.xml | 5 ++++ package/pom.xml | 12 +++++++--- pom.xml | 24 ++++++++++++++++--- samples/graphql-providers-feature/pom.xml | 2 +- setenv.sh | 2 +- tools/shell-commands/pom.xml | 2 ++ 13 files changed, 46 insertions(+), 24 deletions(-) diff --git a/extensions/groovy-actions/karaf-kar/pom.xml b/extensions/groovy-actions/karaf-kar/pom.xml index f1233013b..579764b7f 100644 --- a/extensions/groovy-actions/karaf-kar/pom.xml +++ b/extensions/groovy-actions/karaf-kar/pom.xml @@ -74,7 +74,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git a/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml b/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml index f9e397439..8c2893e9a 100644 --- a/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml +++ b/extensions/groovy-actions/karaf-kar/src/main/feature/feature.xml @@ -17,19 +17,10 @@ --> - mvn:org.apache.karaf.features/specs/${karaf.version}/xml/features -
${project.description}
wrap - spifly unomi-kar - mvn:org.apache.groovy/groovy/${groovy.version} - mvn:org.apache.groovy/groovy-xml/${groovy.version} - mvn:org.apache.groovy/groovy-json/${groovy.version} - wrap:mvn:io.github.http-builder-ng/http-builder-ng-core/1.0.4 - mvn:org.jsoup/jsoup/1.13.1 - mvn:com.sun.activation/javax.activation/1.2.0 mvn:org.apache.unomi/unomi-groovy-actions-services/${project.version} mvn:org.apache.unomi/unomi-groovy-actions-rest/${project.version}
diff --git a/extensions/router/router-karaf-feature/pom.xml b/extensions/router/router-karaf-feature/pom.xml index 801a1a05e..093ef944d 100644 --- a/extensions/router/router-karaf-feature/pom.xml +++ b/extensions/router/router-karaf-feature/pom.xml @@ -170,7 +170,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git a/extensions/salesforce-connector/karaf-kar/pom.xml b/extensions/salesforce-connector/karaf-kar/pom.xml index fb1a113bd..d9392e917 100644 --- a/extensions/salesforce-connector/karaf-kar/pom.xml +++ b/extensions/salesforce-connector/karaf-kar/pom.xml @@ -103,7 +103,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git a/extensions/weather-update/karaf-kar/pom.xml b/extensions/weather-update/karaf-kar/pom.xml index 2bb01b6c9..826243aed 100644 --- a/extensions/weather-update/karaf-kar/pom.xml +++ b/extensions/weather-update/karaf-kar/pom.xml @@ -95,7 +95,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git a/itests/pom.xml b/itests/pom.xml index 9a0cb178f..25722cab0 100644 --- a/itests/pom.xml +++ b/itests/pom.xml @@ -40,7 +40,7 @@ org.apache.unomi unomi - ${project.version} + 3.0.0-SNAPSHOT tar.gz test @@ -161,13 +161,13 @@ - org.apache.servicemix.tooling depends-maven-plugin generate-depends-file + generate-resources generate-depends-file diff --git a/kar/pom.xml b/kar/pom.xml index 82fdbce8f..dcad6cb66 100644 --- a/kar/pom.xml +++ b/kar/pom.xml @@ -184,7 +184,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 17 + 21 framework diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml index dc9eb7102..057555bda 100644 --- a/kar/src/main/feature/feature.xml +++ b/kar/src/main/feature/feature.xml @@ -18,6 +18,7 @@ + mvn:org.apache.karaf.features/specs/${karaf.version}/xml/features mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features @@ -35,6 +36,7 @@ cxf-rs-description-openapi-v3 eventadmin feature + spifly shell-compat mvn:org.apache.unomi/unomi-wab/${project.version}/cfg/unomicfg mvn:org.apache.unomi/unomi-persistence-elasticsearch-core/${project.version}/cfg/elasticsearchcfg @@ -70,6 +72,9 @@ mvn:joda-time/joda-time/${joda-time.version} mvn:jakarta.annotation/jakarta.annotation-api/${jakarta-annotation-api.version} mvn:com.google.code.findbugs/jsr305/${jsr305.version} + mvn:org.apache.groovy/groovy/${groovy.version} + mvn:org.apache.groovy/groovy-xml/${groovy.version} + mvn:org.apache.groovy/groovy-json/${groovy.version} mvn:org.apache.unomi/unomi-lifecycle-watcher/${project.version} mvn:org.apache.unomi/unomi-api/${project.version} diff --git a/package/pom.xml b/package/pom.xml index b325e8f10..e687a6b7c 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -18,14 +18,13 @@ 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi + 3.0.0-SNAPSHOT pom Apache Unomi :: Distribution Package Packaged distributions of the Apache Unomi Context Server @@ -68,6 +67,13 @@ xml runtime + + org.apache.karaf.features + specs + features + xml + runtime + @@ -295,7 +301,7 @@ unomi-groovy-actions unomi-rest-ui - 17 + 21 diff --git a/pom.xml b/pom.xml index 60730e55d..b6342881a 100644 --- a/pom.xml +++ b/pom.xml @@ -61,11 +61,11 @@ UTF-8 UTF-8 - 17 + 21 ${java.version} ${java.version} - 4.4.7 + 4.4.8 7.4.2 7.11.0 1.1.0.Final @@ -97,7 +97,7 @@ 3.6.5 2.1 1.1.3 - 4.0.21 + 4.0.28 4.5.14 4.4.16 4.13.2 @@ -106,7 +106,9 @@ 1.6.0 1.3.1 0.9.0 + 3.5.3 4.7.1 + 4.0.2 2.2.0 1.0.2 7.31.0 @@ -124,6 +126,7 @@ 1.14 3.2.0 1.6.0 + 1.0.3 javax.servlet javax.servlet-api 3.1.0 @@ -1327,11 +1330,26 @@ rxjava ${reactivex.version} + + org.antlr + antlr-runtime + ${antlr.version} + org.antlr antlr4-runtime ${antlr4.version} + + org.antlr + stringtemplate + ${stringtemplate.version} + + + org.abego.treelayout + org.abego.treelayout.core + ${treelayout.version} + com.graphql-java java-dataloader diff --git a/samples/graphql-providers-feature/pom.xml b/samples/graphql-providers-feature/pom.xml index 79748878d..6c0b85f28 100644 --- a/samples/graphql-providers-feature/pom.xml +++ b/samples/graphql-providers-feature/pom.xml @@ -68,10 +68,10 @@ generate-features + generate-resources features-generate-descriptor - compile diff --git a/setenv.sh b/setenv.sh index f826319e6..dd042c07f 100755 --- a/setenv.sh +++ b/setenv.sh @@ -19,6 +19,6 @@ ################################################################################ export UNOMI_VERSION=`mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -Ev '(^\[|Download\w+:)'` echo Detected project version=$UNOMI_VERSION -export KARAF_VERSION=4.4.7 +export KARAF_VERSION=4.4.8 # Uncomment the following line if you need Apache Unomi to start automatically at the first start # export KARAF_OPTS="-Dunomi.autoStart=true" diff --git a/tools/shell-commands/pom.xml b/tools/shell-commands/pom.xml index c1fef34c5..c9032dd54 100644 --- a/tools/shell-commands/pom.xml +++ b/tools/shell-commands/pom.xml @@ -96,10 +96,12 @@ org.apache.groovy groovy + provided org.apache.groovy groovy-json + provided From 0f36295cbc31ae0dbade0044e2174f08579c308f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Wed, 13 Aug 2025 17:45:53 +0200 Subject: [PATCH 09/30] UNOMI-876: Upgrade jacoco for JDK 21, add a dedicated users.properties for itests as required since KARAF-7086 --- itests/pom.xml | 4 +-- .../src/test/resources/etc/users.properties | 34 +++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 itests/src/test/resources/etc/users.properties diff --git a/itests/pom.xml b/itests/pom.xml index 25722cab0..1b9852480 100644 --- a/itests/pom.xml +++ b/itests/pom.xml @@ -151,7 +151,7 @@ - https://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/0.8.8/jacoco-0.8.8.zip + https://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/0.8.13/jacoco-0.8.13.zip jacoco.zip true @@ -307,7 +307,7 @@ org.jacoco jacoco-maven-plugin - 0.7.7.201606060606 + 0.8.13 post-site diff --git a/itests/src/test/resources/etc/users.properties b/itests/src/test/resources/etc/users.properties new file mode 100644 index 000000000..ee3acc547 --- /dev/null +++ b/itests/src/test/resources/etc/users.properties @@ -0,0 +1,34 @@ +################################################################################ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +# +# This file contains the users, groups, and roles. +# Each line has to be of the format: +# +# USER=PASSWORD,ROLE1,ROLE2,... +# USER=PASSWORD,_g_:GROUP,... +# _g_\:GROUP=ROLE1,ROLE2,... +# +# All users, groups, and roles entered in this file are available after Karaf startup +# and modifiable via the JAAS command group. These users reside in a JAAS domain +# with the name "karaf". +# +karaf = ${org.apache.unomi.security.root.password:-karaf},_g_:admingroup +health = ${org.apache.unomi.healthcheck.password:-health},health +_g_\:admingroup = group,admin,manager,viewer,systembundles,ssh,ROLE_UNOMI_ADMIN From f8bacdf0e0ffd4b42af09c7789766c332dde3a99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Thu, 14 Aug 2025 12:22:52 +0200 Subject: [PATCH 10/30] UNOMI-876: Remove embedded jackson into elasticsearch persistence, update xsd for blueprint to v1.3.0 --- docker/src/main/docker/Dockerfile | 8 +++----- docker/src/main/docker/docker-compose-build.yml | 2 +- docker/src/main/docker/docker-compose.yml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 5 +++-- extensions/groovy-actions/karaf-kar/pom.xml | 5 +++-- .../resources/OSGI-INF/blueprint/blueprint.xml | 5 +++-- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 9 +++++---- .../resources/OSGI-INF/blueprint/blueprint.xml | 9 ++++----- extensions/router/router-karaf-feature/pom.xml | 5 +++-- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- extensions/salesforce-connector/karaf-kar/pom.xml | 5 +++-- .../resources/OSGI-INF/blueprint/blueprint.xml | 5 +++-- .../resources/OSGI-INF/blueprint/blueprint.xml | 5 +++-- extensions/weather-update/karaf-kar/pom.xml | 5 +++-- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- itests/pom.xml | 2 +- kar/pom.xml | 4 ++-- .../resources/OSGI-INF/blueprint/blueprint.xml | 6 +++--- .../resources/OSGI-INF/blueprint/blueprint.xml | 8 ++++---- package/pom.xml | 9 ++++++++- persistence-elasticsearch/core/pom.xml | 15 +++++++++------ .../resources/OSGI-INF/blueprint/blueprint.xml | 6 +++--- .../resources/OSGI-INF/blueprint/blueprint.xml | 9 +++++---- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 7 ++++--- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 6 +++--- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- pom.xml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 2 +- .../resources/OSGI-INF/blueprint/blueprint.xml | 4 +--- .../resources/OSGI-INF/blueprint/blueprint.xml | 6 +++--- .../resources/OSGI-INF/blueprint/blueprint.xml | 6 +++--- 38 files changed, 99 insertions(+), 83 deletions(-) diff --git a/docker/src/main/docker/Dockerfile b/docker/src/main/docker/Dockerfile index 30d8db250..a3f5b3efa 100644 --- a/docker/src/main/docker/Dockerfile +++ b/docker/src/main/docker/Dockerfile @@ -18,11 +18,9 @@ FROM library/eclipse-temurin:17 # Unomi environment variables -ENV UNOMI_HOME /opt/apache-unomi -ENV PATH $PATH:$UNOMI_HOME/bin - -ENV KARAF_OPTS "-Dunomi.autoStart=true" - +ENV UNOMI_HOME=/opt/apache-unomi +ENV PATH=$PATH:$UNOMI_HOME/bin +ENV KARAF_OPTS="-Dunomi.autoStart=true" ENV UNOMI_ELASTICSEARCH_ADDRESSES=localhost:9200 WORKDIR $UNOMI_HOME diff --git a/docker/src/main/docker/docker-compose-build.yml b/docker/src/main/docker/docker-compose-build.yml index 58a8f6a14..9aff5df9b 100644 --- a/docker/src/main/docker/docker-compose-build.yml +++ b/docker/src/main/docker/docker-compose-build.yml @@ -17,7 +17,7 @@ version: '2.4' services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2 + image: docker.elastic.co/elasticsearch/elasticsearch:7.17.28 volumes: # Persist ES data in seperate "esdata" volume - esdata1:/usr/share/elasticsearch/data environment: diff --git a/docker/src/main/docker/docker-compose.yml b/docker/src/main/docker/docker-compose.yml index fc8679033..c8fc543cc 100644 --- a/docker/src/main/docker/docker-compose.yml +++ b/docker/src/main/docker/docker-compose.yml @@ -17,7 +17,7 @@ version: '2.4' services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2 + image: docker.elastic.co/elasticsearch/elasticsearch:7.17.28 volumes: # Persist ES data in separate "esdata" volume - esdata1:/usr/share/elasticsearch/data environment: diff --git a/extensions/geonames/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/geonames/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 01a1a805d..758cd7090 100644 --- a/extensions/geonames/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/geonames/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,9 +17,10 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/extensions/groovy-actions/karaf-kar/pom.xml b/extensions/groovy-actions/karaf-kar/pom.xml index 579764b7f..9f42d3e87 100644 --- a/extensions/groovy-actions/karaf-kar/pom.xml +++ b/extensions/groovy-actions/karaf-kar/pom.xml @@ -62,7 +62,8 @@ verify-feature - process-resources + + verify @@ -74,7 +75,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 21 + 17 framework diff --git a/extensions/json-schema/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/json-schema/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 9998ad930..849c27fcc 100644 --- a/extensions/json-schema/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/json-schema/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,9 +17,10 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/extensions/lists-extension/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/lists-extension/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 7a5524195..e75582222 100644 --- a/extensions/lists-extension/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/lists-extension/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,7 +17,7 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/extensions/lists-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/lists-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 9398d0e67..78eac519a 100644 --- a/extensions/lists-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/lists-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,7 +17,7 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 522918044..6151b40ee 100644 --- a/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -15,10 +15,11 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - - + diff --git a/extensions/router/router-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/router/router-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 281c93f91..aae3abbe2 100644 --- a/extensions/router/router-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/router/router-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -15,13 +15,12 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> + + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/extensions/router/router-karaf-feature/pom.xml b/extensions/router/router-karaf-feature/pom.xml index 093ef944d..50d67e4a0 100644 --- a/extensions/router/router-karaf-feature/pom.xml +++ b/extensions/router/router-karaf-feature/pom.xml @@ -158,7 +158,8 @@ verify-feature - process-resources + + verify @@ -170,7 +171,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 21 + 17 framework diff --git a/extensions/router/router-service/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/router/router-service/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 8b187cad6..845388496 100644 --- a/extensions/router/router-service/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/router/router-service/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -18,7 +18,7 @@ + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/extensions/salesforce-connector/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/salesforce-connector/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 3d0e50e67..63a6d3e8d 100644 --- a/extensions/salesforce-connector/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/salesforce-connector/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -18,7 +18,7 @@ + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/extensions/salesforce-connector/karaf-kar/pom.xml b/extensions/salesforce-connector/karaf-kar/pom.xml index d9392e917..f3c497134 100644 --- a/extensions/salesforce-connector/karaf-kar/pom.xml +++ b/extensions/salesforce-connector/karaf-kar/pom.xml @@ -91,7 +91,8 @@ verify-feature - process-resources + + verify @@ -103,7 +104,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 21 + 17 framework diff --git a/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 011f851b2..b8fe69bda 100644 --- a/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,9 +17,10 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml index e21d74466..9afeca7ef 100755 --- a/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -16,9 +16,10 @@ ~ limitations under the License. --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> verify-feature - process-resources + + verify @@ -95,7 +96,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 21 + 17 framework diff --git a/graphql/cxs-impl/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/graphql/cxs-impl/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 3a9b6e1b6..05910e848 100644 --- a/graphql/cxs-impl/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/graphql/cxs-impl/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,7 +17,7 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/itests/pom.xml b/itests/pom.xml index 1b9852480..f5f2a7248 100644 --- a/itests/pom.xml +++ b/itests/pom.xml @@ -40,7 +40,7 @@ org.apache.unomi unomi - 3.0.0-SNAPSHOT + ${project.version} tar.gz test diff --git a/kar/pom.xml b/kar/pom.xml index dcad6cb66..688417f1e 100644 --- a/kar/pom.xml +++ b/kar/pom.xml @@ -163,7 +163,7 @@ generate-features - generate-resources + process-resources features-generate-descriptor @@ -184,7 +184,7 @@ file:${project.build.directory}/feature/feature.xml org.apache.karaf:apache-karaf:zip:${karaf.version} - 21 + 17 framework diff --git a/lifecycle-watcher/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/lifecycle-watcher/src/main/resources/OSGI-INF/blueprint/blueprint.xml index d2ae880bb..afb05b7f9 100644 --- a/lifecycle-watcher/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/lifecycle-watcher/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,10 +17,10 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/metrics/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/metrics/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 3a0888800..3a613dc67 100644 --- a/metrics/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/metrics/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,11 +17,11 @@ --> + xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/package/pom.xml b/package/pom.xml index e687a6b7c..6925cb95b 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -264,6 +264,13 @@ archive + + verify-feature + process-resources + + verify + + @@ -301,7 +308,7 @@ unomi-groovy-actions unomi-rest-ui - 21 + 17 diff --git a/persistence-elasticsearch/core/pom.xml b/persistence-elasticsearch/core/pom.xml index 6bf1a0eea..31b46f3d8 100644 --- a/persistence-elasticsearch/core/pom.xml +++ b/persistence-elasticsearch/core/pom.xml @@ -30,12 +30,6 @@ bundle - - org.osgi - osgi.core - provided - - org.apache.unomi unomi-api @@ -62,6 +56,12 @@ provided + + org.osgi + osgi.core + provided + + com.hazelcast hazelcast-all @@ -71,14 +71,17 @@ com.fasterxml.jackson.core jackson-databind + provided org.apache.commons commons-lang3 + provided commons-io commons-io + provided diff --git a/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml index e376be29f..b9608f858 100644 --- a/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,10 +17,10 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 9f7dc8c92..58aef6238 100644 --- a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -16,10 +16,11 @@ ~ limitations under the License. --> - + diff --git a/plugins/hover-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/hover-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 69e03ac93..3a3e50f0e 100644 --- a/plugins/hover-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/plugins/hover-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,7 +17,7 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/plugins/mail/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/mail/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 0d9fa502a..7800a7341 100644 --- a/plugins/mail/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/plugins/mail/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -16,10 +16,11 @@ ~ limitations under the License. --> - + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/plugins/optimization-test/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/optimization-test/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 8a6439339..01eb7f43a 100644 --- a/plugins/optimization-test/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/plugins/optimization-test/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -18,7 +18,7 @@ + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/plugins/past-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/past-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 1475ab0de..e5142bb33 100644 --- a/plugins/past-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/plugins/past-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,7 +17,7 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 9b482296f..b2ca19089 100644 --- a/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,10 +17,10 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/plugins/tracked-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/tracked-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml index e2a66b93b..5004a6209 100644 --- a/plugins/tracked-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/plugins/tracked-event/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,7 +17,7 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/pom.xml b/pom.xml index b6342881a..ba48f96cd 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ UTF-8 UTF-8 - 21 + 17 ${java.version} ${java.version} diff --git a/samples/trainingplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/samples/trainingplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 01ae5ab93..7a536af12 100644 --- a/samples/trainingplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/samples/trainingplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -18,7 +18,7 @@ + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/samples/tweet-button-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/samples/tweet-button-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 0059ec7b1..9acae1583 100644 --- a/samples/tweet-button-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/samples/tweet-button-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -18,7 +18,7 @@ + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/scripting/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/scripting/src/main/resources/OSGI-INF/blueprint/blueprint.xml index f4a72889a..169edaacf 100644 --- a/scripting/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/scripting/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,10 +17,8 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> diff --git a/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml index bf64a77d7..90861557c 100644 --- a/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,10 +17,10 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> diff --git a/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 5437e3b49..ef24f2c8f 100644 --- a/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -17,10 +17,10 @@ --> + xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> From fd8e9284febc8d3b119970fd6679f24c2900b861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Thu, 14 Aug 2025 17:35:07 +0200 Subject: [PATCH 11/30] UNOMI-876: Remove SOAP annotations and dependencies --- .../unomi/geonames/rest/GeonamesEndPoint.java | 4 ---- .../actions/rest/GroovyActionsEndPoint.java | 11 +---------- .../unomi/schema/rest/JsonSchemaEndPoint.java | 14 ++++---------- .../unomi/lists/rest/UserListServiceEndPoint.java | 4 ---- .../privacy/rest/PrivacyServiceEndPoint.java | 4 ---- .../resources/OSGI-INF/blueprint/blueprint.xml | 3 +-- .../rest/ExportConfigurationServiceEndPoint.java | 6 ------ .../rest/ImportConfigurationServiceEndPoint.java | 5 ----- .../org/apache/unomi/sfdc/rest/SFDCEndPoint.java | 4 ---- .../karaf-feature/src/main/feature/feature.xml | 6 +++--- kar/src/main/feature/feature.xml | 5 ++--- .../resources/OSGI-INF/blueprint/blueprint.xml | 5 ++--- pom.xml | 6 ------ .../rest/endpoints/CampaignsServiceEndPoint.java | 4 ---- .../unomi/rest/endpoints/ClientEndpoint.java | 9 +-------- .../rest/endpoints/ClusterServiceEndPoint.java | 5 ----- .../unomi/rest/endpoints/ContextJsonEndpoint.java | 7 ++++--- .../endpoints/DefinitionsServiceEndPoint.java | 6 ------ .../rest/endpoints/EventServiceEndpoint.java | 10 +--------- .../rest/endpoints/EventsCollectorEndpoint.java | 10 +--------- .../rest/endpoints/GoalsServiceEndPoint.java | 4 ---- .../rest/endpoints/PatchServiceEndPoint.java | 2 -- .../rest/endpoints/ProfileServiceEndPoint.java | 9 --------- .../rest/endpoints/QueryServiceEndPoint.java | 6 ------ .../rest/endpoints/RulesServiceEndPoint.java | 4 ---- .../rest/endpoints/ScopeServiceEndPoint.java | 12 +----------- .../rest/endpoints/ScoringServiceEndPoint.java | 4 ---- .../rest/endpoints/SegmentServiceEndPoint.java | 4 ---- .../rest/endpoints/UserListServiceEndPoint.java | 4 ---- .../org/apache/unomi/rest/server/RestServer.java | 4 ++-- .../resources/OSGI-INF/blueprint/blueprint.xml | 3 +-- .../java/org/apache/unomi/web/ContextServlet.java | 15 ++++++++++++--- .../resources/OSGI-INF/blueprint/blueprint.xml | 3 +-- 33 files changed, 37 insertions(+), 165 deletions(-) diff --git a/extensions/geonames/rest/src/main/java/org/apache/unomi/geonames/rest/GeonamesEndPoint.java b/extensions/geonames/rest/src/main/java/org/apache/unomi/geonames/rest/GeonamesEndPoint.java index d17bc53d1..3f1ad8118 100644 --- a/extensions/geonames/rest/src/main/java/org/apache/unomi/geonames/rest/GeonamesEndPoint.java +++ b/extensions/geonames/rest/src/main/java/org/apache/unomi/geonames/rest/GeonamesEndPoint.java @@ -27,8 +27,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.PathSegment; @@ -36,7 +34,6 @@ import java.util.List; import java.util.Locale; -@WebService @Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") @CrossOriginResourceSharing( allowAllOrigins = true, @@ -55,7 +52,6 @@ public GeonamesEndPoint() { LOGGER.info("Initializing geonames service endpoint..."); } - @WebMethod(exclude = true) public void setGeonamesService(GeonamesService geonamesService) { this.geonamesService = geonamesService; } diff --git a/extensions/groovy-actions/rest/src/main/java/org/apache/unomi/groovy/actions/rest/GroovyActionsEndPoint.java b/extensions/groovy-actions/rest/src/main/java/org/apache/unomi/groovy/actions/rest/GroovyActionsEndPoint.java index ae2236c01..8ba9ca26e 100644 --- a/extensions/groovy-actions/rest/src/main/java/org/apache/unomi/groovy/actions/rest/GroovyActionsEndPoint.java +++ b/extensions/groovy-actions/rest/src/main/java/org/apache/unomi/groovy/actions/rest/GroovyActionsEndPoint.java @@ -27,19 +27,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; +import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.IOException; -@WebService @Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") @CrossOriginResourceSharing(allowAllOrigins = true, allowCredentials = true) @Path("/groovyActions") @@ -55,7 +47,6 @@ public GroovyActionsEndPoint() { LOGGER.info("Initializing groovy actions service endpoint..."); } - @WebMethod(exclude = true) public void setGroovyActionsService(GroovyActionsService groovyActionsService) { this.groovyActionsService = groovyActionsService; } diff --git a/extensions/json-schema/rest/src/main/java/org/apache/unomi/schema/rest/JsonSchemaEndPoint.java b/extensions/json-schema/rest/src/main/java/org/apache/unomi/schema/rest/JsonSchemaEndPoint.java index 5f9caabf0..51dc39a48 100644 --- a/extensions/json-schema/rest/src/main/java/org/apache/unomi/schema/rest/JsonSchemaEndPoint.java +++ b/extensions/json-schema/rest/src/main/java/org/apache/unomi/schema/rest/JsonSchemaEndPoint.java @@ -27,18 +27,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.util.*; +import java.util.Collection; +import java.util.Map; +import java.util.Set; -@WebService @Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") @CrossOriginResourceSharing(allowAllOrigins = true, allowCredentials = true) @Path("/jsonSchema") @@ -54,7 +49,6 @@ public JsonSchemaEndPoint() { LOGGER.info("Initializing JSON schema endpoint..."); } - @WebMethod(exclude = true) public void setSchemaService(SchemaService schemaService) { this.schemaService = schemaService; } diff --git a/extensions/lists-extension/rest/src/main/java/org/apache/unomi/lists/rest/UserListServiceEndPoint.java b/extensions/lists-extension/rest/src/main/java/org/apache/unomi/lists/rest/UserListServiceEndPoint.java index 47f90e750..bd14b4780 100644 --- a/extensions/lists-extension/rest/src/main/java/org/apache/unomi/lists/rest/UserListServiceEndPoint.java +++ b/extensions/lists-extension/rest/src/main/java/org/apache/unomi/lists/rest/UserListServiceEndPoint.java @@ -28,8 +28,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -37,7 +35,6 @@ /** * @author Christophe Laprun */ -@WebService @Produces(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( allowAllOrigins = true, @@ -56,7 +53,6 @@ public UserListServiceEndPoint() { LOGGER.info("Initializing user list service endpoint..."); } - @WebMethod(exclude = true) public void setUserListService(UserListService userListService) { this.userListService = userListService; } diff --git a/extensions/privacy-extension/rest/src/main/java/org/apache/unomi/privacy/rest/PrivacyServiceEndPoint.java b/extensions/privacy-extension/rest/src/main/java/org/apache/unomi/privacy/rest/PrivacyServiceEndPoint.java index 8c3dafc1b..f804ac164 100644 --- a/extensions/privacy-extension/rest/src/main/java/org/apache/unomi/privacy/rest/PrivacyServiceEndPoint.java +++ b/extensions/privacy-extension/rest/src/main/java/org/apache/unomi/privacy/rest/PrivacyServiceEndPoint.java @@ -23,8 +23,6 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -33,7 +31,6 @@ /** * REST API end point for privacy service */ -@WebService @Produces(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( allowAllOrigins = true, @@ -46,7 +43,6 @@ public class PrivacyServiceEndPoint { @Reference private PrivacyService privacyService; - @WebMethod(exclude = true) public void setPrivacyService(PrivacyService privacyService) { this.privacyService = privacyService; } diff --git a/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 6151b40ee..58a03fad3 100644 --- a/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -21,8 +21,7 @@ xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 https://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd"> - + diff --git a/extensions/router/router-rest/src/main/java/org/apache/unomi/router/rest/ExportConfigurationServiceEndPoint.java b/extensions/router/router-rest/src/main/java/org/apache/unomi/router/rest/ExportConfigurationServiceEndPoint.java index b9462c0b6..317345209 100644 --- a/extensions/router/router-rest/src/main/java/org/apache/unomi/router/rest/ExportConfigurationServiceEndPoint.java +++ b/extensions/router/router-rest/src/main/java/org/apache/unomi/router/rest/ExportConfigurationServiceEndPoint.java @@ -26,8 +26,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; @@ -43,7 +41,6 @@ /** * A JAX-RS endpoint to manage {@link ExportConfiguration}s. */ -@WebService @CrossOriginResourceSharing( allowAllOrigins = true, allowCredentials = true @@ -64,18 +61,15 @@ public ExportConfigurationServiceEndPoint() throws KeyStoreException, NoSuchAlgo LOGGER.info("Initializing export configuration service endpoint..."); } - @WebMethod(exclude = true) @Reference(target="(configDiscriminator=EXPORT)") public void setExportConfigurationService(ImportExportConfigurationService exportConfigurationService) { configurationService = exportConfigurationService; } - @WebMethod(exclude = true) public void setProfileExportService(ProfileExportService profileExportService) { this.profileExportService = profileExportService; } - @WebMethod(exclude = true) public void setProfileService(ProfileService profileService) { this.profileService = profileService; } diff --git a/extensions/router/router-rest/src/main/java/org/apache/unomi/router/rest/ImportConfigurationServiceEndPoint.java b/extensions/router/router-rest/src/main/java/org/apache/unomi/router/rest/ImportConfigurationServiceEndPoint.java index 37dd38bb9..fa87f47ad 100644 --- a/extensions/router/router-rest/src/main/java/org/apache/unomi/router/rest/ImportConfigurationServiceEndPoint.java +++ b/extensions/router/router-rest/src/main/java/org/apache/unomi/router/rest/ImportConfigurationServiceEndPoint.java @@ -28,8 +28,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.ws.rs.Consumes; @@ -49,7 +47,6 @@ /** * A JAX-RS endpoint to manage {@link ImportConfiguration}s. */ -@WebService @CrossOriginResourceSharing( allowAllOrigins = true, allowCredentials = true @@ -63,7 +60,6 @@ public class ImportConfigurationServiceEndPoint extends AbstractConfigurationSer @Reference protected ConfigSharingService configSharingService; - @WebMethod(exclude = true) public void setConfigSharingService(ConfigSharingService configSharingService) { this.configSharingService = configSharingService; } @@ -72,7 +68,6 @@ public ImportConfigurationServiceEndPoint() throws KeyStoreException, NoSuchAlgo LOGGER.info("Initializing import configuration service endpoint..."); } - @WebMethod(exclude = true) @Reference(target="(configDiscriminator=IMPORT)") public void setImportConfigurationService(ImportExportConfigurationService importConfigurationService) { configurationService = importConfigurationService; diff --git a/extensions/salesforce-connector/rest/src/main/java/org/apache/unomi/sfdc/rest/SFDCEndPoint.java b/extensions/salesforce-connector/rest/src/main/java/org/apache/unomi/sfdc/rest/SFDCEndPoint.java index 85158e255..d882a022c 100644 --- a/extensions/salesforce-connector/rest/src/main/java/org/apache/unomi/sfdc/rest/SFDCEndPoint.java +++ b/extensions/salesforce-connector/rest/src/main/java/org/apache/unomi/sfdc/rest/SFDCEndPoint.java @@ -25,8 +25,6 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; @@ -36,7 +34,6 @@ import java.util.HashMap; import java.util.Map; -@WebService @Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") @CrossOriginResourceSharing( allowAllOrigins = true, @@ -59,7 +56,6 @@ public void activate(ComponentContext componentContext) { this.bundleContext = componentContext.getBundleContext(); } - @WebMethod(exclude = true) public void setSFDCService(SFDCService sfdcService) { this.sfdcService = sfdcService; } diff --git a/graphql/karaf-feature/src/main/feature/feature.xml b/graphql/karaf-feature/src/main/feature/feature.xml index d9f5aa212..95552d6c0 100644 --- a/graphql/karaf-feature/src/main/feature/feature.xml +++ b/graphql/karaf-feature/src/main/feature/feature.xml @@ -37,17 +37,17 @@ mvn:org.eclipse.jetty.websocket/websocket-server/${jetty.version} mvn:org.eclipse.jetty.websocket/websocket-common/${jetty.version} mvn:org.eclipse.jetty.websocket/websocket-api/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-client/${jetty.version} + mvn:org.eclipse.jetty.websocket/websocket-servlet/${jetty.version} mvn:org.eclipse.jetty/jetty-util/${jetty.version} mvn:org.eclipse.jetty/jetty-io/${jetty.version} - mvn:org.eclipse.jetty.websocket/websocket-client/${jetty.version} mvn:org.eclipse.jetty/jetty-client/${jetty.version} mvn:org.eclipse.jetty/jetty-xml/${jetty.version} - mvn:org.eclipse.jetty.websocket/websocket-servlet/${jetty.version} - mvn:javax.servlet/javax.servlet-api/${servlet.spec.version} mvn:org.eclipse.jetty/jetty-servlet/${jetty.version} mvn:org.eclipse.jetty/jetty-security/${jetty.version} mvn:org.eclipse.jetty/jetty-server/${jetty.version} mvn:org.eclipse.jetty/jetty-http/${jetty.version} + mvn:${servlet.spec.groupId}/${servlet.spec.artefactId}/${servlet.spec.version} mvn:org.apache.unomi/cdp-graphql-api-impl/${project.version} mvn:org.apache.unomi/unomi-graphql-ui/${project.version} diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml index 057555bda..8b019704e 100644 --- a/kar/src/main/feature/feature.xml +++ b/kar/src/main/feature/feature.xml @@ -28,9 +28,8 @@ config scr http - cxf - cxf-jaxws - cxf-jaxrs + cxf + cxf-jaxrs cxf-features-metrics cxf-rs-security-cors cxf-rs-description-openapi-v3 diff --git a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 58aef6238..33ec99222 100644 --- a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -156,7 +156,7 @@ - + @@ -188,8 +188,7 @@ - + diff --git a/pom.xml b/pom.xml index ba48f96cd..d84a7fef5 100644 --- a/pom.xml +++ b/pom.xml @@ -1071,12 +1071,6 @@ ${elasticsearch.version} - - org.apache.geronimo.specs - geronimo-ws-metadata_2.0_spec - ${geronimo-ws.version} - - org.apache.cxf cxf-rt-frontend-jaxws diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/CampaignsServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/CampaignsServiceEndPoint.java index 032dedd6f..0e23f67da 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/CampaignsServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/CampaignsServiceEndPoint.java @@ -31,8 +31,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.Set; @@ -40,7 +38,6 @@ /** * A JAX-RS endpoint to manage {@link Campaign}s and related information. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( @@ -60,7 +57,6 @@ public CampaignsServiceEndPoint() { LOGGER.info("Initializing campaigns service endpoint..."); } - @WebMethod(exclude=true) public void setGoalsService(GoalsService goalsService) { this.goalsService = goalsService; } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ClientEndpoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ClientEndpoint.java index 4f7fb1298..acc087cf9 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ClientEndpoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ClientEndpoint.java @@ -29,15 +29,9 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import javax.jws.WebService; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.GET; -import javax.ws.rs.InternalServerErrorException; -import javax.ws.rs.NotFoundException; -import javax.ws.rs.OPTIONS; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; +import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import java.io.StringWriter; @@ -49,7 +43,6 @@ /** * A servlet filter to serve a context-specific Javascript containing the current request context object. */ -@WebService @CrossOriginResourceSharing(allowAllOrigins = true, allowCredentials = true) @Path("/") @Component(service = ClientEndpoint.class, property = "osgi.jaxrs.resource=true") diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ClusterServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ClusterServiceEndPoint.java index a2f9ddeb4..19fff95a5 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ClusterServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ClusterServiceEndPoint.java @@ -26,8 +26,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; @@ -38,7 +36,6 @@ /** * A JAX-RS endpoint to access information about the context server's cluster. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( allowAllOrigins = true, @@ -59,12 +56,10 @@ public ClusterServiceEndPoint() { LOGGER.info("Initializing cluster service endpoint..."); } - @WebMethod(exclude = true) public void setClusterService(ClusterService clusterService) { this.clusterService = clusterService; } - @WebMethod(exclude = true) public void setMessageContext(MessageContext messageContext) { this.messageContext = messageContext; } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java index 1d50168b2..a50ea7592 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java @@ -23,7 +23,10 @@ import org.apache.cxf.rs.security.cors.CrossOriginResourceSharing; import org.apache.unomi.api.*; import org.apache.unomi.api.conditions.Condition; -import org.apache.unomi.api.services.*; +import org.apache.unomi.api.services.PersonalizationService; +import org.apache.unomi.api.services.PrivacyService; +import org.apache.unomi.api.services.ProfileService; +import org.apache.unomi.api.services.RulesService; import org.apache.unomi.persistence.spi.CustomObjectMapper; import org.apache.unomi.rest.exception.InvalidRequestException; import org.apache.unomi.rest.service.RestServiceUtils; @@ -34,7 +37,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebService; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -45,7 +47,6 @@ import java.util.*; import java.util.stream.Collectors; -@WebService @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing(allowAllOrigins = true, allowCredentials = true) @Path("/") diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/DefinitionsServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/DefinitionsServiceEndPoint.java index 37353d2f1..a44655127 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/DefinitionsServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/DefinitionsServiceEndPoint.java @@ -31,8 +31,6 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.*; @@ -40,7 +38,6 @@ /** * A JAX-RS endpoint to retrieve definition information about core context server entities such as conditions, actions and values. */ -@WebService @Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") @CrossOriginResourceSharing( allowAllOrigins = true, @@ -55,12 +52,10 @@ public class DefinitionsServiceEndPoint { @Reference private LocalizationHelper localizationHelper; - @WebMethod(exclude = true) public void setDefinitionsService(DefinitionsService definitionsService) { this.definitionsService = definitionsService; } - @WebMethod(exclude = true) public void setLocalizationHelper(LocalizationHelper localizationHelper) { this.localizationHelper = localizationHelper; } @@ -290,7 +285,6 @@ public Map> getTypesByPlugin() { return definitionsService.getTypesByPlugin(); } - @WebMethod(exclude = true) public PropertyMergeStrategyType getPropertyMergeStrategyType(String id) { return definitionsService.getPropertyMergeStrategyType(id); } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/EventServiceEndpoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/EventServiceEndpoint.java index f1bac4d1f..46c0c2c39 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/EventServiceEndpoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/EventServiceEndpoint.java @@ -24,20 +24,13 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import javax.jws.WebMethod; -import javax.jws.WebService; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; +import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.Set; /** * A JAX-RS endpoint to access information about the context server's events. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( allowAllOrigins = true, @@ -50,7 +43,6 @@ public class EventServiceEndpoint { @Reference private EventService eventService; - @WebMethod(exclude = true) public void setEventService(EventService eventService) { this.eventService = eventService; } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/EventsCollectorEndpoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/EventsCollectorEndpoint.java index c9b3109dd..6ab08e084 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/EventsCollectorEndpoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/EventsCollectorEndpoint.java @@ -28,23 +28,15 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import javax.jws.WebService; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.OPTIONS; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; +import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.util.Date; import java.util.List; -@WebService @Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing(allowAllOrigins = true, allowCredentials = true) diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/GoalsServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/GoalsServiceEndPoint.java index 936986a76..68121e62e 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/GoalsServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/GoalsServiceEndPoint.java @@ -28,8 +28,6 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.Set; @@ -37,7 +35,6 @@ /** * A JAX-RS endpoint to manage {@link Goal}s and related information. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( @@ -51,7 +48,6 @@ public class GoalsServiceEndPoint { @Reference private GoalsService goalsService; - @WebMethod(exclude = true) public void setGoalsService(GoalsService goalsService) { this.goalsService = goalsService; } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/PatchServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/PatchServiceEndPoint.java index 338bf4189..3f6d81f68 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/PatchServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/PatchServiceEndPoint.java @@ -23,14 +23,12 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; /** * A JAX-RS endpoint to manage patches. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java index c0b641856..7461965b4 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ProfileServiceEndPoint.java @@ -32,8 +32,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.*; import javax.ws.rs.core.Context; @@ -47,7 +45,6 @@ /** * A JAX-RS endpoint to manage {@link Profile}s and {@link Persona}s. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( @@ -76,22 +73,18 @@ public ProfileServiceEndPoint() { LOGGER.info("Initializing profile service endpoint..."); } - @WebMethod(exclude = true) public void setProfileService(ProfileService profileService) { this.profileService = profileService; } - @WebMethod(exclude = true) public void setEventService(EventService eventService) { this.eventService = eventService; } - @WebMethod(exclude = true) public void setSegmentService(SegmentService segmentService) { this.segmentService = segmentService; } - @WebMethod(exclude = true) public void setLocalizationHelper(LocalizationHelper localizationHelper) { this.localizationHelper = localizationHelper; } @@ -439,12 +432,10 @@ public PartialList getSessionEvents(@PathParam("sessionId") String sessio return eventService.searchEvents(sessionId, eventTypes, query, offset, size, sortBy); } - @WebMethod(exclude = true) public PartialList findProfileSessions(String profileId) { return null; } - @WebMethod(exclude = true) public boolean matchCondition(Condition condition, Profile profile, Session session) { return profileService.matchCondition(condition, profile, session); } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/QueryServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/QueryServiceEndPoint.java index 8b2b2a7c1..56168259d 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/QueryServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/QueryServiceEndPoint.java @@ -28,8 +28,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.*; import javax.ws.rs.core.Context; @@ -40,7 +38,6 @@ /** * A JAX-RS endpoint to perform queries against context-server data. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( @@ -58,13 +55,10 @@ public class QueryServiceEndPoint { @Reference private LocalizationHelper localizationHelper; - @WebMethod(exclude = true) public void setQueryService(QueryService queryService) { this.queryService = queryService; } - - @WebMethod(exclude = true) public void setLocalizationHelper(LocalizationHelper localizationHelper) { this.localizationHelper = localizationHelper; } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/RulesServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/RulesServiceEndPoint.java index f204a3929..657ea7bc2 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/RulesServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/RulesServiceEndPoint.java @@ -29,8 +29,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.Map; @@ -39,7 +37,6 @@ /** * A JAX-RS endpoint to manage {@link Rule}s. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( @@ -59,7 +56,6 @@ public RulesServiceEndPoint() { LOGGER.info("Initializing rule service endpoint..."); } - @WebMethod(exclude=true) public void setRulesService(RulesService rulesService) { this.rulesService = rulesService; } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ScopeServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ScopeServiceEndPoint.java index a9dc82041..6ec5a054a 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ScopeServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ScopeServiceEndPoint.java @@ -25,15 +25,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; +import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.util.List; @@ -41,7 +33,6 @@ /** * A JAX-RS endpoint to manage {@link org.apache.unomi.api.Scope}s. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing(allowAllOrigins = true, allowCredentials = true) @@ -58,7 +49,6 @@ public ScopeServiceEndPoint() { LOGGER.info("Initializing scope service endpoint..."); } - @WebMethod(exclude = true) public void setScopeService(ScopeService scopeService) { this.scopeService = scopeService; } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ScoringServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ScoringServiceEndPoint.java index 2c4dda495..471e419e0 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ScoringServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ScoringServiceEndPoint.java @@ -30,8 +30,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.List; @@ -39,7 +37,6 @@ /** * A JAX-RS endpoint to manage {@link Scoring}s */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( @@ -59,7 +56,6 @@ public ScoringServiceEndPoint() { LOGGER.info("Initializing scoring service endpoint..."); } - @WebMethod(exclude = true) public void setSegmentService(SegmentService segmentService) { this.segmentService = segmentService; } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/SegmentServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/SegmentServiceEndPoint.java index d987f2b03..24f4d8878 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/SegmentServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/SegmentServiceEndPoint.java @@ -30,8 +30,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.List; @@ -39,7 +37,6 @@ /** * A JAX-RS endpoint to manage {@link Segment}s. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( @@ -59,7 +56,6 @@ public SegmentServiceEndPoint() { LOGGER.info("Initializing segment service endpoint..."); } - @WebMethod(exclude=true) public void setSegmentService(SegmentService segmentService) { this.segmentService = segmentService; } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/UserListServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/UserListServiceEndPoint.java index 910f7564f..bbb12496f 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/UserListServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/UserListServiceEndPoint.java @@ -30,8 +30,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jws.WebMethod; -import javax.jws.WebService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.List; @@ -39,7 +37,6 @@ /** * A JAX-RS endpoint to manage {@link UserList}s. */ -@WebService @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @CrossOriginResourceSharing( @@ -59,7 +56,6 @@ public UserListServiceEndPoint() { LOGGER.info("Initializing user lists service endpoint..."); } - @WebMethod(exclude=true) public void setUserListService(UserListService userListService) { this.userListService = userListService; } diff --git a/rest/src/main/java/org/apache/unomi/rest/server/RestServer.java b/rest/src/main/java/org/apache/unomi/rest/server/RestServer.java index 1f49acd13..440dadd46 100644 --- a/rest/src/main/java/org/apache/unomi/rest/server/RestServer.java +++ b/rest/src/main/java/org/apache/unomi/rest/server/RestServer.java @@ -233,8 +233,8 @@ public void run() { openApiFeature.setLicense("Apache 2.0 License"); openApiFeature.setLicenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html"); openApiFeature.setScan(false); - openApiFeature.setUseContextBasedConfig( - true); //Set resourceClasses = serviceBeans.stream().map(service -> service.getClass().getName()).collect(toSet()); + openApiFeature.setUseContextBasedConfig(true); + //Set resourceClasses = serviceBeans.stream().map(service -> service.getClass().getName()).collect(toSet()); OpenApiCustomizer customizer = new OpenApiCustomizer(); customizer.setDynamicBasePath(true); openApiFeature.setCustomizer(customizer); diff --git a/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 90861557c..36218d094 100644 --- a/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -67,8 +67,7 @@ - + diff --git a/wab/src/main/java/org/apache/unomi/web/ContextServlet.java b/wab/src/main/java/org/apache/unomi/web/ContextServlet.java index 785a80a24..b0f6b5a23 100644 --- a/wab/src/main/java/org/apache/unomi/web/ContextServlet.java +++ b/wab/src/main/java/org/apache/unomi/web/ContextServlet.java @@ -47,14 +47,23 @@ public class ContextServlet extends HttpServlet { private ConfigSharingService configSharingService; - @Override - public void init(ServletConfig config) throws ServletException { - super.init(config); + public ContextServlet() { + super(); + LOGGER.info("ContextServlet created."); + } + + public void setup() { configSharingService.setProperty("profileIdCookieName", profileIdCookieName); configSharingService.setProperty("profileIdCookieDomain", profileIdCookieDomain); configSharingService.setProperty("profileIdCookieMaxAgeInSeconds", profileIdCookieMaxAgeInSeconds); configSharingService.setProperty("profileIdCookieHttpOnly", profileIdCookieHttpOnly); configSharingService.setProperty("publicPostRequestBytesLimit", publicPostRequestBytesLimit); + LOGGER.info("ContextServlet setup done"); + } + + @Override + public void init(ServletConfig config) throws ServletException { + super.init(config); LOGGER.info("ContextServlet initialized."); } diff --git a/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml index ef24f2c8f..9e7aed5c8 100644 --- a/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -29,8 +29,7 @@ - + From a2f39dc34c13069d324dbdd0912f092e770b97da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Thu, 14 Aug 2025 17:40:37 +0200 Subject: [PATCH 12/30] UNOMI-876: Remove useless dependency of slf4j --- api/pom.xml | 1 + kar/src/main/feature/feature.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/api/pom.xml b/api/pom.xml index cfe1c8636..4d59f62a1 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -53,6 +53,7 @@ org.slf4j slf4j-api + provided com.fasterxml.jackson.core diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml index 8b019704e..9b1fbfadb 100644 --- a/kar/src/main/feature/feature.xml +++ b/kar/src/main/feature/feature.xml @@ -28,6 +28,7 @@ config scr http + pax-logging cxf cxf-jaxrs cxf-features-metrics From ef3b4a067ea0acbd42bcbc7e2c19e18a00ebeb26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Thu, 14 Aug 2025 17:55:24 +0200 Subject: [PATCH 13/30] UNOMI-876: Rename tools module to command and refactor build order to allow verification of features during build. --- {tools => commands}/pom.xml | 6 ++-- {tools => commands}/shell-commands/pom.xml | 2 +- .../org/apache/unomi/shell/actions/Start.java | 0 .../org/apache/unomi/shell/actions/Stop.java | 0 .../apache/unomi/shell/actions/Version.java | 0 .../unomi/shell/migration/Migration.java | 0 .../shell/migration/MigrationException.java | 0 .../shell/migration/MigrationService.java | 0 .../shell/migration/actions/Migrate.java | 0 .../shell/migration/impl/MigrationTo121.java | 0 .../shell/migration/impl/MigrationTo122.java | 0 .../shell/migration/impl/MigrationTo150.java | 0 .../migration/service/MigrationConfig.java | 0 .../service/MigrationConfigProperty.java | 0 .../migration/service/MigrationContext.java | 0 .../migration/service/MigrationScript.java | 0 .../service/MigrationServiceImpl.java | 0 .../migration/utils/HttpRequestException.java | 0 .../shell/migration/utils/HttpUtils.java | 0 .../shell/migration/utils/MigrationUtils.java | 0 .../services/UnomiManagementService.java | 0 .../internal/UnomiManagementServiceImpl.java | 0 .../migrate-1.2.1-00-migrateTags.groovy | 0 ...ate-1.2.2-00-deleteOldIndexTemplate.groovy | 0 .../migrate-1.5.0-00-elasticSearch7.4.groovy | 0 .../migration/migrate-2.0.0-01-aliases.groovy | 0 .../migrate-2.0.0-05-globalReindex.groovy | 0 .../migrate-2.0.0-10-profileReindex.groovy | 0 .../migrate-2.0.0-15-eventsReindex.groovy | 0 .../migration/migrate-2.0.0-20-scopes.groovy | 0 .../migrate-2.2.0-00-migrationEnvCheck.groovy | 0 .../migrate-2.2.0-05-indicesReduction.groovy | 0 ...0-10-rolloverAndMigrateEventSession.groovy | 0 .../migrate-2.4.0-15-viewEventPagePath.groovy | 0 ...5.0-00-cleanPastEventProfileSession.groovy | 0 .../migrate-2.5.0-10-loginEventScope.groovy | 0 .../resources/org.apache.unomi.migration.cfg | 0 .../requestBody/2.0.0/alias_save_bulk.ndjson | 0 .../requestBody/2.0.0/base_index_mapping.json | 0 .../2.0.0/base_reindex_request.json | 0 .../base_set_index_readonly_request.json | 0 .../2.0.0/event_delete_by_query.json | 0 .../requestBody/2.0.0/event_migrate.painless | 0 .../requestBody/2.0.0/mappings/campaign.json | 0 .../2.0.0/mappings/conditionType.json | 0 .../requestBody/2.0.0/mappings/goal.json | 0 .../requestBody/2.0.0/mappings/patch.json | 0 .../requestBody/2.0.0/mappings/rule.json | 0 .../requestBody/2.0.0/mappings/scope.json | 0 .../requestBody/2.0.0/mappings/scoring.json | 0 .../requestBody/2.0.0/mappings/segment.json | 0 .../2.0.0/profile_merged_delete.json | 0 .../2.0.0/profile_merged_search.json | 0 .../2.0.0/profile_migrate.painless | 0 .../requestBody/2.0.0/scope_save_bulk.ndjson | 0 .../requestBody/2.0.0/scope_search.json | 0 .../2.0.0/scope_search_by_item_id.json | 0 .../base_index_withRollover_request.json | 0 .../2.2.0/base_reindex_request.json | 0 .../2.2.0/configure_alias_body.json | 0 .../2.2.0/create_rollover_policy_query.json | 0 .../2.2.0/match_all_body_request.json | 0 .../requestBody/2.2.0/suffix_ids.painless | 0 .../2.2.0/update_settings_poll_interval.json | 0 .../2.4.0/base_update_by_query_request.json | 0 .../view_event_page_path_migrate.painless | 0 .../2.5.0/login_event_scope_migrate.painless | 0 .../2.5.0/remove_pastEvents_session.painless | 0 .../2.5.0/scope_update_by_query_request.json | 0 .../2.5.0/update_pastEvents_profile.painless | 0 .../resources/requestBody/updateMapping.json | 0 .../shell-dev-commands/pom.xml | 2 +- .../unomi/shell/commands/ActionList.java | 0 .../unomi/shell/commands/ActionView.java | 0 .../unomi/shell/commands/ConditionList.java | 0 .../unomi/shell/commands/ConditionView.java | 0 .../shell/commands/DeployDefinition.java | 0 .../commands/DeploymentCommandSupport.java | 0 .../unomi/shell/commands/EventList.java | 0 .../unomi/shell/commands/EventSearch.java | 0 .../unomi/shell/commands/EventTail.java | 0 .../unomi/shell/commands/EventView.java | 0 .../shell/commands/ListCommandSupport.java | 0 .../unomi/shell/commands/ProfileList.java | 0 .../unomi/shell/commands/ProfileRemove.java | 0 .../unomi/shell/commands/ProfileView.java | 0 .../apache/unomi/shell/commands/RuleList.java | 0 .../unomi/shell/commands/RuleRemove.java | 0 .../unomi/shell/commands/RuleResetStats.java | 0 .../apache/unomi/shell/commands/RuleTail.java | 0 .../apache/unomi/shell/commands/RuleView.java | 0 .../unomi/shell/commands/RuleWatch.java | 0 .../unomi/shell/commands/SegmentList.java | 0 .../unomi/shell/commands/SegmentRemove.java | 0 .../unomi/shell/commands/SegmentView.java | 0 .../unomi/shell/commands/SessionList.java | 0 .../unomi/shell/commands/SessionView.java | 0 .../shell/commands/TailCommandSupport.java | 0 .../shell/commands/UndeployDefinition.java | 0 extensions/geonames/rest/pom.xml | 4 --- extensions/groovy-actions/karaf-kar/pom.xml | 3 +- extensions/groovy-actions/rest/pom.xml | 4 --- extensions/lists-extension/rest/pom.xml | 5 --- extensions/privacy-extension/rest/pom.xml | 4 --- .../router/router-karaf-feature/pom.xml | 3 +- extensions/router/router-rest/pom.xml | 4 --- .../salesforce-connector/karaf-kar/pom.xml | 3 +- extensions/salesforce-connector/rest/pom.xml | 4 --- extensions/weather-update/karaf-kar/pom.xml | 3 +- kar/pom.xml | 2 +- pom.xml | 31 +++++++++++++++---- rest/pom.xml | 4 --- 112 files changed, 35 insertions(+), 49 deletions(-) rename {tools => commands}/pom.xml (90%) rename {tools => commands}/shell-commands/pom.xml (99%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java (100%) rename {tools => commands}/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy (100%) rename {tools => commands}/shell-commands/src/main/resources/org.apache.unomi.migration.cfg (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless (100%) rename {tools => commands}/shell-commands/src/main/resources/requestBody/updateMapping.json (100%) rename {tools => commands}/shell-dev-commands/pom.xml (98%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java (100%) rename {tools => commands}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java (100%) diff --git a/tools/pom.xml b/commands/pom.xml similarity index 90% rename from tools/pom.xml rename to commands/pom.xml index 214cc119f..15d2d11ab 100644 --- a/tools/pom.xml +++ b/commands/pom.xml @@ -22,9 +22,9 @@ unomi-root 3.0.0-SNAPSHOT - unomi-tools - Apache Unomi :: Tools - Apache Unomi Context Server tools + unomi-commands + Apache Unomi :: Commands + Apache Unomi Context Server commands pom diff --git a/tools/shell-commands/pom.xml b/commands/shell-commands/pom.xml similarity index 99% rename from tools/shell-commands/pom.xml rename to commands/shell-commands/pom.xml index c9032dd54..1eb3bc4a1 100644 --- a/tools/shell-commands/pom.xml +++ b/commands/shell-commands/pom.xml @@ -18,7 +18,7 @@ 4.0.0 - unomi-tools + unomi-commands org.apache.unomi 3.0.0-SNAPSHOT diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java b/commands/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java similarity index 100% rename from tools/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java rename to commands/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy diff --git a/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy b/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy similarity index 100% rename from tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy rename to commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy diff --git a/tools/shell-commands/src/main/resources/org.apache.unomi.migration.cfg b/commands/shell-commands/src/main/resources/org.apache.unomi.migration.cfg similarity index 100% rename from tools/shell-commands/src/main/resources/org.apache.unomi.migration.cfg rename to commands/shell-commands/src/main/resources/org.apache.unomi.migration.cfg diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson b/commands/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless b/commands/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless b/commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson b/commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json b/commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json rename to commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json b/commands/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json rename to commands/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json b/commands/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json rename to commands/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json b/commands/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json rename to commands/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json b/commands/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json rename to commands/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json b/commands/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json rename to commands/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless b/commands/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless rename to commands/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless diff --git a/tools/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json b/commands/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json rename to commands/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json b/commands/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json rename to commands/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless b/commands/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless rename to commands/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless diff --git a/tools/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless b/commands/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless rename to commands/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless diff --git a/tools/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless b/commands/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless rename to commands/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless diff --git a/tools/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json b/commands/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json rename to commands/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json diff --git a/tools/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless b/commands/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless rename to commands/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless diff --git a/tools/shell-commands/src/main/resources/requestBody/updateMapping.json b/commands/shell-commands/src/main/resources/requestBody/updateMapping.json similarity index 100% rename from tools/shell-commands/src/main/resources/requestBody/updateMapping.json rename to commands/shell-commands/src/main/resources/requestBody/updateMapping.json diff --git a/tools/shell-dev-commands/pom.xml b/commands/shell-dev-commands/pom.xml similarity index 98% rename from tools/shell-dev-commands/pom.xml rename to commands/shell-dev-commands/pom.xml index 492395a15..bb7b530ab 100644 --- a/tools/shell-dev-commands/pom.xml +++ b/commands/shell-dev-commands/pom.xml @@ -18,7 +18,7 @@ 4.0.0 - unomi-tools + unomi-commands org.apache.unomi 3.0.0-SNAPSHOT diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java diff --git a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java b/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java similarity index 100% rename from tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java rename to commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java diff --git a/extensions/geonames/rest/pom.xml b/extensions/geonames/rest/pom.xml index 4093f1a3e..1ab94f658 100644 --- a/extensions/geonames/rest/pom.xml +++ b/extensions/geonames/rest/pom.xml @@ -56,10 +56,6 @@ javax.servlet-api provided - - org.apache.geronimo.specs - geronimo-ws-metadata_2.0_spec - org.apache.commons diff --git a/extensions/groovy-actions/karaf-kar/pom.xml b/extensions/groovy-actions/karaf-kar/pom.xml index 9f42d3e87..f1233013b 100644 --- a/extensions/groovy-actions/karaf-kar/pom.xml +++ b/extensions/groovy-actions/karaf-kar/pom.xml @@ -62,8 +62,7 @@ verify-feature - - + process-resources verify diff --git a/extensions/groovy-actions/rest/pom.xml b/extensions/groovy-actions/rest/pom.xml index 4538b8763..856051a3e 100644 --- a/extensions/groovy-actions/rest/pom.xml +++ b/extensions/groovy-actions/rest/pom.xml @@ -66,10 +66,6 @@ javax.ws.rs javax.ws.rs-api - - org.apache.geronimo.specs - geronimo-ws-metadata_2.0_spec - org.apache.cxf diff --git a/extensions/lists-extension/rest/pom.xml b/extensions/lists-extension/rest/pom.xml index db0c58cac..94e025562 100644 --- a/extensions/lists-extension/rest/pom.xml +++ b/extensions/lists-extension/rest/pom.xml @@ -56,11 +56,6 @@ provided - - org.apache.geronimo.specs - geronimo-ws-metadata_2.0_spec - - org.apache.cxf cxf-rt-frontend-jaxws diff --git a/extensions/privacy-extension/rest/pom.xml b/extensions/privacy-extension/rest/pom.xml index 3421f66cb..0a768d88e 100644 --- a/extensions/privacy-extension/rest/pom.xml +++ b/extensions/privacy-extension/rest/pom.xml @@ -56,10 +56,6 @@ javax.servlet-api provided - - org.apache.geronimo.specs - geronimo-ws-metadata_2.0_spec - org.apache.cxf diff --git a/extensions/router/router-karaf-feature/pom.xml b/extensions/router/router-karaf-feature/pom.xml index 50d67e4a0..801a1a05e 100644 --- a/extensions/router/router-karaf-feature/pom.xml +++ b/extensions/router/router-karaf-feature/pom.xml @@ -158,8 +158,7 @@ verify-feature - - + process-resources verify diff --git a/extensions/router/router-rest/pom.xml b/extensions/router/router-rest/pom.xml index 748081407..7d1749314 100644 --- a/extensions/router/router-rest/pom.xml +++ b/extensions/router/router-rest/pom.xml @@ -63,10 +63,6 @@ javax.ws.rs javax.ws.rs-api - - org.apache.geronimo.specs - geronimo-ws-metadata_2.0_spec - org.apache.cxf diff --git a/extensions/salesforce-connector/karaf-kar/pom.xml b/extensions/salesforce-connector/karaf-kar/pom.xml index f3c497134..fb1a113bd 100644 --- a/extensions/salesforce-connector/karaf-kar/pom.xml +++ b/extensions/salesforce-connector/karaf-kar/pom.xml @@ -91,8 +91,7 @@ verify-feature - - + process-resources verify diff --git a/extensions/salesforce-connector/rest/pom.xml b/extensions/salesforce-connector/rest/pom.xml index fd8d30925..182bd129d 100644 --- a/extensions/salesforce-connector/rest/pom.xml +++ b/extensions/salesforce-connector/rest/pom.xml @@ -71,10 +71,6 @@ javax.ws.rs javax.ws.rs-api - - org.apache.geronimo.specs - geronimo-ws-metadata_2.0_spec - org.apache.cxf diff --git a/extensions/weather-update/karaf-kar/pom.xml b/extensions/weather-update/karaf-kar/pom.xml index 16f9d6e3c..2bb01b6c9 100644 --- a/extensions/weather-update/karaf-kar/pom.xml +++ b/extensions/weather-update/karaf-kar/pom.xml @@ -83,8 +83,7 @@ verify-feature - - + process-resources verify diff --git a/kar/pom.xml b/kar/pom.xml index 688417f1e..82fdbce8f 100644 --- a/kar/pom.xml +++ b/kar/pom.xml @@ -163,7 +163,7 @@ generate-features - process-resources + generate-resources features-generate-descriptor diff --git a/pom.xml b/pom.xml index d84a7fef5..90bc44494 100644 --- a/pom.xml +++ b/pom.xml @@ -96,7 +96,6 @@ 5.27.1 3.6.5 2.1 - 1.1.3 4.0.28 4.5.14 4.4.16 @@ -1444,15 +1443,35 @@ lifecycle-watcher persistence-elasticsearch services - manual + + plugins/baseplugin + plugins/hover-event + plugins/past-event + plugins/tracked-event + plugins/kafka-injector + plugins/mail + plugins/optimization-test + plugins/request + + extensions/healthcheck + extensions/log4j-extension + extensions/geonames + extensions/json-schema + extensions/lists-extension + extensions/privacy-extension + extensions/web-tracker + commands wab rest + kar + + extensions/groovy-actions + extensions/router + extensions/salesforce-connector + extensions/weather-update graphql - plugins - extensions - tools + manual samples - kar package diff --git a/rest/pom.xml b/rest/pom.xml index f026b551e..318427279 100644 --- a/rest/pom.xml +++ b/rest/pom.xml @@ -76,10 +76,6 @@ javax.ws.rs javax.ws.rs-api - - org.apache.geronimo.specs - geronimo-ws-metadata_2.0_spec - org.apache.commons From 643e2e86a1e4e62f0142bba269e01d2da5cbc0ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Thu, 14 Aug 2025 23:04:02 +0200 Subject: [PATCH 14/30] UNOMI-876: Refactor build to ensure dependency order and feature verification. Fix slf4j provided dependency. diff --git c/extensions/geonames/rest/pom.xml i/extensions/geonames/rest/pom.xml index 1ab94f658..5b0e05863 100644 --- c/extensions/geonames/rest/pom.xml +++ i/extensions/geonames/rest/pom.xml @@ -87,6 +87,11 @@ jackson-jaxrs-json-provider provided + + org.slf4j + slf4j-api + provided + diff --git c/extensions/geonames/services/pom.xml i/extensions/geonames/services/pom.xml index b532dcd8a..a4c69fef2 100644 --- c/extensions/geonames/services/pom.xml +++ i/extensions/geonames/services/pom.xml @@ -55,6 +55,11 @@ commons-beanutils provided + + org.slf4j + slf4j-api + provided + diff --git c/extensions/groovy-actions/rest/pom.xml i/extensions/groovy-actions/rest/pom.xml index 856051a3e..1f9d77e80 100644 --- c/extensions/groovy-actions/rest/pom.xml +++ i/extensions/groovy-actions/rest/pom.xml @@ -92,6 +92,11 @@ jackson-jaxrs-json-provider provided + + org.slf4j + slf4j-api + provided + diff --git c/extensions/groovy-actions/services/pom.xml i/extensions/groovy-actions/services/pom.xml index 76c30b85b..48c24abb7 100644 --- c/extensions/groovy-actions/services/pom.xml +++ i/extensions/groovy-actions/services/pom.xml @@ -74,8 +74,8 @@ commons-io commons-io + provided - com.fasterxml.jackson.core jackson-core @@ -86,6 +86,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + org.apache.groovy groovy diff --git c/extensions/healthcheck/pom.xml i/extensions/healthcheck/pom.xml index a41479ad8..3de7e60e9 100644 --- c/extensions/healthcheck/pom.xml +++ i/extensions/healthcheck/pom.xml @@ -76,6 +76,11 @@ commons-lang3 provided + + org.slf4j + slf4j-api + provided + org.apache.httpcomponents httpclient-osgi diff --git c/extensions/json-schema/rest/pom.xml i/extensions/json-schema/rest/pom.xml index 0753ad861..a787b2094 100644 --- c/extensions/json-schema/rest/pom.xml +++ i/extensions/json-schema/rest/pom.xml @@ -58,8 +58,8 @@ provided - jakarta.jws - jakarta.jws-api + javax.ws.rs + javax.ws.rs-api provided @@ -73,10 +73,9 @@ commons-lang3 provided
- - javax.ws.rs - javax.ws.rs-api + org.slf4j + slf4j-api provided diff --git c/extensions/json-schema/services/pom.xml i/extensions/json-schema/services/pom.xml index b69f8609f..48bdb16e5 100644 --- c/extensions/json-schema/services/pom.xml +++ i/extensions/json-schema/services/pom.xml @@ -81,37 +81,36 @@ com.fasterxml.jackson.core jackson-core - ${version.schema.jackson} - compile + provided com.fasterxml.jackson.core jackson-databind - ${version.schema.jackson} - compile + provided com.fasterxml.jackson.core jackson-annotations - ${version.schema.jackson} - compile + provided com.fasterxml.jackson.dataformat jackson-dataformat-yaml - ${version.schema.jackson} - compile + provided + + + org.slf4j + slf4j-api + provided com.ethlo.time itu ${version.schema.itu} - compile org.yaml snakeyaml - compile diff --git c/extensions/lists-extension/rest/pom.xml i/extensions/lists-extension/rest/pom.xml index 94e025562..befb85496 100644 --- c/extensions/lists-extension/rest/pom.xml +++ i/extensions/lists-extension/rest/pom.xml @@ -81,6 +81,11 @@ jackson-jaxrs-json-provider provided + + org.slf4j + slf4j-api + provided + diff --git c/extensions/pom.xml i/extensions/pom.xml index 3b29d26cc..df1084a3b 100644 --- c/extensions/pom.xml +++ i/extensions/pom.xml @@ -28,18 +28,4 @@ Apache Unomi Context Server extensions pom - - lists-extension - privacy-extension - geonames - router - salesforce-connector - weather-update - web-tracker - groovy-actions - json-schema - log4j-extension - healthcheck - - diff --git c/extensions/privacy-extension/services/pom.xml i/extensions/privacy-extension/services/pom.xml index 2e22cf82d..fc111966f 100644 --- c/extensions/privacy-extension/services/pom.xml +++ i/extensions/privacy-extension/services/pom.xml @@ -56,6 +56,11 @@ cxf-rt-rs-security-cors provided
+ + org.slf4j + slf4j-api + provided + diff --git c/extensions/router/router-core/pom.xml i/extensions/router/router-core/pom.xml index 379302271..884cfe6dd 100644 --- c/extensions/router/router-core/pom.xml +++ i/extensions/router/router-core/pom.xml @@ -131,6 +131,11 @@ ${kafka.client.version} provided
+ + org.slf4j + slf4j-api + provided + diff --git c/extensions/router/router-rest/pom.xml i/extensions/router/router-rest/pom.xml index 7d1749314..b4b2d72a6 100644 --- c/extensions/router/router-rest/pom.xml +++ i/extensions/router/router-rest/pom.xml @@ -62,6 +62,7 @@ javax.ws.rs javax.ws.rs-api + provided @@ -85,6 +86,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + diff --git c/extensions/router/router-service/pom.xml i/extensions/router/router-service/pom.xml index 1456a75ed..39215d0ca 100644 --- c/extensions/router/router-service/pom.xml +++ i/extensions/router/router-service/pom.xml @@ -58,10 +58,17 @@ commons-beanutils commons-beanutils + provided org.apache.commons commons-lang3 + provided + + + org.slf4j + slf4j-api + provided diff --git c/extensions/salesforce-connector/services/pom.xml i/extensions/salesforce-connector/services/pom.xml index 8ab1d1e54..9ee206f81 100644 --- c/extensions/salesforce-connector/services/pom.xml +++ i/extensions/salesforce-connector/services/pom.xml @@ -43,6 +43,7 @@ org.apache.commons commons-lang3 + provided @@ -101,6 +102,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + diff --git c/extensions/weather-update/core/pom.xml i/extensions/weather-update/core/pom.xml index fa2aff031..a72d1493e 100755 --- c/extensions/weather-update/core/pom.xml +++ i/extensions/weather-update/core/pom.xml @@ -50,6 +50,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + diff --git c/graphql/karaf-feature/src/main/feature/feature.xml i/graphql/karaf-feature/src/main/feature/feature.xml index 95552d6c0..fecbc0508 100644 --- c/graphql/karaf-feature/src/main/feature/feature.xml +++ i/graphql/karaf-feature/src/main/feature/feature.xml @@ -16,8 +16,7 @@ ~ limitations under the License. --> - + unomi-kar wrap:mvn:org.checkerframework/checker-compat-qual/${checker-compat-qual.version} wrap:mvn:com.google.errorprone/error_prone_annotations/${error_prone_annotations.version} @@ -47,7 +46,7 @@ mvn:org.eclipse.jetty/jetty-security/${jetty.version} mvn:org.eclipse.jetty/jetty-server/${jetty.version} mvn:org.eclipse.jetty/jetty-http/${jetty.version} - mvn:${servlet.spec.groupId}/${servlet.spec.artefactId}/${servlet.spec.version} + mvn:${servlet.spec.groupId}/${servlet.spec.artifactId}/${servlet.spec.version} mvn:org.apache.unomi/cdp-graphql-api-impl/${project.version} mvn:org.apache.unomi/unomi-graphql-ui/${project.version} diff --git c/kar/src/main/feature/feature.xml i/kar/src/main/feature/feature.xml index 9b1fbfadb..01d087ff8 100644 --- c/kar/src/main/feature/feature.xml +++ i/kar/src/main/feature/feature.xml @@ -28,7 +28,7 @@ config scr http - pax-logging + log cxf cxf-jaxrs cxf-features-metrics @@ -47,7 +47,6 @@ mvn:org.apache.unomi/unomi-plugins-request/${project.version}/cfg/requestcfg mvn:org.apache.unomi/unomi-plugins-base/${project.version}/cfg/pluginsbasecfg mvn:org.apache.unomi/cxs-geonames-services/${project.version}/cfg/geonamescfg - mvn:org.apache.unomi/unomi-groovy-actions-services/${project.version}/cfg/groovyactionscfg mvn:org.apache.unomi/unomi-json-schema-services/${project.version}/cfg/schemacfg mvn:commons-collections/commons-collections/${commons-collections.version} mvn:org.apache.commons/commons-lang3/${commons-lang3.version} diff --git c/persistence-elasticsearch/core/pom.xml i/persistence-elasticsearch/core/pom.xml index 31b46f3d8..6e1fccdc5 100644 --- c/persistence-elasticsearch/core/pom.xml +++ i/persistence-elasticsearch/core/pom.xml @@ -67,6 +67,11 @@ hazelcast-all provided
+ + org.slf4j + slf4j-api + provided + com.fasterxml.jackson.core diff --git c/persistence-spi/pom.xml i/persistence-spi/pom.xml index 7f5e30217..81c410e5e 100644 --- c/persistence-spi/pom.xml +++ i/persistence-spi/pom.xml @@ -61,6 +61,11 @@ commons-collections provided + + org.slf4j + slf4j-api + provided + diff --git c/plugins/baseplugin/pom.xml i/plugins/baseplugin/pom.xml index cbe8c37f3..971f87566 100644 --- c/plugins/baseplugin/pom.xml +++ i/plugins/baseplugin/pom.xml @@ -81,6 +81,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + diff --git c/plugins/mail/pom.xml i/plugins/mail/pom.xml index cbd324c27..3d67809dd 100644 --- c/plugins/mail/pom.xml +++ i/plugins/mail/pom.xml @@ -43,6 +43,12 @@ org.antlr ST4 + + + org.slf4j + slf4j-api + provided + diff --git c/plugins/pom.xml i/plugins/pom.xml index d88748ff5..c06b4f2fc 100644 --- c/plugins/pom.xml +++ i/plugins/pom.xml @@ -28,18 +28,7 @@ Apache Unomi Context Server plugins pom - - baseplugin - request - mail - optimization-test - hover-event - past-event - tracked-event - kafka-injector - - - + org.apache.unomi unomi-api diff --git c/plugins/request/pom.xml i/plugins/request/pom.xml index 926dd4b1f..2663e426d 100644 --- c/plugins/request/pom.xml +++ i/plugins/request/pom.xml @@ -49,6 +49,12 @@ yauaa + + org.slf4j + slf4j-api + provided + + junit junit diff --git c/pom.xml i/pom.xml index 90bc44494..80ad69118 100644 --- c/pom.xml +++ i/pom.xml @@ -1444,6 +1444,7 @@ persistence-elasticsearch services + plugins plugins/baseplugin plugins/hover-event plugins/past-event @@ -1453,6 +1454,7 @@ plugins/optimization-test plugins/request + extensions extensions/healthcheck extensions/log4j-extension extensions/geonames @@ -1463,6 +1465,7 @@ commands wab rest + manual kar extensions/groovy-actions @@ -1470,7 +1473,6 @@ extensions/salesforce-connector extensions/weather-update graphql - manual samples package diff --git c/rest/pom.xml i/rest/pom.xml index 318427279..1059b9dfd 100644 --- c/rest/pom.xml +++ i/rest/pom.xml @@ -154,6 +154,12 @@ cxf-rt-rs-security-cors provided + + + org.slf4j + slf4j-api + provided + diff --git c/scripting/pom.xml i/scripting/pom.xml index 64d684853..e0489ff17 100644 --- c/scripting/pom.xml +++ i/scripting/pom.xml @@ -53,6 +53,12 @@ org.apache.commons commons-lang3 + provided + + + org.slf4j + slf4j-api + provided diff --git c/wab/pom.xml i/wab/pom.xml index 2d399f88b..8c58283ba 100644 --- c/wab/pom.xml +++ i/wab/pom.xml @@ -102,6 +102,11 @@ commons-beanutils provided + + org.slf4j + slf4j-api + provided + --- extensions/geonames/rest/pom.xml | 5 +++++ extensions/geonames/services/pom.xml | 5 +++++ extensions/groovy-actions/rest/pom.xml | 5 +++++ extensions/groovy-actions/services/pom.xml | 7 ++++++- extensions/healthcheck/pom.xml | 5 +++++ extensions/json-schema/rest/pom.xml | 9 ++++----- extensions/json-schema/services/pom.xml | 19 +++++++++---------- extensions/lists-extension/rest/pom.xml | 5 +++++ extensions/pom.xml | 14 -------------- extensions/privacy-extension/services/pom.xml | 5 +++++ extensions/router/router-core/pom.xml | 5 +++++ extensions/router/router-rest/pom.xml | 6 ++++++ extensions/router/router-service/pom.xml | 7 +++++++ .../salesforce-connector/services/pom.xml | 6 ++++++ extensions/weather-update/core/pom.xml | 5 +++++ .../src/main/feature/feature.xml | 5 ++--- kar/src/main/feature/feature.xml | 3 +-- persistence-elasticsearch/core/pom.xml | 5 +++++ persistence-spi/pom.xml | 5 +++++ plugins/baseplugin/pom.xml | 5 +++++ plugins/mail/pom.xml | 6 ++++++ plugins/pom.xml | 13 +------------ plugins/request/pom.xml | 6 ++++++ pom.xml | 4 +++- rest/pom.xml | 6 ++++++ scripting/pom.xml | 6 ++++++ wab/pom.xml | 5 +++++ 27 files changed, 129 insertions(+), 48 deletions(-) diff --git a/extensions/geonames/rest/pom.xml b/extensions/geonames/rest/pom.xml index 1ab94f658..5b0e05863 100644 --- a/extensions/geonames/rest/pom.xml +++ b/extensions/geonames/rest/pom.xml @@ -87,6 +87,11 @@ jackson-jaxrs-json-provider provided + + org.slf4j + slf4j-api + provided + diff --git a/extensions/geonames/services/pom.xml b/extensions/geonames/services/pom.xml index b532dcd8a..a4c69fef2 100644 --- a/extensions/geonames/services/pom.xml +++ b/extensions/geonames/services/pom.xml @@ -55,6 +55,11 @@ commons-beanutils provided + + org.slf4j + slf4j-api + provided + diff --git a/extensions/groovy-actions/rest/pom.xml b/extensions/groovy-actions/rest/pom.xml index 856051a3e..1f9d77e80 100644 --- a/extensions/groovy-actions/rest/pom.xml +++ b/extensions/groovy-actions/rest/pom.xml @@ -92,6 +92,11 @@ jackson-jaxrs-json-provider provided + + org.slf4j + slf4j-api + provided + diff --git a/extensions/groovy-actions/services/pom.xml b/extensions/groovy-actions/services/pom.xml index 76c30b85b..48c24abb7 100644 --- a/extensions/groovy-actions/services/pom.xml +++ b/extensions/groovy-actions/services/pom.xml @@ -74,8 +74,8 @@ commons-io commons-io + provided - com.fasterxml.jackson.core jackson-core @@ -86,6 +86,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + org.apache.groovy groovy diff --git a/extensions/healthcheck/pom.xml b/extensions/healthcheck/pom.xml index a41479ad8..3de7e60e9 100644 --- a/extensions/healthcheck/pom.xml +++ b/extensions/healthcheck/pom.xml @@ -76,6 +76,11 @@ commons-lang3 provided + + org.slf4j + slf4j-api + provided + org.apache.httpcomponents httpclient-osgi diff --git a/extensions/json-schema/rest/pom.xml b/extensions/json-schema/rest/pom.xml index 0753ad861..a787b2094 100644 --- a/extensions/json-schema/rest/pom.xml +++ b/extensions/json-schema/rest/pom.xml @@ -58,8 +58,8 @@ provided - jakarta.jws - jakarta.jws-api + javax.ws.rs + javax.ws.rs-api provided @@ -73,10 +73,9 @@ commons-lang3 provided - - javax.ws.rs - javax.ws.rs-api + org.slf4j + slf4j-api provided diff --git a/extensions/json-schema/services/pom.xml b/extensions/json-schema/services/pom.xml index b69f8609f..48bdb16e5 100644 --- a/extensions/json-schema/services/pom.xml +++ b/extensions/json-schema/services/pom.xml @@ -81,37 +81,36 @@ com.fasterxml.jackson.core jackson-core - ${version.schema.jackson} - compile + provided com.fasterxml.jackson.core jackson-databind - ${version.schema.jackson} - compile + provided com.fasterxml.jackson.core jackson-annotations - ${version.schema.jackson} - compile + provided com.fasterxml.jackson.dataformat jackson-dataformat-yaml - ${version.schema.jackson} - compile + provided + + + org.slf4j + slf4j-api + provided com.ethlo.time itu ${version.schema.itu} - compile org.yaml snakeyaml - compile diff --git a/extensions/lists-extension/rest/pom.xml b/extensions/lists-extension/rest/pom.xml index 94e025562..befb85496 100644 --- a/extensions/lists-extension/rest/pom.xml +++ b/extensions/lists-extension/rest/pom.xml @@ -81,6 +81,11 @@ jackson-jaxrs-json-provider provided + + org.slf4j + slf4j-api + provided + diff --git a/extensions/pom.xml b/extensions/pom.xml index 3b29d26cc..df1084a3b 100644 --- a/extensions/pom.xml +++ b/extensions/pom.xml @@ -28,18 +28,4 @@ Apache Unomi Context Server extensions pom - - lists-extension - privacy-extension - geonames - router - salesforce-connector - weather-update - web-tracker - groovy-actions - json-schema - log4j-extension - healthcheck - - diff --git a/extensions/privacy-extension/services/pom.xml b/extensions/privacy-extension/services/pom.xml index 2e22cf82d..fc111966f 100644 --- a/extensions/privacy-extension/services/pom.xml +++ b/extensions/privacy-extension/services/pom.xml @@ -56,6 +56,11 @@ cxf-rt-rs-security-cors provided + + org.slf4j + slf4j-api + provided + diff --git a/extensions/router/router-core/pom.xml b/extensions/router/router-core/pom.xml index 379302271..884cfe6dd 100644 --- a/extensions/router/router-core/pom.xml +++ b/extensions/router/router-core/pom.xml @@ -131,6 +131,11 @@ ${kafka.client.version} provided + + org.slf4j + slf4j-api + provided + diff --git a/extensions/router/router-rest/pom.xml b/extensions/router/router-rest/pom.xml index 7d1749314..b4b2d72a6 100644 --- a/extensions/router/router-rest/pom.xml +++ b/extensions/router/router-rest/pom.xml @@ -62,6 +62,7 @@ javax.ws.rs javax.ws.rs-api + provided @@ -85,6 +86,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + diff --git a/extensions/router/router-service/pom.xml b/extensions/router/router-service/pom.xml index 1456a75ed..39215d0ca 100644 --- a/extensions/router/router-service/pom.xml +++ b/extensions/router/router-service/pom.xml @@ -58,10 +58,17 @@ commons-beanutils commons-beanutils + provided org.apache.commons commons-lang3 + provided + + + org.slf4j + slf4j-api + provided diff --git a/extensions/salesforce-connector/services/pom.xml b/extensions/salesforce-connector/services/pom.xml index 8ab1d1e54..9ee206f81 100644 --- a/extensions/salesforce-connector/services/pom.xml +++ b/extensions/salesforce-connector/services/pom.xml @@ -43,6 +43,7 @@ org.apache.commons commons-lang3 + provided @@ -101,6 +102,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + diff --git a/extensions/weather-update/core/pom.xml b/extensions/weather-update/core/pom.xml index fa2aff031..a72d1493e 100755 --- a/extensions/weather-update/core/pom.xml +++ b/extensions/weather-update/core/pom.xml @@ -50,6 +50,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + diff --git a/graphql/karaf-feature/src/main/feature/feature.xml b/graphql/karaf-feature/src/main/feature/feature.xml index 95552d6c0..fecbc0508 100644 --- a/graphql/karaf-feature/src/main/feature/feature.xml +++ b/graphql/karaf-feature/src/main/feature/feature.xml @@ -16,8 +16,7 @@ ~ limitations under the License. --> - + unomi-kar wrap:mvn:org.checkerframework/checker-compat-qual/${checker-compat-qual.version} wrap:mvn:com.google.errorprone/error_prone_annotations/${error_prone_annotations.version} @@ -47,7 +46,7 @@ mvn:org.eclipse.jetty/jetty-security/${jetty.version} mvn:org.eclipse.jetty/jetty-server/${jetty.version} mvn:org.eclipse.jetty/jetty-http/${jetty.version} - mvn:${servlet.spec.groupId}/${servlet.spec.artefactId}/${servlet.spec.version} + mvn:${servlet.spec.groupId}/${servlet.spec.artifactId}/${servlet.spec.version} mvn:org.apache.unomi/cdp-graphql-api-impl/${project.version} mvn:org.apache.unomi/unomi-graphql-ui/${project.version} diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml index 9b1fbfadb..01d087ff8 100644 --- a/kar/src/main/feature/feature.xml +++ b/kar/src/main/feature/feature.xml @@ -28,7 +28,7 @@ config scr http - pax-logging + log cxf cxf-jaxrs cxf-features-metrics @@ -47,7 +47,6 @@ mvn:org.apache.unomi/unomi-plugins-request/${project.version}/cfg/requestcfg mvn:org.apache.unomi/unomi-plugins-base/${project.version}/cfg/pluginsbasecfg mvn:org.apache.unomi/cxs-geonames-services/${project.version}/cfg/geonamescfg - mvn:org.apache.unomi/unomi-groovy-actions-services/${project.version}/cfg/groovyactionscfg mvn:org.apache.unomi/unomi-json-schema-services/${project.version}/cfg/schemacfg mvn:commons-collections/commons-collections/${commons-collections.version} mvn:org.apache.commons/commons-lang3/${commons-lang3.version} diff --git a/persistence-elasticsearch/core/pom.xml b/persistence-elasticsearch/core/pom.xml index 31b46f3d8..6e1fccdc5 100644 --- a/persistence-elasticsearch/core/pom.xml +++ b/persistence-elasticsearch/core/pom.xml @@ -67,6 +67,11 @@ hazelcast-all provided + + org.slf4j + slf4j-api + provided + com.fasterxml.jackson.core diff --git a/persistence-spi/pom.xml b/persistence-spi/pom.xml index 7f5e30217..81c410e5e 100644 --- a/persistence-spi/pom.xml +++ b/persistence-spi/pom.xml @@ -61,6 +61,11 @@ commons-collections provided + + org.slf4j + slf4j-api + provided + diff --git a/plugins/baseplugin/pom.xml b/plugins/baseplugin/pom.xml index cbe8c37f3..971f87566 100644 --- a/plugins/baseplugin/pom.xml +++ b/plugins/baseplugin/pom.xml @@ -81,6 +81,11 @@ jackson-databind provided + + org.slf4j + slf4j-api + provided + diff --git a/plugins/mail/pom.xml b/plugins/mail/pom.xml index cbd324c27..3d67809dd 100644 --- a/plugins/mail/pom.xml +++ b/plugins/mail/pom.xml @@ -43,6 +43,12 @@ org.antlr ST4 + + + org.slf4j + slf4j-api + provided + diff --git a/plugins/pom.xml b/plugins/pom.xml index d88748ff5..c06b4f2fc 100644 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -28,18 +28,7 @@ Apache Unomi Context Server plugins pom - - baseplugin - request - mail - optimization-test - hover-event - past-event - tracked-event - kafka-injector - - - + org.apache.unomi unomi-api diff --git a/plugins/request/pom.xml b/plugins/request/pom.xml index 926dd4b1f..2663e426d 100644 --- a/plugins/request/pom.xml +++ b/plugins/request/pom.xml @@ -49,6 +49,12 @@ yauaa + + org.slf4j + slf4j-api + provided + + junit junit diff --git a/pom.xml b/pom.xml index 90bc44494..80ad69118 100644 --- a/pom.xml +++ b/pom.xml @@ -1444,6 +1444,7 @@ persistence-elasticsearch services + plugins plugins/baseplugin plugins/hover-event plugins/past-event @@ -1453,6 +1454,7 @@ plugins/optimization-test plugins/request + extensions extensions/healthcheck extensions/log4j-extension extensions/geonames @@ -1463,6 +1465,7 @@ commands wab rest + manual kar extensions/groovy-actions @@ -1470,7 +1473,6 @@ extensions/salesforce-connector extensions/weather-update graphql - manual samples package diff --git a/rest/pom.xml b/rest/pom.xml index 318427279..1059b9dfd 100644 --- a/rest/pom.xml +++ b/rest/pom.xml @@ -154,6 +154,12 @@ cxf-rt-rs-security-cors provided + + + org.slf4j + slf4j-api + provided + diff --git a/scripting/pom.xml b/scripting/pom.xml index 64d684853..e0489ff17 100644 --- a/scripting/pom.xml +++ b/scripting/pom.xml @@ -53,6 +53,12 @@ org.apache.commons commons-lang3 + provided + + + org.slf4j + slf4j-api + provided diff --git a/wab/pom.xml b/wab/pom.xml index 2d399f88b..8c58283ba 100644 --- a/wab/pom.xml +++ b/wab/pom.xml @@ -102,6 +102,11 @@ commons-beanutils provided + + org.slf4j + slf4j-api + provided + From 8f7e77ac549e5bd2f9b01af783a2de2eebfdfb5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Mon, 18 Aug 2025 13:51:29 +0200 Subject: [PATCH 15/30] UNOMI-876: Refactor web to avoid relying on servlet.init() for config init and propagation. Fix some provided deps. Remove unused SOAP endpoints and deps. Remove old sun.nio.ch imports. Remove blueprint from wab due to incompatibility. --- api/pom.xml | 1 + commands/shell-commands/pom.xml | 4 - extensions/geonames/rest/pom.xml | 5 - extensions/groovy-actions/rest/pom.xml | 15 +-- extensions/groovy-actions/services/pom.xml | 4 - extensions/json-schema/rest/pom.xml | 8 -- extensions/json-schema/services/pom.xml | 2 - extensions/lists-extension/rest/pom.xml | 5 - extensions/privacy-extension/rest/pom.xml | 5 - extensions/router/router-rest/pom.xml | 1 + extensions/salesforce-connector/rest/pom.xml | 6 +- kar/pom.xml | 8 ++ kar/src/main/feature/feature.xml | 5 +- package/pom.xml | 2 +- persistence-elasticsearch/core/pom.xml | 2 - pom.xml | 5 - rest/pom.xml | 16 ++- .../apache/unomi/rest/server/RestServer.java | 7 +- .../resources/org.apache.unomi.upgrademe.cfg | 18 +++ wab/pom.xml | 49 +++++--- .../org/apache/unomi/web/ClientServlet.java | 17 +-- .../org/apache/unomi/web/ContextServlet.java | 47 +------ .../unomi/web/EventsCollectorServlet.java | 4 +- .../java/org/apache/unomi/web/WebConfig.java | 115 ++++++++++++++++++ .../OSGI-INF/blueprint/blueprint.xml | 98 --------------- 25 files changed, 204 insertions(+), 245 deletions(-) create mode 100644 upgrademe/src/main/resources/org.apache.unomi.upgrademe.cfg create mode 100644 wab/src/main/java/org/apache/unomi/web/WebConfig.java delete mode 100644 wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml diff --git a/api/pom.xml b/api/pom.xml index 4d59f62a1..effe2b032 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -44,6 +44,7 @@ javax.validation validation-api + provided commons-beanutils diff --git a/commands/shell-commands/pom.xml b/commands/shell-commands/pom.xml index 1eb3bc4a1..e49957a90 100644 --- a/commands/shell-commands/pom.xml +++ b/commands/shell-commands/pom.xml @@ -118,10 +118,6 @@ maven-bundle-plugin - - sun.nio.ch;resolution:=optional, - * - org.apache.unomi.shell.migration.utils, org.apache.unomi.shell.migration.service, diff --git a/extensions/geonames/rest/pom.xml b/extensions/geonames/rest/pom.xml index 5b0e05863..6afda8377 100644 --- a/extensions/geonames/rest/pom.xml +++ b/extensions/geonames/rest/pom.xml @@ -62,11 +62,6 @@ commons-lang3 provided - - org.apache.cxf - cxf-rt-frontend-jaxws - provided - org.apache.cxf cxf-rt-frontend-jaxrs diff --git a/extensions/groovy-actions/rest/pom.xml b/extensions/groovy-actions/rest/pom.xml index 1f9d77e80..394f11c1f 100644 --- a/extensions/groovy-actions/rest/pom.xml +++ b/extensions/groovy-actions/rest/pom.xml @@ -61,17 +61,14 @@ commons-io commons-io + provided javax.ws.rs javax.ws.rs-api - - - - org.apache.cxf - cxf-rt-frontend-jaxws provided + org.apache.cxf cxf-rt-frontend-jaxrs @@ -104,14 +101,6 @@ org.apache.felix maven-bundle-plugin true - - - - sun.nio.ch;resolution:=optional, - * - - - diff --git a/extensions/groovy-actions/services/pom.xml b/extensions/groovy-actions/services/pom.xml index 48c24abb7..222501442 100644 --- a/extensions/groovy-actions/services/pom.xml +++ b/extensions/groovy-actions/services/pom.xml @@ -113,10 +113,6 @@ true - - sun.nio.ch;resolution:=optional, - * - <_dsannotations>* *;scope=compile|runtime ${project.basedir} diff --git a/extensions/json-schema/rest/pom.xml b/extensions/json-schema/rest/pom.xml index a787b2094..4ecb597c5 100644 --- a/extensions/json-schema/rest/pom.xml +++ b/extensions/json-schema/rest/pom.xml @@ -91,14 +91,6 @@ org.apache.felix maven-bundle-plugin true - - - - sun.nio.ch;resolution:=optional, - * - - - diff --git a/extensions/json-schema/services/pom.xml b/extensions/json-schema/services/pom.xml index 48bdb16e5..a77004ae4 100644 --- a/extensions/json-schema/services/pom.xml +++ b/extensions/json-schema/services/pom.xml @@ -32,7 +32,6 @@ 1.0.86 - 2.17.1 1.7.0 @@ -133,7 +132,6 @@ org.jcodings.specific;resolution:=optional, org.joni;resolution:=optional, org.joni.exception;resolution:=optional, - sun.nio.ch;resolution:=optional, * diff --git a/extensions/lists-extension/rest/pom.xml b/extensions/lists-extension/rest/pom.xml index befb85496..6590aa213 100644 --- a/extensions/lists-extension/rest/pom.xml +++ b/extensions/lists-extension/rest/pom.xml @@ -56,11 +56,6 @@ provided - - org.apache.cxf - cxf-rt-frontend-jaxws - provided - org.apache.cxf cxf-rt-frontend-jaxrs diff --git a/extensions/privacy-extension/rest/pom.xml b/extensions/privacy-extension/rest/pom.xml index 0a768d88e..98ceda3c4 100644 --- a/extensions/privacy-extension/rest/pom.xml +++ b/extensions/privacy-extension/rest/pom.xml @@ -57,11 +57,6 @@ provided - - org.apache.cxf - cxf-rt-frontend-jaxws - provided - org.apache.cxf cxf-rt-frontend-jaxrs diff --git a/extensions/router/router-rest/pom.xml b/extensions/router/router-rest/pom.xml index b4b2d72a6..e9cad2415 100644 --- a/extensions/router/router-rest/pom.xml +++ b/extensions/router/router-rest/pom.xml @@ -58,6 +58,7 @@ javax.validation validation-api + provided javax.ws.rs diff --git a/extensions/salesforce-connector/rest/pom.xml b/extensions/salesforce-connector/rest/pom.xml index 182bd129d..5d3b78374 100644 --- a/extensions/salesforce-connector/rest/pom.xml +++ b/extensions/salesforce-connector/rest/pom.xml @@ -70,13 +70,9 @@ javax.ws.rs javax.ws.rs-api - - - - org.apache.cxf - cxf-rt-frontend-jaxws provided + org.apache.cxf cxf-rt-frontend-jaxrs diff --git a/kar/pom.xml b/kar/pom.xml index 82fdbce8f..fe42942e5 100644 --- a/kar/pom.xml +++ b/kar/pom.xml @@ -39,10 +39,16 @@ org.apache.unomi unomi-common + + + org.apache.unomi + unomi-rest + org.apache.unomi unomi-metrics @@ -119,10 +125,12 @@ org.apache.unomi shell-dev-commands + joda-time diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml index 01d087ff8..365481b8d 100644 --- a/kar/src/main/feature/feature.xml +++ b/kar/src/main/feature/feature.xml @@ -22,6 +22,7 @@ mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features + osgi.service;effective:=active;filter:=(objectClass=org.osgi.service.http.HttpService) wrap aries-blueprint war @@ -29,8 +30,7 @@ scr http log - cxf - cxf-jaxrs + cxf-jaxrs cxf-features-metrics cxf-rs-security-cors cxf-rs-description-openapi-v3 @@ -54,6 +54,7 @@ mvn:commons-io/commons-io/${commons-io.version} mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore-osgi.version} mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient-osgi.version} + mvn:javax.validation/validation-api/${javax-validation.version} mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version} mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version} mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version} diff --git a/package/pom.xml b/package/pom.xml index 6925cb95b..8de5affce 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -306,7 +306,7 @@ unomi-kar unomi-router-karaf-feature unomi-groovy-actions - unomi-rest-ui + 17 diff --git a/persistence-elasticsearch/core/pom.xml b/persistence-elasticsearch/core/pom.xml index 6e1fccdc5..dcdc34cbb 100644 --- a/persistence-elasticsearch/core/pom.xml +++ b/persistence-elasticsearch/core/pom.xml @@ -245,8 +245,6 @@ org.xml.sax.ext;resolution:=optional, org.xml.sax.helpers;resolution:=optional, org.zeromq;resolution:=optional, - sun.misc;resolution:=optional, - sun.nio.ch;resolution:=optional, * diff --git a/pom.xml b/pom.xml index 80ad69118..b4fab08b0 100644 --- a/pom.xml +++ b/pom.xml @@ -1070,11 +1070,6 @@ ${elasticsearch.version} - - org.apache.cxf - cxf-rt-frontend-jaxws - ${cxf.version} - org.apache.cxf cxf-rt-frontend-jaxrs diff --git a/rest/pom.xml b/rest/pom.xml index 1059b9dfd..a5096fcf1 100644 --- a/rest/pom.xml +++ b/rest/pom.xml @@ -68,13 +68,10 @@ javax.servlet-api provided - - javax.validation - validation-api - javax.ws.rs javax.ws.rs-api + provided @@ -87,6 +84,11 @@ commons-beanutils provided + + javax.validation + validation-api + provided + com.opencsv @@ -107,6 +109,7 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider + provided com.fasterxml.jackson.core @@ -119,11 +122,6 @@ provided - - org.apache.cxf - cxf-rt-frontend-jaxws - provided - org.apache.cxf cxf-rt-frontend-jaxrs diff --git a/rest/src/main/java/org/apache/unomi/rest/server/RestServer.java b/rest/src/main/java/org/apache/unomi/rest/server/RestServer.java index 440dadd46..1ec0c2a36 100644 --- a/rest/src/main/java/org/apache/unomi/rest/server/RestServer.java +++ b/rest/src/main/java/org/apache/unomi/rest/server/RestServer.java @@ -27,6 +27,7 @@ import org.apache.cxf.jaxrs.openapi.OpenApiFeature; import org.apache.cxf.jaxrs.security.SimpleAuthorizingFilter; import org.apache.cxf.message.Message; +import org.apache.cxf.rs.security.cors.CrossOriginResourceSharingFilter; import org.apache.unomi.api.ContextRequest; import org.apache.unomi.api.EventsCollectorRequest; import org.apache.unomi.api.services.ConfigSharingService; @@ -56,6 +57,7 @@ import javax.xml.namespace.QName; import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.stream.Collectors; @Component public class RestServer { @@ -166,6 +168,7 @@ public void deactivate() throws Exception { } private synchronized void refreshServer() { + LOGGER.info("Refreshing JAX RS server..."); long now = System.currentTimeMillis(); LOGGER.info("Time (millis) since last update: {}", now - timeOfLastUpdate); if (now - timeOfLastUpdate < startupDelay) { @@ -204,14 +207,13 @@ public void run() { desers.put(ContextRequest.class, new ContextRequestDeserializer(schemaService)); desers.put(EventsCollectorRequest.class, new EventsCollectorRequestDeserializer(schemaService)); - // Build the server ObjectMapper objectMapper = new org.apache.unomi.persistence.spi.CustomObjectMapper(desers); JAXRSServerFactoryBean jaxrsServerFactoryBean = new JAXRSServerFactoryBean(); jaxrsServerFactoryBean.setAddress("/"); jaxrsServerFactoryBean.setBus(serverBus); jaxrsServerFactoryBean.setProvider(new JacksonJaxbJsonProvider(objectMapper, JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS)); - jaxrsServerFactoryBean.setProvider(new org.apache.cxf.rs.security.cors.CrossOriginResourceSharingFilter()); + jaxrsServerFactoryBean.setProvider(new CrossOriginResourceSharingFilter()); jaxrsServerFactoryBean.setProvider(new RetroCompatibilityParamConverterProvider(objectMapper)); // Authentication filter (used for authenticating user from request) @@ -234,7 +236,6 @@ public void run() { openApiFeature.setLicenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html"); openApiFeature.setScan(false); openApiFeature.setUseContextBasedConfig(true); - //Set resourceClasses = serviceBeans.stream().map(service -> service.getClass().getName()).collect(toSet()); OpenApiCustomizer customizer = new OpenApiCustomizer(); customizer.setDynamicBasePath(true); openApiFeature.setCustomizer(customizer); diff --git a/upgrademe/src/main/resources/org.apache.unomi.upgrademe.cfg b/upgrademe/src/main/resources/org.apache.unomi.upgrademe.cfg new file mode 100644 index 000000000..5e00663bc --- /dev/null +++ b/upgrademe/src/main/resources/org.apache.unomi.upgrademe.cfg @@ -0,0 +1,18 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +plop.value=${org.apache.unomi.plop.value:-plopme42} diff --git a/wab/pom.xml b/wab/pom.xml index 8c58283ba..6ce981953 100644 --- a/wab/pom.xml +++ b/wab/pom.xml @@ -42,6 +42,36 @@ provided + + org.osgi + org.osgi.framework + provided + + + org.osgi + org.osgi.util.tracker + provided + + + org.osgi + org.osgi.service.component + provided + + + org.osgi + org.osgi.service.component.annotations + provided + + + org.osgi + org.osgi.service.metatype + provided + + + org.osgi + org.osgi.service.metatype.annotations + provided + javax.servlet javax.servlet-api @@ -82,7 +112,6 @@ commons-collections provided - org.apache.commons commons-lang3 @@ -93,10 +122,6 @@ snakeyaml provided - - com.opencsv - opencsv - commons-beanutils commons-beanutils @@ -107,6 +132,11 @@ slf4j-api provided + + + com.opencsv + opencsv + @@ -120,15 +150,6 @@ <_wab>src/main/webapp *;scope=compile|runtime WEB-INF/lib - - org.apache.unomi.api, - org.apache.unomi.api.conditions, - org.apache.unomi.api.segments, - org.apache.unomi.api.rules, - org.apache.unomi.api.query, - sun.nio.ch;resolution:=optional, - * - / diff --git a/wab/src/main/java/org/apache/unomi/web/ClientServlet.java b/wab/src/main/java/org/apache/unomi/web/ClientServlet.java index 80a0a1910..94850e6ad 100644 --- a/wab/src/main/java/org/apache/unomi/web/ClientServlet.java +++ b/wab/src/main/java/org/apache/unomi/web/ClientServlet.java @@ -17,12 +17,12 @@ package org.apache.unomi.web; -import org.apache.unomi.api.services.ConfigSharingService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.ServletConfig; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -33,26 +33,20 @@ * A servlet filter to serve a context-specific Javascript containing the current request context object. */ @Deprecated +@WebServlet(name = "ClientServlet", urlPatterns = "/client/*") public class ClientServlet extends HttpServlet { private static final Logger LOGGER = LoggerFactory.getLogger(ClientServlet.class.getName()); - private static final long serialVersionUID = 2928875960103325238L; - - private String allowedProfileDownloadFormats; - - private ConfigSharingService configSharingService; @Override public void init(ServletConfig config) throws ServletException { super.init(config); - configSharingService.setProperty("allowedProfileDownloadFormats", allowedProfileDownloadFormats); LOGGER.info("ClientServlet initialized."); } @Override public void destroy() { super.destroy(); - LOGGER.info("Client servlet shutdown."); } @@ -61,11 +55,4 @@ protected void service(HttpServletRequest request, HttpServletResponse response) HttpServletRequestForwardWrapper.forward(request, response); } - public void setConfigSharingService(ConfigSharingService configSharingService) { - this.configSharingService = configSharingService; - } - - public void setAllowedProfileDownloadFormats(String allowedProfileDownloadFormats) { - this.allowedProfileDownloadFormats = allowedProfileDownloadFormats; - } } diff --git a/wab/src/main/java/org/apache/unomi/web/ContextServlet.java b/wab/src/main/java/org/apache/unomi/web/ContextServlet.java index b0f6b5a23..6c04f60b6 100644 --- a/wab/src/main/java/org/apache/unomi/web/ContextServlet.java +++ b/wab/src/main/java/org/apache/unomi/web/ContextServlet.java @@ -17,12 +17,12 @@ package org.apache.unomi.web; -import org.apache.unomi.api.services.ConfigSharingService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.ServletConfig; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -33,34 +33,16 @@ * A servlet filter to serve a context-specific Javascript containing the current request context object. */ @Deprecated +@WebServlet(name = "ContextServlet", urlPatterns = {"/context.json", "/context.js"}) public class ContextServlet extends HttpServlet { - private static final long serialVersionUID = 2928875830103325238L; - private static final Logger LOGGER = LoggerFactory.getLogger(ContextServlet.class.getName()); - - private static final int MAX_COOKIE_AGE_IN_SECONDS = 60 * 60 * 24 * 365; // 1 year - - private String profileIdCookieName = "context-profile-id"; - private String profileIdCookieDomain; - private int profileIdCookieMaxAgeInSeconds = MAX_COOKIE_AGE_IN_SECONDS; - private boolean profileIdCookieHttpOnly = false; - private int publicPostRequestBytesLimit = 200000; - private ConfigSharingService configSharingService; + private static final Logger LOGGER = LoggerFactory.getLogger(ContextServlet.class.getName()); public ContextServlet() { super(); LOGGER.info("ContextServlet created."); } - public void setup() { - configSharingService.setProperty("profileIdCookieName", profileIdCookieName); - configSharingService.setProperty("profileIdCookieDomain", profileIdCookieDomain); - configSharingService.setProperty("profileIdCookieMaxAgeInSeconds", profileIdCookieMaxAgeInSeconds); - configSharingService.setProperty("profileIdCookieHttpOnly", profileIdCookieHttpOnly); - configSharingService.setProperty("publicPostRequestBytesLimit", publicPostRequestBytesLimit); - LOGGER.info("ContextServlet setup done"); - } - @Override public void init(ServletConfig config) throws ServletException { super.init(config); @@ -77,27 +59,4 @@ public void destroy() { LOGGER.info("Context servlet shutdown."); } - public void setProfileIdCookieDomain(String profileIdCookieDomain) { - this.profileIdCookieDomain = profileIdCookieDomain; - } - - public void setProfileIdCookieName(String profileIdCookieName) { - this.profileIdCookieName = profileIdCookieName; - } - - public void setProfileIdCookieMaxAgeInSeconds(int profileIdCookieMaxAgeInSeconds) { - this.profileIdCookieMaxAgeInSeconds = profileIdCookieMaxAgeInSeconds; - } - - public void setProfileIdCookieHttpOnly(boolean profileIdCookieHttpOnly) { - this.profileIdCookieHttpOnly = profileIdCookieHttpOnly; - } - - public void setPublicPostRequestBytesLimit(int publicPostRequestBytesLimit) { - this.publicPostRequestBytesLimit = publicPostRequestBytesLimit; - } - - public void setConfigSharingService(ConfigSharingService configSharingService) { - this.configSharingService = configSharingService; - } } diff --git a/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java b/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java index 14ca67c3c..bb72b2cb2 100644 --- a/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java +++ b/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java @@ -22,6 +22,7 @@ import javax.servlet.ServletConfig; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -31,8 +32,9 @@ * @deprecated this servlet is now deprecated, because it have been migrated to REST endpoint. */ @Deprecated +@WebServlet(name = "EventsCollectorServlet", urlPatterns = "/eventcollector") public class EventsCollectorServlet extends HttpServlet { - private static final long serialVersionUID = 2008054804885122957L; + private static final Logger LOGGER = LoggerFactory.getLogger(EventsCollectorServlet.class.getName()); @Override diff --git a/wab/src/main/java/org/apache/unomi/web/WebConfig.java b/wab/src/main/java/org/apache/unomi/web/WebConfig.java new file mode 100644 index 000000000..c2a17b020 --- /dev/null +++ b/wab/src/main/java/org/apache/unomi/web/WebConfig.java @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2002-2025 Jahia Solutions Group SA. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.unomi.web; + +import org.apache.unomi.api.services.ConfigSharingService; +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.AttributeDefinition; +import org.osgi.service.metatype.annotations.Designate; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author Jerome Blanchard + */ +@Component(service = WebConfig.class, immediate = true, configurationPid = "org.apache.unomi.web") +@Designate(ocd = WebConfig.Config.class) +public class WebConfig { + + private static final Logger LOGGER = LoggerFactory.getLogger(WebConfig.class.getName()); + + private String contextserverDomain; + private String contexserverProfileIdCookieName; + private int contextserverProfileIdCookieMaxAgeInSeconds; + private boolean contextserverProfileIdCookieHttpOnly; + private String[] allowedProfileDownloadFormats; + private int publicPostRequestBytesLimit; + + @Reference + private ConfigSharingService configSharingService; + + @ObjectClassDefinition + public @interface Config { + + @AttributeDefinition + String contextserver_domain() default ""; + + @AttributeDefinition + String contexserver_profileIdCookieName() default "context-profile-id"; + + @AttributeDefinition + int contextserver_profileIdCookieMaxAgeInSeconds() default 31536000; + + @AttributeDefinition + boolean contextserver_profileIdCookieHttpOnly() default false; + + @AttributeDefinition + String[] allowed_profile_download_formats() default {"csv", "yaml", "json", "text"}; + + @AttributeDefinition + int public_post_request_bytes_limit() default 200000; + + } + + public WebConfig() { + LOGGER.info("WebConfig created."); + } + + @Activate + public void activate(Config config) { + this.contextserverDomain = config.contextserver_domain(); + this.contexserverProfileIdCookieName = config.contexserver_profileIdCookieName(); + this.contextserverProfileIdCookieMaxAgeInSeconds = config.contextserver_profileIdCookieMaxAgeInSeconds(); + this.contextserverProfileIdCookieHttpOnly = config.contextserver_profileIdCookieHttpOnly(); + this.allowedProfileDownloadFormats = config.allowed_profile_download_formats(); + this.publicPostRequestBytesLimit = config.public_post_request_bytes_limit(); + + configSharingService.setProperty("profileIdCookieName", contexserverProfileIdCookieName); + configSharingService.setProperty("profileIdCookieDomain", contextserverDomain); + configSharingService.setProperty("profileIdCookieMaxAgeInSeconds", contextserverProfileIdCookieMaxAgeInSeconds); + configSharingService.setProperty("profileIdCookieHttpOnly", contextserverProfileIdCookieHttpOnly); + configSharingService.setProperty("publicPostRequestBytesLimit", publicPostRequestBytesLimit); + configSharingService.setProperty("allowedProfileDownloadFormats", allowedProfileDownloadFormats); + LOGGER.info("WebConfig activated."); + } + + public String getContextserverDomain() { + return contextserverDomain; + } + + public String getContexserverProfileIdCookieName() { + return contexserverProfileIdCookieName; + } + + public int getContextserverProfileIdCookieMaxAgeInSeconds() { + return contextserverProfileIdCookieMaxAgeInSeconds; + } + + public boolean isContextserverProfileIdCookieHttpOnly() { + return contextserverProfileIdCookieHttpOnly; + } + + public String[] getAllowedProfileDownloadFormats() { + return allowedProfileDownloadFormats; + } + + public int getPublicPostRequestBytesLimit() { + return publicPostRequestBytesLimit; + } +} diff --git a/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml deleted file mode 100644 index 9e7aed5c8..000000000 --- a/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - javax.servlet.Servlet - javax.servlet.ServletConfig - java.io.Serializable - - - - - /context.json - /context.js - - - - - - - - - - javax.servlet.Servlet - javax.servlet.ServletConfig - java.io.Serializable - - - - - - - - - - - - - - javax.servlet.Servlet - javax.servlet.ServletConfig - java.io.Serializable - - - - - - - From 34b4f0850ca1b8a39e370f0893ed2ca82a05d6fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Mon, 18 Aug 2025 17:58:23 +0200 Subject: [PATCH 16/30] UNOMI-876: Remove empty test, adapt lifecycle watcher --- .../java/org/apache/unomi/itests/AllITs.java | 1 - .../org/apache/unomi/itests/SecurityIT.java | 47 ------------------- .../OSGI-INF/blueprint/blueprint.xml | 2 +- .../resources/org.apache.unomi.upgrademe.cfg | 18 ------- 4 files changed, 1 insertion(+), 67 deletions(-) delete mode 100644 itests/src/test/java/org/apache/unomi/itests/SecurityIT.java delete mode 100644 upgrademe/src/main/resources/org.apache.unomi.upgrademe.cfg diff --git a/itests/src/test/java/org/apache/unomi/itests/AllITs.java b/itests/src/test/java/org/apache/unomi/itests/AllITs.java index bd9a9a108..c50e88464 100644 --- a/itests/src/test/java/org/apache/unomi/itests/AllITs.java +++ b/itests/src/test/java/org/apache/unomi/itests/AllITs.java @@ -52,7 +52,6 @@ ModifyConsentIT.class, PatchIT.class, ContextServletIT.class, - SecurityIT.class, RuleServiceIT.class, PrivacyServiceIT.class, GroovyActionsServiceIT.class, diff --git a/itests/src/test/java/org/apache/unomi/itests/SecurityIT.java b/itests/src/test/java/org/apache/unomi/itests/SecurityIT.java deleted file mode 100644 index 43edd7779..000000000 --- a/itests/src/test/java/org/apache/unomi/itests/SecurityIT.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.unomi.itests; - -import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.http.client.methods.HttpPost; -import org.apache.unomi.persistence.spi.CustomObjectMapper; -import org.junit.Before; -import org.junit.runner.RunWith; -import org.ops4j.pax.exam.junit.PaxExam; -import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy; -import org.ops4j.pax.exam.spi.reactors.PerSuite; - -import java.io.IOException; - -@RunWith(PaxExam.class) -@ExamReactorStrategy(PerSuite.class) -public class SecurityIT extends BaseIT { - - private static final String SESSION_ID = "vuln-session-id"; - - private ObjectMapper objectMapper; - - @Before - public void setUp() { - objectMapper = CustomObjectMapper.getObjectMapper(); - } - - private TestUtils.RequestResponse executeContextJSONRequest(HttpPost request, String sessionId) throws IOException { - return TestUtils.executeContextJSONRequest(request, sessionId); - } - -} diff --git a/lifecycle-watcher/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/lifecycle-watcher/src/main/resources/OSGI-INF/blueprint/blueprint.xml index afb05b7f9..c7eb443c6 100644 --- a/lifecycle-watcher/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/lifecycle-watcher/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -28,7 +28,7 @@ update-strategy="reload" placeholder-prefix="${lifecycle."> - + diff --git a/upgrademe/src/main/resources/org.apache.unomi.upgrademe.cfg b/upgrademe/src/main/resources/org.apache.unomi.upgrademe.cfg deleted file mode 100644 index 5e00663bc..000000000 --- a/upgrademe/src/main/resources/org.apache.unomi.upgrademe.cfg +++ /dev/null @@ -1,18 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this 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. -# - -plop.value=${org.apache.unomi.plop.value:-plopme42} From e6ba700fcc96cdb139d3e02d3da6e2d6d70cbf71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Tue, 19 Aug 2025 15:13:37 +0200 Subject: [PATCH 17/30] UNOMI-876: Adapt GraphQL Servlet declaration to use HttpService. Fix authentication problem. --- graphql/cxs-impl/pom.xml | 24 +++++ .../actions/CDPConsentUpdateAction.java | 4 + .../graphql/actions/CDPSessionAction.java | 6 +- .../graphql/actions/CDPUpdateListsAction.java | 4 + .../activator/GraphQLServletActivator.java | 90 +++++++++++++++++++ .../unomi/graphql/servlet/GraphQLServlet.java | 27 ++++-- .../auth/GraphQLServletSecurityValidator.java | 2 +- .../OSGI-INF/blueprint/blueprint.xml | 56 ------------ graphql/graphql-ui/pom.xml | 4 +- graphql/karaf-feature/pom.xml | 38 ++++++++ .../unomi/itests/graphql/BaseGraphQLIT.java | 10 ++- .../resources/etc/org.apache.cxf.osgi.cfg | 2 +- pom.xml | 11 +++ .../unomi/rest/endpoints/TestEndPoint.java | 49 ++++++++++ 14 files changed, 254 insertions(+), 73 deletions(-) create mode 100644 graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/activator/GraphQLServletActivator.java delete mode 100644 graphql/cxs-impl/src/main/resources/OSGI-INF/blueprint/blueprint.xml create mode 100644 rest/src/main/java/org/apache/unomi/rest/endpoints/TestEndPoint.java diff --git a/graphql/cxs-impl/pom.xml b/graphql/cxs-impl/pom.xml index badaf8916..9a2354d59 100644 --- a/graphql/cxs-impl/pom.xml +++ b/graphql/cxs-impl/pom.xml @@ -59,6 +59,16 @@ osgi.core provided + + org.osgi + org.osgi.service.http + provided + + + org.osgi + org.osgi.util.tracker + provided + org.apache.commons @@ -127,4 +137,18 @@ + + + + org.apache.felix + maven-bundle-plugin + + + org.apache.unomi.graphql.activator.GraphQLServletActivator + + + + + + diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPConsentUpdateAction.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPConsentUpdateAction.java index 1eba385fa..6ee6d2130 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPConsentUpdateAction.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPConsentUpdateAction.java @@ -24,15 +24,19 @@ import org.apache.unomi.api.services.EventService; import org.apache.unomi.graphql.utils.DateUtils; import org.apache.unomi.graphql.utils.EventBuilder; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import java.time.OffsetDateTime; import java.util.HashMap; import java.util.Map; +@Component(service = ActionExecutor.class, immediate = true, property = {"actionType=updateConsent"}) public class CDPConsentUpdateAction implements ActionExecutor { private EventService eventService; + @Reference public void setEventService(EventService eventService) { this.eventService = eventService; } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPSessionAction.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPSessionAction.java index cae969c16..7dad5ee4e 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPSessionAction.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPSessionAction.java @@ -25,21 +25,25 @@ import org.apache.unomi.api.services.EventService; import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.types.output.CDPSessionState; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import java.util.Date; import java.util.Objects; import java.util.Optional; +@Component(service = ActionExecutor.class, immediate = true, property = {"actionType=cdp_sessionEvent"}) public class CDPSessionAction implements ActionExecutor { private EventService eventService; - private ProfileService profileService; + @Reference public void setEventService(EventService eventService) { this.eventService = eventService; } + @Reference public void setProfileService(ProfileService profileService) { this.profileService = profileService; } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPUpdateListsAction.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPUpdateListsAction.java index a409b7105..350b57646 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPUpdateListsAction.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPUpdateListsAction.java @@ -22,6 +22,8 @@ import org.apache.unomi.api.actions.ActionExecutor; import org.apache.unomi.api.services.EventService; import org.apache.unomi.graphql.utils.EventBuilder; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import java.util.ArrayList; import java.util.HashMap; @@ -31,10 +33,12 @@ /** * A rule action that can add a profile to a list */ +@Component(service = ActionExecutor.class, immediate = true, property = {"actionType=updateLists"}) public class CDPUpdateListsAction implements ActionExecutor { private EventService eventService; + @Reference public void setEventService(EventService eventService) { this.eventService = eventService; } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/activator/GraphQLServletActivator.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/activator/GraphQLServletActivator.java new file mode 100644 index 000000000..848235fc0 --- /dev/null +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/activator/GraphQLServletActivator.java @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.unomi.graphql.activator; + +import org.apache.unomi.graphql.servlet.GraphQLServlet; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.service.http.HttpService; +import org.osgi.util.tracker.ServiceTracker; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Dictionary; +import java.util.Hashtable; + +/** + * @author Jerome Blanchard + */ +public class GraphQLServletActivator implements BundleActivator { + + private static final Logger LOGGER = LoggerFactory.getLogger(GraphQLServletActivator.class); + + private ServiceTracker httpServiceTracker; + private ServiceTracker servletTracker; + + @Override + public void start(BundleContext context) { + httpServiceTracker = new ServiceTracker<>(context, HttpService.class, null); + httpServiceTracker.open(); + + servletTracker = new ServiceTracker(context, GraphQLServlet.class, null) { + @Override + public GraphQLServlet addingService(ServiceReference reference) { + LOGGER.info("Registering GraphQL servlet"); + GraphQLServlet servlet = context.getService(reference); + try { + HttpService httpService = httpServiceTracker.getService(); + if (httpService != null && servlet != null) { + Dictionary initParams = new Hashtable<>(); + httpService.registerServlet("/graphql", servlet, initParams, null); + } + } catch (Exception e) { + LOGGER.error("Failed to register GraphQL servlet", e); + } + return servlet; + } + + @Override + public void removedService(ServiceReference reference, GraphQLServlet service) { + LOGGER.info("Unregistering GraphQL servlet"); + try { + HttpService httpService = httpServiceTracker.getService(); + if (httpService != null) { + httpService.unregister("/graphql"); + } + } catch (Exception e) { + LOGGER.error("Failed to register GraphQL servlet", e); + } + context.ungetService(reference); + } + }; + servletTracker.open(); + } + + @Override + public void stop(BundleContext context) { + if (servletTracker != null) { + servletTracker.close(); + } + + if (httpServiceTracker != null) { + httpServiceTracker.close(); + } + } +} diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/GraphQLServlet.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/GraphQLServlet.java index 93254f7c8..76592c7c6 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/GraphQLServlet.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/GraphQLServlet.java @@ -20,6 +20,7 @@ import graphql.ExecutionInput; import graphql.ExecutionResult; import graphql.introspection.IntrospectionQuery; +import org.apache.unomi.graphql.activator.GraphQLServletActivator; import org.apache.unomi.graphql.schema.GraphQLSchemaUpdater; import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.servlet.auth.GraphQLServletSecurityValidator; @@ -30,6 +31,8 @@ import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.servlet.ServletConfig; import javax.servlet.ServletException; @@ -41,18 +44,15 @@ import java.util.HashMap; import java.util.Map; -@Component( - service = {javax.servlet.http.HttpServlet.class, javax.servlet.Servlet.class}, - property = {"alias=/graphql"} -) +@Component(service = GraphQLServlet.class) public class GraphQLServlet extends WebSocketServlet { + private static final Logger LOGGER = LoggerFactory.getLogger(GraphQLServlet.class); + public static final String SCHEMA_URL = "/schema.json"; private GraphQLSchemaUpdater graphQLSchemaUpdater; - private ServiceManager serviceManager; - private GraphQLServletSecurityValidator validator; @Reference @@ -65,8 +65,13 @@ public void setGraphQLSchemaUpdater(GraphQLSchemaUpdater graphQLSchemaUpdater) { this.graphQLSchemaUpdater = graphQLSchemaUpdater; } + public GraphQLServlet() { + LOGGER.info("GraphQLServlet created"); + } + @Override public void init(ServletConfig config) throws ServletException { + LOGGER.debug("GraphQLServlet initialized"); super.init(config); this.validator = new GraphQLServletSecurityValidator(); } @@ -75,6 +80,7 @@ public void init(ServletConfig config) throws ServletException { @Override public void configure(WebSocketServletFactory factory) { + LOGGER.debug("GraphQLServlet configured"); this.factory = factory; factory.setCreator(new SubscriptionWebSocketFactory(graphQLSchemaUpdater.getGraphQL(), serviceManager)); factory.getPolicy().setMaxTextMessageBufferSize(1024 * 1024); @@ -82,6 +88,7 @@ public void configure(WebSocketServletFactory factory) { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + LOGGER.debug("GraphQLServlet service called with request: {}", request.getRequestURI()); if (factory.isUpgradeRequest(request, response)) { try { final ServletUpgradeRequest upReq = new ServletUpgradeRequest(request); @@ -100,6 +107,7 @@ protected void service(HttpServletRequest request, HttpServletResponse response) @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { + LOGGER.debug("GraphQLServlet doGet called with request: {}", req.getRequestURI()); String query = req.getParameter("query"); if (SCHEMA_URL.equals(req.getPathInfo())) { query = IntrospectionQuery.INTROSPECTION_QUERY; @@ -123,11 +131,10 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IO @Override @SuppressWarnings("unchecked") protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { - TypeReference> typeRef = new TypeReference>() { - }; + LOGGER.debug("GraphQLServlet doPost called with request: {}", req.getRequestURI()); + TypeReference> typeRef = new TypeReference>() {}; Map body = GraphQLObjectMapper.getInstance().readValue(req.getInputStream(), typeRef); - String query = (String) body.get("query"); String operationName = (String) body.get("operationName"); Map variables = (Map) body.get("variables"); @@ -145,12 +152,14 @@ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws I @Override protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws IOException { + LOGGER.debug("GraphQLServlet doOptions called with request: {}", req.getRequestURI()); setupCORSHeaders(req, resp); resp.flushBuffer(); } private void executeGraphQLRequest( HttpServletResponse resp, String query, String operationName, Map variables) throws IOException { + LOGGER.debug("Executing GraphQL request with query: {}, operationName: {}, variables: {}", query, operationName, variables); if (query == null || query.trim().length() == 0) { throw new IllegalArgumentException("Query cannot be empty or null"); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/auth/GraphQLServletSecurityValidator.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/auth/GraphQLServletSecurityValidator.java index e3e36c8ff..ca64228cd 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/auth/GraphQLServletSecurityValidator.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/auth/GraphQLServletSecurityValidator.java @@ -136,7 +136,7 @@ private boolean isAuthenticatedUser(HttpServletRequest req) { Subject subject = loginContext.getSubject(); boolean success = subject != null; if (success) { - req.setAttribute(REMOTE_USER, subject); + req.setAttribute(REMOTE_USER, username); } return success; } catch (LoginException e) { diff --git a/graphql/cxs-impl/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/graphql/cxs-impl/src/main/resources/OSGI-INF/blueprint/blueprint.xml deleted file mode 100644 index 05910e848..000000000 --- a/graphql/cxs-impl/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/graphql/graphql-ui/pom.xml b/graphql/graphql-ui/pom.xml index fd66b7139..e1c3cd316 100644 --- a/graphql/graphql-ui/pom.xml +++ b/graphql/graphql-ui/pom.xml @@ -100,9 +100,7 @@ <_wab>src/main/webapp,target/assets *;scope=compile|runtime - - * - + * /graphql-ui diff --git a/graphql/karaf-feature/pom.xml b/graphql/karaf-feature/pom.xml index d9951b371..bcdd4cbf5 100644 --- a/graphql/karaf-feature/pom.xml +++ b/graphql/karaf-feature/pom.xml @@ -94,6 +94,44 @@ 80 false + + + generate-features + generate-resources + + features-generate-descriptor + + + true + + + + verify-feature + process-resources + + verify + + + + mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features + mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features + mvn:org.apache.unomi/unomi-kar/${project.version}/xml/features + file:${project.build.directory}/feature/feature.xml + + org.apache.karaf:apache-karaf:zip:${karaf.version} + 17 + + framework + + + wrap + unomi-kar + cdp-graphql-feature + + true + + + diff --git a/itests/src/test/java/org/apache/unomi/itests/graphql/BaseGraphQLIT.java b/itests/src/test/java/org/apache/unomi/itests/graphql/BaseGraphQLIT.java index 7e515a6e2..3eb7e6707 100644 --- a/itests/src/test/java/org/apache/unomi/itests/graphql/BaseGraphQLIT.java +++ b/itests/src/test/java/org/apache/unomi/itests/graphql/BaseGraphQLIT.java @@ -30,6 +30,7 @@ import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy; import org.ops4j.pax.exam.spi.reactors.PerSuite; +import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.util.Base64; import java.util.List; @@ -91,9 +92,14 @@ protected static class ResponseContext { private ResponseContext(HttpEntity httpEntity) { try { final String jsonFromResponse = EntityUtils.toString(httpEntity); - responseAsMap = GraphQLObjectMapper.getInstance().readValue(jsonFromResponse, Map.class); + try { + responseAsMap = GraphQLObjectMapper.getInstance().readValue(jsonFromResponse, Map.class); + } catch (Exception e) { + throw new RuntimeException("Failed to parse response as JSON: " + jsonFromResponse, e); + } } catch (Exception e) { - throw new RuntimeException(e); + throw new RuntimeException("Unable to read response content, length:" + httpEntity.getContentLength() + + ", type:" + httpEntity.getContentType().getValue(), e); } } diff --git a/package/src/main/resources/etc/org.apache.cxf.osgi.cfg b/package/src/main/resources/etc/org.apache.cxf.osgi.cfg index 5cf8e8f7a..d4e48fcb7 100644 --- a/package/src/main/resources/etc/org.apache.cxf.osgi.cfg +++ b/package/src/main/resources/etc/org.apache.cxf.osgi.cfg @@ -15,4 +15,4 @@ # limitations under the License. # -org.apache.cxf.servlet.context=${org.apache.unomi.admin.servlet.context:-/cxs} \ No newline at end of file +org.apache.cxf.servlet.context=${org.apache.unomi.admin.servlet.context:-/cxs} diff --git a/pom.xml b/pom.xml index b4fab08b0..2948702fc 100644 --- a/pom.xml +++ b/pom.xml @@ -64,6 +64,7 @@ 17 ${java.version} ${java.version} + ${java.version} 4.4.8 7.4.2 @@ -1491,6 +1492,11 @@ org.apache.maven.plugins maven-compiler-plugin ${maven-compiler.plugin.version} + + ${maven.compiler.source} + ${maven.compiler.target} + ${maven.compiler.release} + org.apache.maven.plugins @@ -1568,6 +1574,11 @@ org.apache.maven.plugins maven-compiler-plugin + + ${maven.compiler.source} + ${maven.compiler.target} + ${maven.compiler.release} + org.apache.felix diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/TestEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/TestEndPoint.java new file mode 100644 index 000000000..74bc91c56 --- /dev/null +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/TestEndPoint.java @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2002-2025 Jahia Solutions Group SA. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.unomi.rest.endpoints; + +import org.apache.cxf.rs.security.cors.CrossOriginResourceSharing; +import org.osgi.service.component.annotations.Component; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; + +/** + * @author Jerome Blanchard + */ +@Produces(MediaType.TEXT_PLAIN + ";charset=UTF-8") +@Path("/test") +@CrossOriginResourceSharing(allowAllOrigins = true, allowCredentials = true) +@Component(service = TestEndPoint.class, property = "osgi.jaxrs.resource=true") +public class TestEndPoint { + + private static final Logger LOGGER = LoggerFactory.getLogger(TestEndPoint.class.getName()); + + public TestEndPoint() { + LOGGER.info("TestEndPoint initialized."); + } + + @GET + @Path("/ping") + public String ping() { + LOGGER.info("Ping received."); + return "pong"; + } +} From 39ec8a4333e71a5c339bdaade54468934caa4c8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Tue, 19 Aug 2025 16:35:53 +0200 Subject: [PATCH 18/30] UNOMI-876: Fix property for actions --- .../apache/unomi/graphql/actions/CDPConsentUpdateAction.java | 2 +- .../java/org/apache/unomi/graphql/actions/CDPSessionAction.java | 2 +- .../org/apache/unomi/graphql/actions/CDPUpdateListsAction.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPConsentUpdateAction.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPConsentUpdateAction.java index 6ee6d2130..8c11f967e 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPConsentUpdateAction.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPConsentUpdateAction.java @@ -31,7 +31,7 @@ import java.util.HashMap; import java.util.Map; -@Component(service = ActionExecutor.class, immediate = true, property = {"actionType=updateConsent"}) +@Component(service = ActionExecutor.class, immediate = true, property = {"actionExecutorId=updateConsent"}) public class CDPConsentUpdateAction implements ActionExecutor { private EventService eventService; diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPSessionAction.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPSessionAction.java index 7dad5ee4e..6010783d2 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPSessionAction.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPSessionAction.java @@ -32,7 +32,7 @@ import java.util.Objects; import java.util.Optional; -@Component(service = ActionExecutor.class, immediate = true, property = {"actionType=cdp_sessionEvent"}) +@Component(service = ActionExecutor.class, immediate = true, property = {"actionExecutorId=cdp_sessionEvent"}) public class CDPSessionAction implements ActionExecutor { private EventService eventService; diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPUpdateListsAction.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPUpdateListsAction.java index 350b57646..c5e16d4c2 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPUpdateListsAction.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/actions/CDPUpdateListsAction.java @@ -33,7 +33,7 @@ /** * A rule action that can add a profile to a list */ -@Component(service = ActionExecutor.class, immediate = true, property = {"actionType=updateLists"}) +@Component(service = ActionExecutor.class, immediate = true, property = {"actionExecutorId=updateLists"}) public class CDPUpdateListsAction implements ActionExecutor { private EventService eventService; From 5df15b98864db0c99846d74898c6a3e61704629c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Tue, 19 Aug 2025 16:58:43 +0200 Subject: [PATCH 19/30] UNOMI-876: Externalize all dependencies in a dedicated BOM and BOM Artifacts module (as in karaf) --- api/pom.xml | 12 + bom/artifacts/pom.xml | 249 ++++++ bom/pom.xml | 525 ++++++++++++ commands/shell-commands/pom.xml | 12 + commands/shell-dev-commands/pom.xml | 12 + common/pom.xml | 14 +- docker/pom.xml | 12 + extensions/geonames/rest/pom.xml | 12 + extensions/geonames/services/pom.xml | 12 + extensions/groovy-actions/rest/pom.xml | 12 + extensions/groovy-actions/services/pom.xml | 12 + extensions/healthcheck/pom.xml | 12 + extensions/json-schema/rest/pom.xml | 13 +- extensions/json-schema/services/pom.xml | 16 +- extensions/lists-extension/actions/pom.xml | 12 + extensions/lists-extension/rest/pom.xml | 12 + extensions/lists-extension/services/pom.xml | 12 + extensions/log4j-extension/pom.xml | 14 +- extensions/privacy-extension/rest/pom.xml | 12 + extensions/privacy-extension/services/pom.xml | 12 + extensions/router/router-api/pom.xml | 12 + extensions/router/router-core/pom.xml | 12 + .../router/router-karaf-feature/pom.xml | 13 + extensions/router/router-rest/pom.xml | 12 + extensions/router/router-service/pom.xml | 12 + .../salesforce-connector/actions/pom.xml | 12 + .../salesforce-connector/karaf-kar/pom.xml | 12 + extensions/salesforce-connector/rest/pom.xml | 12 + .../salesforce-connector/services/pom.xml | 12 + extensions/weather-update/core/pom.xml | 12 + extensions/weather-update/karaf-kar/pom.xml | 12 + extensions/web-tracker/pom.xml | 1 - extensions/web-tracker/wab/pom.xml | 12 + graphql/cxs-impl/pom.xml | 12 + graphql/graphql-ui/pom.xml | 12 + graphql/karaf-feature/pom.xml | 12 + itests/pom.xml | 16 +- kar/pom.xml | 14 +- lifecycle-watcher/pom.xml | 13 +- metrics/pom.xml | 14 +- package/pom.xml | 14 +- persistence-elasticsearch/core/pom.xml | 13 +- persistence-spi/pom.xml | 14 +- plugins/baseplugin/pom.xml | 12 + plugins/hover-event/pom.xml | 12 + plugins/kafka-injector/pom.xml | 12 + plugins/mail/pom.xml | 12 + plugins/optimization-test/pom.xml | 12 + plugins/past-event/pom.xml | 12 + plugins/pom.xml | 12 + plugins/request/pom.xml | 12 + plugins/tracked-event/pom.xml | 12 + pom.xml | 785 +----------------- rest/pom.xml | 14 +- samples/graphql-providers-feature/pom.xml | 12 + samples/graphql-providers/pom.xml | 12 + samples/groovy-actions/pom.xml | 14 +- samples/login-integration/pom.xml | 14 +- samples/trainingplugin/pom.xml | 14 +- samples/tweet-button-plugin/pom.xml | 14 +- scripting/pom.xml | 14 +- services/pom.xml | 14 +- wab/pom.xml | 14 +- 63 files changed, 1536 insertions(+), 772 deletions(-) create mode 100644 bom/artifacts/pom.xml create mode 100644 bom/pom.xml diff --git a/api/pom.xml b/api/pom.xml index effe2b032..f1dac0333 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -30,6 +30,18 @@ Main API of the Apache Unomi Context server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + jakarta.xml.bind diff --git a/bom/artifacts/pom.xml b/bom/artifacts/pom.xml new file mode 100644 index 000000000..7779a1aae --- /dev/null +++ b/bom/artifacts/pom.xml @@ -0,0 +1,249 @@ + + + + + 4.0.0 + + org.apache.unomi + unomi-root + 3.0.0-SNAPSHOT + ../../pom.xml + + unomi-bom-artifacts + Apache Unomi :: BOM :: Unomi Artifacts + pom + + + + + org.apache.unomi + unomi-api + ${project.version} + + + org.apache.unomi + unomi-common + ${project.version} + + + org.apache.unomi + unomi-metrics + ${project.version} + + + org.apache.unomi + unomi-scripting + ${project.version} + + + org.apache.unomi + unomi-persistence-spi + ${project.version} + + + org.apache.unomi + unomi-persistence-elasticsearch-core + ${project.version} + + + org.apache.unomi + unomi-json-schema-services + ${project.version} + + + org.apache.unomi + unomi-json-schema-rest + ${project.version} + + + org.apache.unomi + unomi-rest + ${project.version} + + + org.apache.unomi + cxs-geonames-services + ${project.version} + + + org.apache.unomi + cxs-geonames-rest + ${project.version} + + + org.apache.unomi + cxs-privacy-extension-services + ${project.version} + + + org.apache.unomi + cxs-privacy-extension-rest + ${project.version} + + + org.apache.unomi + cxs-lists-extension-services + ${project.version} + + + org.apache.unomi + cxs-lists-extension-actions + ${project.version} + + + org.apache.unomi + cxs-lists-extension-rest + ${project.version} + + + org.apache.unomi + unomi-services + ${project.version} + + + org.apache.unomi + unomi-wab + ${project.version} + + + org.apache.unomi + unomi-web-tracker-wab + ${project.version} + + + org.apache.unomi + unomi-lifecycle-watcher + ${project.version} + + + org.apache.unomi + shell-commands + ${project.version} + + + org.apache.unomi + shell-dev-commands + ${project.version} + + + org.apache.unomi + unomi-weather-update-core + ${project.version} + + + org.apache.unomi + unomi-salesforce-connector-services + ${project.version} + + + org.apache.unomi + unomi-salesforce-connector-rest + ${project.version} + + + org.apache.unomi + unomi-salesforce-connector-actions + ${project.version} + + + org.apache.unomi + unomi-router-api + ${project.version} + + + org.apache.unomi + unomi-router-core + ${project.version} + + + org.apache.unomi + unomi-router-service + ${project.version} + + + org.apache.unomi + unomi-router-rest + ${project.version} + + + org.apache.unomi + unomi-groovy-actions-services + ${project.version} + + + org.apache.unomi + unomi-groovy-actions + ${project.version} + features + xml + + + org.apache.unomi + cdp-graphql-api-impl + ${project.version} + + + org.apache.unomi + cdp-graphql-feature + ${project.version} + features + xml + + + org.apache.unomi + graphql-providers-sample + ${project.version} + + + org.apache.unomi + unomi-plugins-base + ${project.version} + + + org.apache.unomi + unomi-plugins-request + ${project.version} + + + org.apache.unomi + unomi-plugins-mail + ${project.version} + + + org.apache.unomi + unomi-plugins-optimization-test + ${project.version} + + + org.apache.unomi + unomi-kar + ${project.version} + features + xml + + + org.apache.unomi + unomi-router-karaf-feature + ${project.version} + features + xml + + + + + diff --git a/bom/pom.xml b/bom/pom.xml new file mode 100644 index 000000000..db23a2556 --- /dev/null +++ b/bom/pom.xml @@ -0,0 +1,525 @@ + + + + + 4.0.0 + + org.apache.unomi + unomi-root + 3.0.0-SNAPSHOT + ../pom.xml + + unomi-bom + Apache Unomi :: Bill Of Material + Common Dependencies used in the Apache Unomi maven modules + pom + + + + + org.apache.karaf + karaf-bom + ${karaf.version} + pom + import + + + + org.osgi + org.osgi.service.metatype.annotations + 1.4.1 + + + org.osgi + org.osgi.service.useradmin + 1.1.1 + + + org.osgi + osgi.enterprise + 7.0.0 + + + + org.apache.unomi + unomi-bom-artifacts + ${project.version} + pom + import + + + + org.apache.karaf.cellar + apache-karaf-cellar + features + ${karaf.cellar.version} + xml + + + org.apache.karaf.cellar + org.apache.karaf.cellar.core + ${karaf.cellar.version} + + + org.apache.karaf.cellar + org.apache.karaf.cellar.config + ${karaf.cellar.version} + + + org.apache.karaf.jaas + org.apache.karaf.jaas.boot + ${karaf.version} + + + + javax.validation + validation-api + ${javax-validation.version} + + + jakarta.annotation + jakarta.annotation-api + ${jakarta-annotation-api.version} + + + javax.ws.rs + javax.ws.rs-api + ${rs-api.version} + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + commons-io + commons-io + ${commons-io.version} + + + org.apache.commons + commons-csv + ${commons-csv.version} + + + commons-beanutils + commons-beanutils + ${commons-beanutils.version} + + + commons-collections + commons-collections + ${commons-collections.version} + + + org.apache.commons + commons-email + ${commons-email.version} + + + commons-net + commons-net + ${commons-net.version} + + + commons-fileupload + commons-fileupload + ${commons-fileupload.version} + + + + org.elasticsearch.client + elasticsearch-rest-high-level-client + ${elasticsearch.version} + + + org.elasticsearch.test + framework + ${elasticsearch.version} + + + org.elasticsearch.plugin + transport-netty4-client + ${elasticsearch.version} + + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf.version} + + + org.apache.cxf + cxf-rt-rs-service-description-openapi-v3 + ${cxf.version} + + + org.apache.cxf + cxf-rt-features-metrics + ${cxf.version} + + + org.apache.cxf + cxf-rt-features-logging + ${cxf.version} + + + org.apache.cxf + cxf-rt-transports-http + ${cxf.version} + + + org.apache.cxf + cxf-rt-rs-security-cors + ${cxf.version} + + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson.version} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + ${jackson.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-base + ${jackson.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson.version} + + + + org.apache.lucene + lucene-test-framework + ${lucene.version} + + + org.apache.logging.log4j + log4j-api + ${log4j.version} + + + org.apache.logging.log4j + log4j-core + ${log4j.version} + + + org.apache.logging.log4j + log4j-1.2-api + ${log4j.version} + + + org.apache.logging.log4j + log4j-slf4j-impl + ${log4j.version} + + + org.apache.httpcomponents + httpcore-osgi + ${httpcore-osgi.version} + + + org.apache.httpcomponents + httpclient-osgi + ${httpclient-osgi.version} + + + org.apache.httpcomponents + httpclient-osgi + ${httpclient-osgi.version} + bundle + + + org.apache.kafka + kafka-clients + ${kafka-client.version} + + + org.mvel + mvel2 + ${mvel2.version} + + + org.yaml + snakeyaml + ${snakeyaml.version} + + + com.opencsv + opencsv + ${opencsv.version} + + + com.hazelcast + hazelcast-all + ${hazelcast.version} + + + net.jodah + failsafe + ${failsafe.version} + + + joda-time + joda-time + ${joda-time.version} + + + com.github.seancfoley + ipaddress + ${ipaddress.version} + + + com.github.java-json-tools + btf + ${btf.version} + + + com.github.java-json-tools + msg-simple + ${msg-simple.version} + + + com.github.java-json-tools + json-patch + ${json-patch.version} + + + com.github.java-json-tools + jackson-coreutils + ${jackson-coreutils.version} + + + com.google.guava + guava + ${guava.version} + + + org.json + json + ${org-json.version} + + + com.google.code.findbugs + jsr305 + ${jsr305.version} + + + org.webjars + swagger-ui + ${swagger-ui.version} + + + org.apache.groovy + groovy + ${groovy.version} + + + org.apache.groovy + groovy-json + ${groovy.version} + + + org.antlr + ST4 + ${st4.version} + + + com.maxmind.geoip2 + geoip2 + ${geoip2.version} + + + nl.basjes.parse.useragent + yauaa + ${yauaa.version} + + + org.cometd.java + bayeux-api + ${bayeux-api.version} + + + org.cometd.java + cometd-java-common + ${comet-java-client.version} + + + org.cometd.java + cometd-java-client-http-common + ${comet-java-client.version} + + + org.cometd.java + cometd-java-client-common + ${comet-java-client.version} + + + org.cometd.java + cometd-java-client-http-jetty + ${comet-java-client.version} + + + io.reactivex.rxjava2 + rxjava + ${reactivex.version} + + + org.antlr + antlr-runtime + ${antlr.version} + + + org.antlr + antlr4-runtime + ${antlr4.version} + + + org.antlr + stringtemplate + ${stringtemplate.version} + + + org.abego.treelayout + org.abego.treelayout.core + ${treelayout.version} + + + com.graphql-java + java-dataloader + ${java-dataloader.version} + + + org.reactivestreams + reactive-streams + ${reactive-stream.version} + + + org.checkerframework + checker-compat-qual + ${checker-compat-qual.version} + + + com.google.errorprone + error_prone_annotations + ${error_prone_annotations.version} + + + com.google.j2objc + j2objc-annotations + ${j2objc-annotations.version} + + + org.codehaus.mojo + animal-sniffer-annotations + ${animal-sniffer-annotations.version} + + + com.squareup.okhttp3 + okhttp + ${okhttp.version} + + + com.squareup.okio + okio + ${okio.version} + + + + com.graphql-java + graphql-java + ${graphql.java.version} + + + io.github.graphql-java + graphql-java-annotations + ${graphql.java.annotations.version} + + + com.graphql-java + graphql-java-extended-scalars + ${graphql.java.extended.scalars.version} + + + + org.eclipse.jetty + jetty-client + ${jetty.version} + + + org.eclipse.jetty + jetty-http + ${jetty.version} + + + org.eclipse.jetty + jetty-io + ${jetty.version} + + + org.eclipse.jetty + jetty-util + ${jetty.version} + + + org.eclipse.jetty.websocket + websocket-server + ${jetty.version} + + + + junit + junit + ${junit.version} + + + + + + artifacts + + + diff --git a/commands/shell-commands/pom.xml b/commands/shell-commands/pom.xml index e49957a90..a5b48a0c5 100644 --- a/commands/shell-commands/pom.xml +++ b/commands/shell-commands/pom.xml @@ -27,6 +27,18 @@ Provides the shell commands to interact with Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.karaf.shell diff --git a/commands/shell-dev-commands/pom.xml b/commands/shell-dev-commands/pom.xml index bb7b530ab..fe198a509 100644 --- a/commands/shell-dev-commands/pom.xml +++ b/commands/shell-dev-commands/pom.xml @@ -27,6 +27,18 @@ Provides the shell developer commands to interact with Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/common/pom.xml b/common/pom.xml index f470d48d2..2514bb721 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -18,18 +18,28 @@ 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi-common Apache Unomi :: Common Classes Common Classes used in the Apache Unomi Context server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.commons diff --git a/docker/pom.xml b/docker/pom.xml index 2d63324da..41c568af5 100644 --- a/docker/pom.xml +++ b/docker/pom.xml @@ -29,6 +29,18 @@ Apache Unomi :: Docker Image Maven project to generate Docker image + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/geonames/rest/pom.xml b/extensions/geonames/rest/pom.xml index 6afda8377..af09f333c 100644 --- a/extensions/geonames/rest/pom.xml +++ b/extensions/geonames/rest/pom.xml @@ -28,6 +28,18 @@ REST API for the Apache Unomi Context Server extension that integrates with the Geonames database bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/geonames/services/pom.xml b/extensions/geonames/services/pom.xml index a4c69fef2..e77971d17 100644 --- a/extensions/geonames/services/pom.xml +++ b/extensions/geonames/services/pom.xml @@ -28,6 +28,18 @@ Service implementation for the Apache Unomi Context Server extension that integrates with the Geonames database bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/groovy-actions/rest/pom.xml b/extensions/groovy-actions/rest/pom.xml index 394f11c1f..8c213ec00 100644 --- a/extensions/groovy-actions/rest/pom.xml +++ b/extensions/groovy-actions/rest/pom.xml @@ -29,6 +29,18 @@ bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/groovy-actions/services/pom.xml b/extensions/groovy-actions/services/pom.xml index 222501442..324366b84 100644 --- a/extensions/groovy-actions/services/pom.xml +++ b/extensions/groovy-actions/services/pom.xml @@ -28,6 +28,18 @@ Service implementation for the Apache Unomi Context Server extension that provides the possibility to implement actions in Groovy bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/healthcheck/pom.xml b/extensions/healthcheck/pom.xml index 3de7e60e9..faf785cf6 100644 --- a/extensions/healthcheck/pom.xml +++ b/extensions/healthcheck/pom.xml @@ -28,6 +28,18 @@ Apache Unomi HealthCheck extension that provide liveliness information about unomi bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/json-schema/rest/pom.xml b/extensions/json-schema/rest/pom.xml index 4ecb597c5..716ed0bfd 100644 --- a/extensions/json-schema/rest/pom.xml +++ b/extensions/json-schema/rest/pom.xml @@ -23,12 +23,23 @@ unomi-json-schema-root 3.0.0-SNAPSHOT - unomi-json-schema-rest Apache Unomi :: Extensions :: JSON Schema :: REST API JSON Schema REST API for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/json-schema/services/pom.xml b/extensions/json-schema/services/pom.xml index a77004ae4..01515ba6e 100644 --- a/extensions/json-schema/services/pom.xml +++ b/extensions/json-schema/services/pom.xml @@ -17,19 +17,29 @@ --> + 4.0.0 org.apache.unomi unomi-json-schema-root 3.0.0-SNAPSHOT - - 4.0.0 - unomi-json-schema-services Apache Unomi :: Extensions :: JSON Schema :: Service JSON Schema service for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + 1.0.86 1.7.0 diff --git a/extensions/lists-extension/actions/pom.xml b/extensions/lists-extension/actions/pom.xml index 4e6e0b887..81d0079d5 100644 --- a/extensions/lists-extension/actions/pom.xml +++ b/extensions/lists-extension/actions/pom.xml @@ -28,6 +28,18 @@ List extension rule actions for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/lists-extension/rest/pom.xml b/extensions/lists-extension/rest/pom.xml index 6590aa213..6b1bf2c31 100644 --- a/extensions/lists-extension/rest/pom.xml +++ b/extensions/lists-extension/rest/pom.xml @@ -28,6 +28,18 @@ List extension REST API for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/lists-extension/services/pom.xml b/extensions/lists-extension/services/pom.xml index ce01f8c77..e2fc3a134 100644 --- a/extensions/lists-extension/services/pom.xml +++ b/extensions/lists-extension/services/pom.xml @@ -28,6 +28,18 @@ List extension service implementation for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/log4j-extension/pom.xml b/extensions/log4j-extension/pom.xml index f38accb0f..4abea7495 100644 --- a/extensions/log4j-extension/pom.xml +++ b/extensions/log4j-extension/pom.xml @@ -24,9 +24,21 @@ 3.0.0-SNAPSHOT log4j-extension - bundle Apache Unomi :: Extensions :: Log4j Extension Apache Unomi log4j extensions + bundle + + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + diff --git a/extensions/privacy-extension/rest/pom.xml b/extensions/privacy-extension/rest/pom.xml index 98ceda3c4..8bafcbdb3 100644 --- a/extensions/privacy-extension/rest/pom.xml +++ b/extensions/privacy-extension/rest/pom.xml @@ -28,6 +28,18 @@ Privacy management extension REST API for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/privacy-extension/services/pom.xml b/extensions/privacy-extension/services/pom.xml index fc111966f..871d52245 100644 --- a/extensions/privacy-extension/services/pom.xml +++ b/extensions/privacy-extension/services/pom.xml @@ -28,6 +28,18 @@ Privacy management extension service implementation for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/router/router-api/pom.xml b/extensions/router/router-api/pom.xml index f3fe6f9f4..427a53407 100644 --- a/extensions/router/router-api/pom.xml +++ b/extensions/router/router-api/pom.xml @@ -27,6 +27,18 @@ Router Specification API bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/router/router-core/pom.xml b/extensions/router/router-core/pom.xml index 884cfe6dd..4abe0bab4 100644 --- a/extensions/router/router-core/pom.xml +++ b/extensions/router/router-core/pom.xml @@ -27,6 +27,18 @@ Router Core (Apache Camel Routes) bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/router/router-karaf-feature/pom.xml b/extensions/router/router-karaf-feature/pom.xml index 801a1a05e..9676780cf 100644 --- a/extensions/router/router-karaf-feature/pom.xml +++ b/extensions/router/router-karaf-feature/pom.xml @@ -26,6 +26,19 @@ Apache Unomi :: Extensions :: Router :: Apache Karaf Feature Apache Karaf feature for the Apache Unomi Context Server extension kar + + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/router/router-rest/pom.xml b/extensions/router/router-rest/pom.xml index e9cad2415..385b68586 100644 --- a/extensions/router/router-rest/pom.xml +++ b/extensions/router/router-rest/pom.xml @@ -27,6 +27,18 @@ Router REST API bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/router/router-service/pom.xml b/extensions/router/router-service/pom.xml index 39215d0ca..cd81d40eb 100644 --- a/extensions/router/router-service/pom.xml +++ b/extensions/router/router-service/pom.xml @@ -27,6 +27,18 @@ Router Services bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/salesforce-connector/actions/pom.xml b/extensions/salesforce-connector/actions/pom.xml index 2985aac23..504ae25cb 100644 --- a/extensions/salesforce-connector/actions/pom.xml +++ b/extensions/salesforce-connector/actions/pom.xml @@ -28,6 +28,18 @@ Rule Actions for the Apache Unomi Context Server extension that integrates with Salesforce bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/salesforce-connector/karaf-kar/pom.xml b/extensions/salesforce-connector/karaf-kar/pom.xml index fb1a113bd..66c84e05b 100644 --- a/extensions/salesforce-connector/karaf-kar/pom.xml +++ b/extensions/salesforce-connector/karaf-kar/pom.xml @@ -28,6 +28,18 @@ Apache Karaf Feature and KAR archive for the Apache Unomi Context Server extension that integrates with Salesforce kar + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/salesforce-connector/rest/pom.xml b/extensions/salesforce-connector/rest/pom.xml index 5d3b78374..190f112c3 100644 --- a/extensions/salesforce-connector/rest/pom.xml +++ b/extensions/salesforce-connector/rest/pom.xml @@ -28,6 +28,18 @@ REST API for the Apache Unomi Context Server extension that integrates with Salesforce bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/salesforce-connector/services/pom.xml b/extensions/salesforce-connector/services/pom.xml index 9ee206f81..feb1fd593 100644 --- a/extensions/salesforce-connector/services/pom.xml +++ b/extensions/salesforce-connector/services/pom.xml @@ -28,6 +28,18 @@ Service implementation for the Apache Unomi Context Server extension that integrates with Salesforce bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/weather-update/core/pom.xml b/extensions/weather-update/core/pom.xml index a72d1493e..7383fcfec 100755 --- a/extensions/weather-update/core/pom.xml +++ b/extensions/weather-update/core/pom.xml @@ -28,6 +28,18 @@ This is a simple Apache Unomi plugin. bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/weather-update/karaf-kar/pom.xml b/extensions/weather-update/karaf-kar/pom.xml index 2bb01b6c9..13e0299d3 100644 --- a/extensions/weather-update/karaf-kar/pom.xml +++ b/extensions/weather-update/karaf-kar/pom.xml @@ -28,6 +28,18 @@ This is a simple Apache Unomi plugin. kar + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/extensions/web-tracker/pom.xml b/extensions/web-tracker/pom.xml index bb29eb0b0..9fc52a55a 100644 --- a/extensions/web-tracker/pom.xml +++ b/extensions/web-tracker/pom.xml @@ -23,7 +23,6 @@ unomi-extensions 3.0.0-SNAPSHOT - unomi-web-tracker Apache Unomi :: Extension :: Web Tracker Apache Unomi Context Server to provide the web tracker diff --git a/extensions/web-tracker/wab/pom.xml b/extensions/web-tracker/wab/pom.xml index 66c492c58..4f1924202 100644 --- a/extensions/web-tracker/wab/pom.xml +++ b/extensions/web-tracker/wab/pom.xml @@ -29,6 +29,18 @@ This is a simple Apache Unomi plugin. bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + diff --git a/graphql/cxs-impl/pom.xml b/graphql/cxs-impl/pom.xml index 9a2354d59..e91155e0d 100644 --- a/graphql/cxs-impl/pom.xml +++ b/graphql/cxs-impl/pom.xml @@ -27,6 +27,18 @@ Apache Unomi Context GraphQL API CDP Implementation bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/graphql/graphql-ui/pom.xml b/graphql/graphql-ui/pom.xml index e1c3cd316..e6fb59cc1 100644 --- a/graphql/graphql-ui/pom.xml +++ b/graphql/graphql-ui/pom.xml @@ -28,6 +28,18 @@ An integrated GraphQL UI bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + build diff --git a/graphql/karaf-feature/pom.xml b/graphql/karaf-feature/pom.xml index bcdd4cbf5..975938a7b 100644 --- a/graphql/karaf-feature/pom.xml +++ b/graphql/karaf-feature/pom.xml @@ -27,6 +27,18 @@ Apache Unomi Context GraphQL API Karaf Feature kar + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + commons-fileupload diff --git a/itests/pom.xml b/itests/pom.xml index f5f2a7248..6f6e71089 100644 --- a/itests/pom.xml +++ b/itests/pom.xml @@ -26,6 +26,19 @@ unomi-itests Apache Unomi :: Integration Tests Apache Unomi Context Server integration tests + jar + + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + @@ -130,7 +143,6 @@ - run-tests @@ -202,7 +214,7 @@ 9400 ${elasticsearch.test.version} true - 120 + 120 -Xms4g -Xmx4g diff --git a/kar/pom.xml b/kar/pom.xml index fe42942e5..5b4ad8390 100644 --- a/kar/pom.xml +++ b/kar/pom.xml @@ -18,18 +18,28 @@ 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi-kar Apache Unomi :: Karaf KAR package Apache Karaf KAR package for the Apache Unomi Context Server kar + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/lifecycle-watcher/pom.xml b/lifecycle-watcher/pom.xml index b157997eb..71ea61623 100644 --- a/lifecycle-watcher/pom.xml +++ b/lifecycle-watcher/pom.xml @@ -23,12 +23,23 @@ org.apache.unomi 3.0.0-SNAPSHOT - unomi-lifecycle-watcher Apache Unomi :: Main Lifecycle Watcher A global lifecycle watcher for the Apache Unomi Context server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.osgi diff --git a/metrics/pom.xml b/metrics/pom.xml index fb54e5a17..aed1b61b9 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -17,18 +17,28 @@ --> 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi-metrics Apache Unomi :: Metrics Apache Unomi Context Server Metrics bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.osgi diff --git a/package/pom.xml b/package/pom.xml index 8de5affce..a2bdc1566 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -25,9 +25,21 @@ unomi 3.0.0-SNAPSHOT - pom Apache Unomi :: Distribution Package Packaged distributions of the Apache Unomi Context Server + pom + + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + ${basedir}/../etc/appended-resources diff --git a/persistence-elasticsearch/core/pom.xml b/persistence-elasticsearch/core/pom.xml index dcdc34cbb..af4027796 100644 --- a/persistence-elasticsearch/core/pom.xml +++ b/persistence-elasticsearch/core/pom.xml @@ -23,12 +23,23 @@ unomi-persistence-elasticsearch 3.0.0-SNAPSHOT - unomi-persistence-elasticsearch-core Apache Unomi :: Persistence :: ElasticSearch :: Core Core ElasticSearch persistence implementation for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/persistence-spi/pom.xml b/persistence-spi/pom.xml index 81c410e5e..8d1520290 100644 --- a/persistence-spi/pom.xml +++ b/persistence-spi/pom.xml @@ -18,18 +18,28 @@ 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi-persistence-spi Apache Unomi :: Persistence :: SPI Service Provider interface for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/plugins/baseplugin/pom.xml b/plugins/baseplugin/pom.xml index 971f87566..7255dbc74 100644 --- a/plugins/baseplugin/pom.xml +++ b/plugins/baseplugin/pom.xml @@ -28,6 +28,18 @@ Base actions and conditions plugin for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/plugins/hover-event/pom.xml b/plugins/hover-event/pom.xml index 2e28ef492..715031699 100644 --- a/plugins/hover-event/pom.xml +++ b/plugins/hover-event/pom.xml @@ -28,6 +28,18 @@ Mouse hover event support plugin for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/plugins/kafka-injector/pom.xml b/plugins/kafka-injector/pom.xml index 47ce8f472..96808d7c4 100644 --- a/plugins/kafka-injector/pom.xml +++ b/plugins/kafka-injector/pom.xml @@ -26,6 +26,18 @@ Apache Kafka injector for the Apache Unomi Context server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/plugins/mail/pom.xml b/plugins/mail/pom.xml index 3d67809dd..dd98d7959 100644 --- a/plugins/mail/pom.xml +++ b/plugins/mail/pom.xml @@ -28,6 +28,18 @@ Mail notification action plugin for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/plugins/optimization-test/pom.xml b/plugins/optimization-test/pom.xml index fde8cfa23..0e269c51e 100644 --- a/plugins/optimization-test/pom.xml +++ b/plugins/optimization-test/pom.xml @@ -28,6 +28,18 @@ Optimization testing (A/B testing) plugin for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + diff --git a/plugins/past-event/pom.xml b/plugins/past-event/pom.xml index 0d7c84233..6d8ebb0f2 100644 --- a/plugins/past-event/pom.xml +++ b/plugins/past-event/pom.xml @@ -28,6 +28,18 @@ Past event conditions plugin for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/plugins/pom.xml b/plugins/pom.xml index c06b4f2fc..8a4cbeabc 100644 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -28,6 +28,18 @@ Apache Unomi Context Server plugins pom + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/plugins/request/pom.xml b/plugins/request/pom.xml index 2663e426d..62ef94f92 100644 --- a/plugins/request/pom.xml +++ b/plugins/request/pom.xml @@ -28,6 +28,18 @@ Request reading actions plugin for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + javax.servlet diff --git a/plugins/tracked-event/pom.xml b/plugins/tracked-event/pom.xml index 81ca054ec..0b6744056 100644 --- a/plugins/tracked-event/pom.xml +++ b/plugins/tracked-event/pom.xml @@ -28,6 +28,18 @@ Tracked event conditions plugin for the Apache Unomi Context Server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/pom.xml b/pom.xml index 2948702fc..b81aa740f 100644 --- a/pom.xml +++ b/pom.xml @@ -17,16 +17,13 @@ --> - 4.0.0 - org.apache apache 29 - org.apache.unomi unomi-root Apache Unomi :: Root Project @@ -377,6 +374,50 @@ + + bom + api + common + persistence-spi + scripting + metrics + lifecycle-watcher + persistence-elasticsearch + services + + plugins + plugins/baseplugin + plugins/hover-event + plugins/past-event + plugins/tracked-event + plugins/kafka-injector + plugins/mail + plugins/optimization-test + plugins/request + + extensions + extensions/healthcheck + extensions/log4j-extension + extensions/geonames + extensions/json-schema + extensions/lists-extension + extensions/privacy-extension + extensions/web-tracker + commands + wab + rest + manual + kar + + extensions/groovy-actions + extensions/router + extensions/salesforce-connector + extensions/weather-update + graphql + samples + package + + integration-tests @@ -735,744 +776,6 @@ - - - - org.apache.karaf - karaf-bom - ${karaf.version} - pom - import - - - - org.osgi - org.osgi.service.metatype.annotations - 1.4.1 - - - org.osgi - org.osgi.service.useradmin - 1.1.1 - - - org.osgi - osgi.enterprise - 7.0.0 - - - - org.apache.karaf.cellar - apache-karaf-cellar - features - ${karaf.cellar.version} - xml - - - org.apache.karaf.cellar - org.apache.karaf.cellar.core - ${karaf.cellar.version} - - - org.apache.karaf.cellar - org.apache.karaf.cellar.config - ${karaf.cellar.version} - - - org.apache.karaf.jaas - org.apache.karaf.jaas.boot - ${karaf.version} - - - - org.apache.unomi - unomi-api - ${project.version} - - - org.apache.unomi - unomi-common - ${project.version} - - - org.apache.unomi - unomi-metrics - ${project.version} - - - org.apache.unomi - unomi-scripting - ${project.version} - - - org.apache.unomi - unomi-persistence-spi - ${project.version} - - - org.apache.unomi - unomi-persistence-elasticsearch-core - ${project.version} - - - org.apache.unomi - unomi-json-schema-services - ${project.version} - - - org.apache.unomi - unomi-json-schema-rest - ${project.version} - - - org.apache.unomi - unomi-rest - ${project.version} - - - org.apache.unomi - cxs-geonames-services - ${project.version} - - - org.apache.unomi - cxs-geonames-rest - ${project.version} - - - org.apache.unomi - cxs-privacy-extension-services - ${project.version} - - - org.apache.unomi - cxs-privacy-extension-rest - ${project.version} - - - org.apache.unomi - cxs-lists-extension-services - ${project.version} - - - org.apache.unomi - cxs-lists-extension-actions - ${project.version} - - - org.apache.unomi - cxs-lists-extension-rest - ${project.version} - - - org.apache.unomi - unomi-services - ${project.version} - - - org.apache.unomi - unomi-wab - ${project.version} - - - org.apache.unomi - unomi-web-tracker-wab - ${project.version} - - - org.apache.unomi - unomi-lifecycle-watcher - ${project.version} - - - org.apache.unomi - shell-commands - ${project.version} - - - org.apache.unomi - shell-dev-commands - ${project.version} - - - org.apache.unomi - unomi-weather-update-core - ${project.version} - - - org.apache.unomi - unomi-salesforce-connector-services - ${project.version} - - - org.apache.unomi - unomi-salesforce-connector-rest - ${project.version} - - - org.apache.unomi - unomi-salesforce-connector-actions - ${project.version} - - - org.apache.unomi - unomi-router-api - ${project.version} - - - org.apache.unomi - unomi-router-core - ${project.version} - - - org.apache.unomi - unomi-router-service - ${project.version} - - - org.apache.unomi - unomi-router-rest - ${project.version} - - - org.apache.unomi - unomi-groovy-actions-services - ${project.version} - - - org.apache.unomi - unomi-groovy-actions - ${project.version} - features - xml - - - org.apache.unomi - cdp-graphql-api-impl - ${project.version} - - - org.apache.unomi - cdp-graphql-feature - ${project.version} - features - xml - - - org.apache.unomi - graphql-providers-sample - ${project.version} - - - org.apache.unomi - unomi-plugins-base - ${project.version} - - - org.apache.unomi - unomi-plugins-request - ${project.version} - - - org.apache.unomi - unomi-plugins-mail - ${project.version} - - - org.apache.unomi - unomi-plugins-optimization-test - ${project.version} - - - org.apache.unomi - unomi-kar - ${project.version} - features - xml - - - org.apache.unomi - unomi-router-karaf-feature - ${project.version} - features - xml - - - - javax.validation - validation-api - ${javax-validation.version} - - - jakarta.annotation - jakarta.annotation-api - ${jakarta-annotation-api.version} - - - javax.ws.rs - javax.ws.rs-api - ${rs-api.version} - - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - commons-io - commons-io - ${commons-io.version} - - - org.apache.commons - commons-csv - ${commons-csv.version} - - - commons-beanutils - commons-beanutils - ${commons-beanutils.version} - - - commons-collections - commons-collections - ${commons-collections.version} - - - org.apache.commons - commons-email - ${commons-email.version} - - - commons-net - commons-net - ${commons-net.version} - - - commons-fileupload - commons-fileupload - ${commons-fileupload.version} - - - - org.elasticsearch.client - elasticsearch-rest-high-level-client - ${elasticsearch.version} - - - org.elasticsearch.test - framework - ${elasticsearch.version} - - - org.elasticsearch.plugin - transport-netty4-client - ${elasticsearch.version} - - - - org.apache.cxf - cxf-rt-frontend-jaxrs - ${cxf.version} - - - org.apache.cxf - cxf-rt-rs-service-description-openapi-v3 - ${cxf.version} - - - org.apache.cxf - cxf-rt-features-metrics - ${cxf.version} - - - org.apache.cxf - cxf-rt-features-logging - ${cxf.version} - - - org.apache.cxf - cxf-rt-transports-http - ${cxf.version} - - - org.apache.cxf - cxf-rt-rs-security-cors - ${cxf.version} - - - - com.fasterxml.jackson.core - jackson-core - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - - - com.fasterxml.jackson.module - jackson-module-jaxb-annotations - ${jackson.version} - - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - ${jackson.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-base - ${jackson.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${jackson.version} - - - - org.apache.lucene - lucene-test-framework - ${lucene.version} - - - org.apache.logging.log4j - log4j-api - ${log4j.version} - - - org.apache.logging.log4j - log4j-core - ${log4j.version} - - - org.apache.logging.log4j - log4j-1.2-api - ${log4j.version} - - - org.apache.logging.log4j - log4j-slf4j-impl - ${log4j.version} - - - org.apache.httpcomponents - httpcore-osgi - ${httpcore-osgi.version} - - - org.apache.httpcomponents - httpclient-osgi - ${httpclient-osgi.version} - - - org.apache.httpcomponents - httpclient-osgi - ${httpclient-osgi.version} - bundle - - - org.apache.kafka - kafka-clients - ${kafka-client.version} - - - org.mvel - mvel2 - ${mvel2.version} - - - org.yaml - snakeyaml - ${snakeyaml.version} - - - com.opencsv - opencsv - ${opencsv.version} - - - com.hazelcast - hazelcast-all - ${hazelcast.version} - - - net.jodah - failsafe - ${failsafe.version} - - - joda-time - joda-time - ${joda-time.version} - - - com.github.seancfoley - ipaddress - ${ipaddress.version} - - - com.github.java-json-tools - btf - ${btf.version} - - - com.github.java-json-tools - msg-simple - ${msg-simple.version} - - - com.github.java-json-tools - json-patch - ${json-patch.version} - - - com.github.java-json-tools - jackson-coreutils - ${jackson-coreutils.version} - - - com.google.guava - guava - ${guava.version} - - - org.json - json - ${org-json.version} - - - com.google.code.findbugs - jsr305 - ${jsr305.version} - - - org.webjars - swagger-ui - ${swagger-ui.version} - - - org.apache.groovy - groovy - ${groovy.version} - - - org.apache.groovy - groovy-json - ${groovy.version} - - - org.antlr - ST4 - ${st4.version} - - - com.maxmind.geoip2 - geoip2 - ${geoip2.version} - - - nl.basjes.parse.useragent - yauaa - ${yauaa.version} - - - org.cometd.java - bayeux-api - ${bayeux-api.version} - - - org.cometd.java - cometd-java-common - ${comet-java-client.version} - - - org.cometd.java - cometd-java-client-http-common - ${comet-java-client.version} - - - org.cometd.java - cometd-java-client-common - ${comet-java-client.version} - - - org.cometd.java - cometd-java-client-http-jetty - ${comet-java-client.version} - - - io.reactivex.rxjava2 - rxjava - ${reactivex.version} - - - org.antlr - antlr-runtime - ${antlr.version} - - - org.antlr - antlr4-runtime - ${antlr4.version} - - - org.antlr - stringtemplate - ${stringtemplate.version} - - - org.abego.treelayout - org.abego.treelayout.core - ${treelayout.version} - - - com.graphql-java - java-dataloader - ${java-dataloader.version} - - - org.reactivestreams - reactive-streams - ${reactive-stream.version} - - - org.checkerframework - checker-compat-qual - ${checker-compat-qual.version} - - - com.google.errorprone - error_prone_annotations - ${error_prone_annotations.version} - - - com.google.j2objc - j2objc-annotations - ${j2objc-annotations.version} - - - org.codehaus.mojo - animal-sniffer-annotations - ${animal-sniffer-annotations.version} - - - com.squareup.okhttp3 - okhttp - ${okhttp.version} - - - com.squareup.okio - okio - ${okio.version} - - - - com.graphql-java - graphql-java - ${graphql.java.version} - - - io.github.graphql-java - graphql-java-annotations - ${graphql.java.annotations.version} - - - com.graphql-java - graphql-java-extended-scalars - ${graphql.java.extended.scalars.version} - - - - org.eclipse.jetty - jetty-client - ${jetty.version} - - - org.eclipse.jetty - jetty-http - ${jetty.version} - - - org.eclipse.jetty - jetty-io - ${jetty.version} - - - org.eclipse.jetty - jetty-util - ${jetty.version} - - - org.eclipse.jetty.websocket - websocket-server - ${jetty.version} - - - - junit - junit - ${junit.version} - - - - - - api - common - persistence-spi - scripting - metrics - lifecycle-watcher - persistence-elasticsearch - services - - plugins - plugins/baseplugin - plugins/hover-event - plugins/past-event - plugins/tracked-event - plugins/kafka-injector - plugins/mail - plugins/optimization-test - plugins/request - - extensions - extensions/healthcheck - extensions/log4j-extension - extensions/geonames - extensions/json-schema - extensions/lists-extension - extensions/privacy-extension - extensions/web-tracker - commands - wab - rest - manual - kar - - extensions/groovy-actions - extensions/router - extensions/salesforce-connector - extensions/weather-update - graphql - samples - package - - diff --git a/rest/pom.xml b/rest/pom.xml index a5096fcf1..11e00265f 100644 --- a/rest/pom.xml +++ b/rest/pom.xml @@ -18,18 +18,28 @@ 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi-rest Apache Unomi :: REST API Apache Unomi Context Server REST API bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/samples/graphql-providers-feature/pom.xml b/samples/graphql-providers-feature/pom.xml index 6c0b85f28..bb4249c70 100644 --- a/samples/graphql-providers-feature/pom.xml +++ b/samples/graphql-providers-feature/pom.xml @@ -28,6 +28,18 @@ This is a simple Apache Unomi plugin. pom + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/samples/graphql-providers/pom.xml b/samples/graphql-providers/pom.xml index 7ded5e38b..4fc6aac93 100644 --- a/samples/graphql-providers/pom.xml +++ b/samples/graphql-providers/pom.xml @@ -28,6 +28,18 @@ This is a simple Apache Unomi plugin. bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/samples/groovy-actions/pom.xml b/samples/groovy-actions/pom.xml index 8770b0606..68cf87550 100644 --- a/samples/groovy-actions/pom.xml +++ b/samples/groovy-actions/pom.xml @@ -25,8 +25,20 @@ test-groovy-action-sample Apache Unomi :: Samples :: Test Groovy Action - bundle This is a simple Apache Unomi plugin that demonstrate how to define and use a Groovy Action + bundle + + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + diff --git a/samples/login-integration/pom.xml b/samples/login-integration/pom.xml index bbf5a1a45..5ccc86689 100644 --- a/samples/login-integration/pom.xml +++ b/samples/login-integration/pom.xml @@ -25,8 +25,20 @@ login-integration-sample Apache Unomi :: Samples :: External Login plugin - bundle This is a simple Apache Unomi plugin. + bundle + + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + diff --git a/samples/trainingplugin/pom.xml b/samples/trainingplugin/pom.xml index f7dcc2e14..476f4ac40 100644 --- a/samples/trainingplugin/pom.xml +++ b/samples/trainingplugin/pom.xml @@ -24,8 +24,20 @@ training-plugin Apache Unomi :: Samples :: Training plugin - bundle This is a simple Apache Unomi plugin. + bundle + + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + diff --git a/samples/tweet-button-plugin/pom.xml b/samples/tweet-button-plugin/pom.xml index 26281aad9..02de7d9b6 100644 --- a/samples/tweet-button-plugin/pom.xml +++ b/samples/tweet-button-plugin/pom.xml @@ -25,8 +25,20 @@ tweet-button-plugin Apache Unomi :: Samples :: Tweet Button plugin - bundle This is a simple Apache Unomi plugin. + bundle + + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + diff --git a/scripting/pom.xml b/scripting/pom.xml index e0489ff17..800f0481c 100644 --- a/scripting/pom.xml +++ b/scripting/pom.xml @@ -18,18 +18,28 @@ 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi-scripting Apache Unomi :: Scripting Services Scripting services used in the Apache Unomi Context server bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.osgi diff --git a/services/pom.xml b/services/pom.xml index 17632b115..91ec9058c 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -18,18 +18,28 @@ 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi-services Apache Unomi :: Core Services Apache Unomi Context Server Core Services bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi diff --git a/wab/pom.xml b/wab/pom.xml index 6ce981953..0474a14fc 100644 --- a/wab/pom.xml +++ b/wab/pom.xml @@ -18,18 +18,28 @@ 4.0.0 - org.apache.unomi unomi-root 3.0.0-SNAPSHOT - unomi-wab Apache Unomi :: Core Web Application Apache Unomi Context Server Core Web application bundle + + + + org.apache.unomi + unomi-bom + ${project.version} + pom + import + + + + org.apache.unomi From ef434bfb4c5c24d00129b52ddc1cfb9a06bbcea9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Wed, 20 Aug 2025 13:56:57 +0200 Subject: [PATCH 20/30] UNOMI-876: Fix MigrationIT test by retrieving karaf data folder from ConfigurationManager instead of environment variable --- .../java/org/apache/unomi/itests/BaseIT.java | 12 ++++---- .../unomi/itests/migration/MigrationIT.java | 29 ++++++++++++------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/itests/src/test/java/org/apache/unomi/itests/BaseIT.java b/itests/src/test/java/org/apache/unomi/itests/BaseIT.java index a98d90d7d..3c657f7c3 100644 --- a/itests/src/test/java/org/apache/unomi/itests/BaseIT.java +++ b/itests/src/test/java/org/apache/unomi/itests/BaseIT.java @@ -26,11 +26,7 @@ import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.config.RequestConfig; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpDelete; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpUriRequest; +import org.apache.http.client.methods.*; import org.apache.http.config.Registry; import org.apache.http.config.RegistryBuilder; import org.apache.http.conn.socket.ConnectionSocketFactory; @@ -63,6 +59,7 @@ import org.junit.Before; import org.junit.runner.RunWith; import org.ops4j.pax.exam.Configuration; +import org.ops4j.pax.exam.ConfigurationManager; import org.ops4j.pax.exam.CoreOptions; import org.ops4j.pax.exam.Option; import org.ops4j.pax.exam.junit.PaxExam; @@ -206,6 +203,11 @@ public void shutdown() { httpClient = null; } + protected String karafData() { + ConfigurationManager cm = new ConfigurationManager(); + return cm.getProperty("karaf.data"); + } + protected void removeItems(final Class... classes) throws InterruptedException { Condition condition = new Condition(definitionsService.getConditionType("matchAllCondition")); for (Class aClass : classes) { diff --git a/itests/src/test/java/org/apache/unomi/itests/migration/MigrationIT.java b/itests/src/test/java/org/apache/unomi/itests/migration/MigrationIT.java index a7fa068d1..b81df24f9 100644 --- a/itests/src/test/java/org/apache/unomi/itests/migration/MigrationIT.java +++ b/itests/src/test/java/org/apache/unomi/itests/migration/MigrationIT.java @@ -19,6 +19,8 @@ import org.apache.unomi.itests.BaseIT; import org.junit.Assert; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.nio.charset.StandardCharsets; import java.nio.file.Files; @@ -28,29 +30,36 @@ import static org.junit.Assert.fail; public class MigrationIT extends BaseIT { - protected static final Path BASE_DIRECTORIES = Paths.get(System.getProperty( "karaf.data" ), "migration", "scripts"); + + private static final Logger LOGGER = LoggerFactory.getLogger(MigrationIT.class); private static final String FAILING_SCRIPT_NAME = "migrate-11.0.0-01-failingMigration.groovy"; private static final String SUCCESS_SCRIPT_NAME = "migrate-11.0.0-01-successMigration.groovy"; private static final String FAILING_SCRIPT_RESOURCE = "migration/" + FAILING_SCRIPT_NAME; private static final String SUCCESS_SCRIPT_RESOURCE = "migration/" + SUCCESS_SCRIPT_NAME; - protected static final Path FAILING_SCRIPT_FS_PATH = Paths.get(System.getProperty( "karaf.data" ), "migration", "scripts", FAILING_SCRIPT_NAME); - protected static final Path SUCCESS_SCRIPT_FS_PATH = Paths.get(System.getProperty( "karaf.data" ), "migration", "scripts", SUCCESS_SCRIPT_NAME); @Test public void checkMigrationRecoverySystem() throws Exception { + + String karafData = super.karafData(); + LOGGER.info("Karaf data directory: {}", karafData); + + Path scriptsDirectory = Paths.get(karafData, "migration", "scripts"); + Path failingScriptFsPath = Paths.get(karafData, "migration", "scripts", FAILING_SCRIPT_NAME); + Path successScriptFsPath = Paths.get(karafData, "migration", "scripts", SUCCESS_SCRIPT_NAME); + try { - Files.createDirectories(BASE_DIRECTORIES); + Files.createDirectories(scriptsDirectory); - Files.write(FAILING_SCRIPT_FS_PATH, bundleResourceAsString(FAILING_SCRIPT_RESOURCE).getBytes(StandardCharsets.UTF_8)); + Files.write(failingScriptFsPath, bundleResourceAsString(FAILING_SCRIPT_RESOURCE).getBytes(StandardCharsets.UTF_8)); try { executeCommand("unomi:migrate 10.0.0 true"); fail("Migration should have failed and crashed by Exception throwing"); } catch (Exception e) { // this is expected, the script fail at step 3 } - Files.deleteIfExists(FAILING_SCRIPT_FS_PATH); + Files.deleteIfExists(failingScriptFsPath); - Files.write(SUCCESS_SCRIPT_FS_PATH, bundleResourceAsString(SUCCESS_SCRIPT_RESOURCE).getBytes(StandardCharsets.UTF_8)); + Files.write(successScriptFsPath, bundleResourceAsString(SUCCESS_SCRIPT_RESOURCE).getBytes(StandardCharsets.UTF_8)); String successResult = executeCommand("unomi:migrate 10.0.0 true"); System.out.println("Success recovered from failing migration result:"); System.out.println(successResult); @@ -61,10 +70,10 @@ public void checkMigrationRecoverySystem() throws Exception { Assert.assertTrue(successResult.contains("inside step 3")); Assert.assertTrue(successResult.contains("inside step 4")); Assert.assertTrue(successResult.contains("inside step 5")); - Files.deleteIfExists(SUCCESS_SCRIPT_FS_PATH); + Files.deleteIfExists(successScriptFsPath); } finally { - Files.deleteIfExists(FAILING_SCRIPT_FS_PATH); - Files.deleteIfExists(SUCCESS_SCRIPT_FS_PATH); + Files.deleteIfExists(failingScriptFsPath); + Files.deleteIfExists(successScriptFsPath); } } } From ae67995a6fd0eba658de90051d0b033f98cb8d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Wed, 20 Aug 2025 16:01:29 +0200 Subject: [PATCH 21/30] UNOMI-876: Fix OffsetDateTime Jackson serialization problem in GraphQLSegmentIT by adding jackson-datatype-jsr310 in the CustomObjectMapper --- bom/pom.xml | 5 ++++ .../unomi/graphql/servlet/GraphQLServlet.java | 1 - .../org/apache/unomi/itests/SegmentIT.java | 24 ++++++++++++++++++- kar/pom.xml | 4 ---- kar/src/main/feature/feature.xml | 1 + persistence-spi/pom.xml | 5 ++++ .../persistence/spi/CustomObjectMapper.java | 4 +++- pom.xml | 2 +- 8 files changed, 38 insertions(+), 8 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index db23a2556..85de256f7 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -220,6 +220,11 @@ jackson-datatype-jdk8 ${jackson.version} + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson.version} + com.fasterxml.jackson.jaxrs jackson-jaxrs-base diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/GraphQLServlet.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/GraphQLServlet.java index 76592c7c6..c9bd2da58 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/GraphQLServlet.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/GraphQLServlet.java @@ -20,7 +20,6 @@ import graphql.ExecutionInput; import graphql.ExecutionResult; import graphql.introspection.IntrospectionQuery; -import org.apache.unomi.graphql.activator.GraphQLServletActivator; import org.apache.unomi.graphql.schema.GraphQLSchemaUpdater; import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.servlet.auth.GraphQLServletSecurityValidator; diff --git a/itests/src/test/java/org/apache/unomi/itests/SegmentIT.java b/itests/src/test/java/org/apache/unomi/itests/SegmentIT.java index 1a13fb602..e6fd54054 100644 --- a/itests/src/test/java/org/apache/unomi/itests/SegmentIT.java +++ b/itests/src/test/java/org/apache/unomi/itests/SegmentIT.java @@ -40,9 +40,12 @@ import java.text.SimpleDateFormat; import java.time.LocalDate; +import java.time.OffsetDateTime; import java.time.ZoneId; import java.util.*; +import static org.junit.Assert.assertNotNull; + @RunWith(PaxExam.class) @ExamReactorStrategy(PerSuite.class) public class SegmentIT extends BaseIT { @@ -65,7 +68,7 @@ public void tearDown() throws InterruptedException { @Test public void testSegments() { - Assert.assertNotNull("Segment service should be available", segmentService); + assertNotNull("Segment service should be available", segmentService); List segmentMetadatas = segmentService.getSegmentMetadatas(0, 50, null).getList(); Assert.assertEquals("Segment metadata list should be empty", 0, segmentMetadatas.size()); LOGGER.info("Retrieved " + segmentMetadatas.size() + " segment metadata entries"); @@ -132,7 +135,25 @@ public void testSegmentWithValidCondition() { segmentCondition.setParameter("eventCondition", pastEventEventCondition); segment.setCondition(segmentCondition); segmentService.setSegmentDefinition(segment); + segmentService.removeSegmentDefinition(SEGMENT_ID, false); + } + @Test + public void testSegmentWithPropertyValueDateCondition() { + Metadata segmentMetadata = new Metadata(SEGMENT_ID); + Segment segment = new Segment(segmentMetadata); + Condition segmentCondition = new Condition(definitionsService.getConditionType("pastEventCondition")); + segmentCondition.setParameter("minimumEventCount", 2); + segmentCondition.setParameter("numberOfDays", 10); + Condition pastEventEventCondition = new Condition(definitionsService.getConditionType("eventPropertyCondition")); + pastEventEventCondition.setParameter("propertyName", "timeStamp"); + pastEventEventCondition.setParameter("comparisonOperator", "equals"); + pastEventEventCondition.setParameter("propertyValueDate", OffsetDateTime.parse("2019-02-26T00:57:37Z")); + segmentCondition.setParameter("eventCondition", pastEventEventCondition); + segment.setCondition(segmentCondition); + segmentService.setSegmentDefinition(segment); + Segment loadedSegment = segmentService.getSegmentDefinition(SEGMENT_ID); + assertNotNull("Segment should be loaded", loadedSegment); segmentService.removeSegmentDefinition(SEGMENT_ID, false); } @@ -721,4 +742,5 @@ public void testSegmentWithRelativeDateExpressions() throws Exception { updatedProfile.getScores() == null || !updatedProfile.getScores().containsKey("relative-date-scoring-test")), 1000, 20); } + } diff --git a/kar/pom.xml b/kar/pom.xml index 5b4ad8390..bc5bca789 100644 --- a/kar/pom.xml +++ b/kar/pom.xml @@ -49,12 +49,10 @@ org.apache.unomi unomi-common - org.apache.unomi unomi-rest @@ -135,12 +133,10 @@ org.apache.unomi shell-dev-commands - joda-time diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml index 365481b8d..86f4cd591 100644 --- a/kar/src/main/feature/feature.xml +++ b/kar/src/main/feature/feature.xml @@ -59,6 +59,7 @@ mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version} mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version} mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${jackson.version} + mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/${jackson.version} mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${jackson.version} mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${jackson.version} mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${jackson.version} diff --git a/persistence-spi/pom.xml b/persistence-spi/pom.xml index 8d1520290..4815944bf 100644 --- a/persistence-spi/pom.xml +++ b/persistence-spi/pom.xml @@ -56,6 +56,11 @@ jackson-databind provided + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + provided + com.fasterxml.jackson.module jackson-module-jaxb-annotations diff --git a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/CustomObjectMapper.java b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/CustomObjectMapper.java index 65d09b0c7..c5b91a7a6 100644 --- a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/CustomObjectMapper.java +++ b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/CustomObjectMapper.java @@ -24,6 +24,7 @@ import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.util.ISO8601DateFormat; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule; import org.apache.unomi.api.*; import org.apache.unomi.api.actions.ActionType; @@ -46,7 +47,7 @@ public class CustomObjectMapper extends ObjectMapper { private static final long serialVersionUID = 4578277612897061535L; - + private Map> builtinItemTypeClasses = new HashMap<>(); private PropertyTypedObjectDeserializer propertyTypedObjectDeserializer; private ItemDeserializer itemDeserializer; @@ -58,6 +59,7 @@ public CustomObjectMapper() { public CustomObjectMapper(Map> deserializers) { super(); super.registerModule(new JaxbAnnotationModule()); + super.registerModule(new JavaTimeModule()); configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); setSerializationInclusion(JsonInclude.Include.NON_NULL); ISO8601DateFormat dateFormat = new ISO8601DateFormat(); diff --git a/pom.xml b/pom.xml index b81aa740f..02ea17f55 100644 --- a/pom.xml +++ b/pom.xml @@ -72,7 +72,6 @@ 1.9.0 1.11.0 3.2.2 - 2.18.2 2.5.2.Final 2.4 3.10 @@ -85,6 +84,7 @@ 1.3 1.2 1.10 + 2.18.2 1.10 16.0.1 16.0.1 From 985d1fb7398df1cc543a1b7d16bcb96aa9eab315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Wed, 20 Aug 2025 16:14:37 +0200 Subject: [PATCH 22/30] UNOMI-876: Upgrade CI to Java 17 --- .github/workflows/codeql-analysis-java.yml | 4 ++-- .github/workflows/unomi-ci-build-tests.yml | 12 ++++++------ .github/workflows/unomi-ci-docs-deploy.yml | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/codeql-analysis-java.yml b/.github/workflows/codeql-analysis-java.yml index 546e91b17..5fd21511c 100644 --- a/.github/workflows/codeql-analysis-java.yml +++ b/.github/workflows/codeql-analysis-java.yml @@ -39,10 +39,10 @@ jobs: # Prefix the list here with "+" to use these queries and those in the config file. # queries: ./path/to/local/query, your-org/your-repo/queries@main - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - run: mvn -U -ntp -e clean install -DskipTests - name: Perform CodeQL Analysis diff --git a/.github/workflows/unomi-ci-build-tests.yml b/.github/workflows/unomi-ci-build-tests.yml index e4dc433b6..094996121 100644 --- a/.github/workflows/unomi-ci-build-tests.yml +++ b/.github/workflows/unomi-ci-build-tests.yml @@ -16,10 +16,10 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v4 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 cache: maven - name: Build and Unit tests run: mvn -U -ntp -e clean install @@ -29,10 +29,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 cache: maven - name: Integration tests run: mvn -ntp clean install -Pintegration-tests @@ -40,13 +40,13 @@ jobs: uses: actions/upload-artifact@v4 if: false # UNOMI-746 Reactivate if necessary with: - name: unomi-code-coverage-jdk11-${{ github.run_number }} + name: unomi-code-coverage-jdk17-${{ github.run_number }} path: itests/target/site/jacoco - name: Archive unomi logs uses: actions/upload-artifact@v4 if: failure() with: - name: unomi-log-jdk11-${{ github.run_number }} + name: unomi-log-jdk17-${{ github.run_number }} path: | itests/target/exam/**/data/log itests/target/elasticsearch0/data diff --git a/.github/workflows/unomi-ci-docs-deploy.yml b/.github/workflows/unomi-ci-docs-deploy.yml index 856750220..9ca17b060 100644 --- a/.github/workflows/unomi-ci-docs-deploy.yml +++ b/.github/workflows/unomi-ci-docs-deploy.yml @@ -13,10 +13,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 server-id: apache.snapshots.https server-username: NEXUS_USER server-password: NEXUS_PW @@ -33,10 +33,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 server-id: apache.snapshots.https server-username: NEXUS_USER server-password: NEXUS_PW From 0f0c508f975f7ddf87ff5cae752d56fc41e3a488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Thu, 21 Aug 2025 12:08:15 +0200 Subject: [PATCH 23/30] UNOMI-876: Adapt DateUtils to avoid parsing Map of int in GraphQL --- .../SegmentProfileEventsConditionParser.java | 3 +-- ...gmentProfilePropertiesConditionParser.java | 2 +- .../types/output/CDPConsentUpdateEvent.java | 6 ++--- .../apache/unomi/graphql/utils/DateUtils.java | 24 ------------------- .../unomi/rest/endpoints/TestEndPoint.java | 13 +++++----- .../java/org/apache/unomi/web/WebConfig.java | 13 +++++----- 6 files changed, 18 insertions(+), 43 deletions(-) diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfileEventsConditionParser.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfileEventsConditionParser.java index 090f15280..ad054711e 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfileEventsConditionParser.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfileEventsConditionParser.java @@ -164,7 +164,6 @@ private void processDynamicEventField(final Condition condition, final Map createProfileEventPropertyField(final Condition condition) { final Map tuple = new HashMap<>(); @@ -185,7 +184,7 @@ private Map createProfileEventPropertyField(final Condition cond tuple.put("fieldName", "cdp_timestamp_gte"); } - final OffsetDateTime fieldValue = DateUtils.offsetDateTimeFromMap((Map) condition.getParameter("propertyValueDate")); + final OffsetDateTime fieldValue = OffsetDateTime.parse((String) condition.getParameter("propertyValueDate")); //With jackson JSR, OffsetDateTime are well serialized. tuple.put("fieldValue", fieldValue != null ? fieldValue.toString() : null); } else { diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfilePropertiesConditionParser.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfilePropertiesConditionParser.java index f649c80e9..f8a8f0cce 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfilePropertiesConditionParser.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfilePropertiesConditionParser.java @@ -147,7 +147,7 @@ private Map createProfilePropertiesField(final String propertyNa Object value; if (condition.getParameter("propertyValueDate") != null) { - value = DateUtils.offsetDateTimeFromMap((Map) condition.getParameter("propertyValueDate")); + value = condition.getParameter("propertyValueDate"); } else if (condition.getParameter("propertyValueInteger") != null) { value = condition.getParameter("propertyValueInteger"); } else { diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPConsentUpdateEvent.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPConsentUpdateEvent.java index 359da2629..fa3136e56 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPConsentUpdateEvent.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPConsentUpdateEvent.java @@ -62,15 +62,13 @@ public String status(DataFetchingEnvironment environment) { @GraphQLField @SuppressWarnings("unchecked") public OffsetDateTime lastUpdate(DataFetchingEnvironment environment) { - final Object lastUpdate = getEvent().getProperty("lastUpdate"); - return lastUpdate != null ? DateUtils.offsetDateTimeFromMap((Map) lastUpdate) : null; + return OffsetDateTime.parse((String)getEvent().getProperty("lastUpdate")); } @GraphQLField @SuppressWarnings("unchecked") public OffsetDateTime expiration(DataFetchingEnvironment environment) { - final Object expiration = getEvent().getProperty("expiration"); - return expiration != null ? DateUtils.offsetDateTimeFromMap((Map) expiration) : null; + return OffsetDateTime.parse((String)getEvent().getProperty("expiration")); } } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/utils/DateUtils.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/utils/DateUtils.java index 192722b69..ebfc92288 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/utils/DateUtils.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/utils/DateUtils.java @@ -19,9 +19,7 @@ import java.time.LocalDate; import java.time.OffsetDateTime; import java.time.ZoneId; -import java.time.ZoneOffset; import java.util.Date; -import java.util.Map; public final class DateUtils { @@ -53,26 +51,4 @@ public static Date toDate(final OffsetDateTime offsetDateTime) { return new Date(offsetDateTime.toInstant().toEpochMilli()); } - @SuppressWarnings("unchecked") - public static OffsetDateTime offsetDateTimeFromMap(final Map parameterValues) { - if (parameterValues == null) { - return null; - } - - final Map offsetAsMap = (Map) parameterValues.get("offset"); - - final ZoneOffset zoneOffset = ZoneOffset.of(offsetAsMap.get("id").toString()); - - return OffsetDateTime.of( - (int) parameterValues.get("year"), - (int) parameterValues.get("monthValue"), - (int) parameterValues.get("dayOfMonth"), - (int) parameterValues.get("hour"), - (int) parameterValues.get("minute"), - (int) parameterValues.get("second"), - (int) parameterValues.get("nano"), - zoneOffset); - - } - } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/TestEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/TestEndPoint.java index 74bc91c56..ea013e12d 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/TestEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/TestEndPoint.java @@ -1,11 +1,12 @@ /* - * Copyright (C) 2002-2025 Jahia Solutions Group SA. All rights reserved. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/wab/src/main/java/org/apache/unomi/web/WebConfig.java b/wab/src/main/java/org/apache/unomi/web/WebConfig.java index c2a17b020..42d927d45 100644 --- a/wab/src/main/java/org/apache/unomi/web/WebConfig.java +++ b/wab/src/main/java/org/apache/unomi/web/WebConfig.java @@ -1,11 +1,12 @@ /* - * Copyright (C) 2002-2025 Jahia Solutions Group SA. All rights reserved. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, From 33df756fb262063a9e49bf272f656498575be307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Thu, 28 Aug 2025 23:29:38 +0200 Subject: [PATCH 24/30] UNOMI-876: fix missing dependency after rebase --- persistence-elasticsearch/core/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/persistence-elasticsearch/core/pom.xml b/persistence-elasticsearch/core/pom.xml index af4027796..e9c990b3d 100644 --- a/persistence-elasticsearch/core/pom.xml +++ b/persistence-elasticsearch/core/pom.xml @@ -72,6 +72,11 @@ osgi.core provided + + org.osgi + org.osgi.service.cm + provided + com.hazelcast From 849954e9840eb6a73dd626fb861d69c1931b6e1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Fri, 29 Aug 2025 11:36:20 +0200 Subject: [PATCH 25/30] UNOMI-876: fix missing dependency after rebase --- services/pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/services/pom.xml b/services/pom.xml index 91ec9058c..577590bcc 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -61,6 +61,11 @@ unomi-persistence-spi provided + + org.apache.unomi + unomi-lifecycle-watcher + provided + org.apache.unomi unomi-scripting @@ -113,6 +118,12 @@ commons-beanutils provided + + org.slf4j + slf4j-api + provided + + com.github.seancfoley ipaddress From 89d4ea9cd1d590714c44287fa3ca5fa0468ba7ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Fri, 29 Aug 2025 11:55:54 +0200 Subject: [PATCH 26/30] UNOMI-876: fix bad rebase for feature --- kar/src/main/feature/feature.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml index 86f4cd591..4c64d920f 100644 --- a/kar/src/main/feature/feature.xml +++ b/kar/src/main/feature/feature.xml @@ -43,7 +43,6 @@ mvn:org.apache.unomi/unomi-services/${project.version}/cfg/servicescfg mvn:org.apache.unomi/unomi-services/${project.version}/cfg/thirdpartycfg mvn:org.apache.unomi/unomi-services/${project.version}/cfg/clustercfg - mvn:org.apache.unomi/unomi-services/${project.version}/xml/hazelcastconfig mvn:org.apache.unomi/unomi-plugins-request/${project.version}/cfg/requestcfg mvn:org.apache.unomi/unomi-plugins-base/${project.version}/cfg/pluginsbasecfg mvn:org.apache.unomi/cxs-geonames-services/${project.version}/cfg/geonamescfg From 00035dcfb683b5a35e0bfcc8d01f1cd2e8dbce7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Mon, 1 Sep 2025 08:22:49 +0200 Subject: [PATCH 27/30] UNOMI-876: revert tools to commands module renaming --- .../apache/unomi/router/core/context/RouterCamelContext.java | 1 - {commands => tools}/pom.xml | 4 ++-- {commands => tools}/shell-commands/pom.xml | 2 +- .../src/main/java/org/apache/unomi/shell/actions/Start.java | 0 .../src/main/java/org/apache/unomi/shell/actions/Stop.java | 0 .../src/main/java/org/apache/unomi/shell/actions/Version.java | 0 .../main/java/org/apache/unomi/shell/migration/Migration.java | 0 .../org/apache/unomi/shell/migration/MigrationException.java | 0 .../org/apache/unomi/shell/migration/MigrationService.java | 0 .../org/apache/unomi/shell/migration/actions/Migrate.java | 0 .../org/apache/unomi/shell/migration/impl/MigrationTo121.java | 0 .../org/apache/unomi/shell/migration/impl/MigrationTo122.java | 0 .../org/apache/unomi/shell/migration/impl/MigrationTo150.java | 0 .../apache/unomi/shell/migration/service/MigrationConfig.java | 0 .../shell/migration/service/MigrationConfigProperty.java | 0 .../unomi/shell/migration/service/MigrationContext.java | 0 .../apache/unomi/shell/migration/service/MigrationScript.java | 0 .../unomi/shell/migration/service/MigrationServiceImpl.java | 0 .../unomi/shell/migration/utils/HttpRequestException.java | 0 .../org/apache/unomi/shell/migration/utils/HttpUtils.java | 0 .../apache/unomi/shell/migration/utils/MigrationUtils.java | 0 .../apache/unomi/shell/services/UnomiManagementService.java | 0 .../shell/services/internal/UnomiManagementServiceImpl.java | 0 .../cxs/migration/migrate-1.2.1-00-migrateTags.groovy | 0 .../migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy | 0 .../cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy | 0 .../META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy | 0 .../cxs/migration/migrate-2.0.0-05-globalReindex.groovy | 0 .../cxs/migration/migrate-2.0.0-10-profileReindex.groovy | 0 .../cxs/migration/migrate-2.0.0-15-eventsReindex.groovy | 0 .../META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy | 0 .../cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy | 0 .../cxs/migration/migrate-2.2.0-05-indicesReduction.groovy | 0 .../migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy | 0 .../cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy | 0 .../migrate-2.5.0-00-cleanPastEventProfileSession.groovy | 0 .../cxs/migration/migrate-2.5.0-10-loginEventScope.groovy | 0 .../src/main/resources/org.apache.unomi.migration.cfg | 0 .../main/resources/requestBody/2.0.0/alias_save_bulk.ndjson | 0 .../main/resources/requestBody/2.0.0/base_index_mapping.json | 0 .../resources/requestBody/2.0.0/base_reindex_request.json | 0 .../requestBody/2.0.0/base_set_index_readonly_request.json | 0 .../resources/requestBody/2.0.0/event_delete_by_query.json | 0 .../main/resources/requestBody/2.0.0/event_migrate.painless | 0 .../main/resources/requestBody/2.0.0/mappings/campaign.json | 0 .../resources/requestBody/2.0.0/mappings/conditionType.json | 0 .../src/main/resources/requestBody/2.0.0/mappings/goal.json | 0 .../src/main/resources/requestBody/2.0.0/mappings/patch.json | 0 .../src/main/resources/requestBody/2.0.0/mappings/rule.json | 0 .../src/main/resources/requestBody/2.0.0/mappings/scope.json | 0 .../main/resources/requestBody/2.0.0/mappings/scoring.json | 0 .../main/resources/requestBody/2.0.0/mappings/segment.json | 0 .../resources/requestBody/2.0.0/profile_merged_delete.json | 0 .../resources/requestBody/2.0.0/profile_merged_search.json | 0 .../main/resources/requestBody/2.0.0/profile_migrate.painless | 0 .../main/resources/requestBody/2.0.0/scope_save_bulk.ndjson | 0 .../src/main/resources/requestBody/2.0.0/scope_search.json | 0 .../resources/requestBody/2.0.0/scope_search_by_item_id.json | 0 .../requestBody/2.2.0/base_index_withRollover_request.json | 0 .../resources/requestBody/2.2.0/base_reindex_request.json | 0 .../resources/requestBody/2.2.0/configure_alias_body.json | 0 .../requestBody/2.2.0/create_rollover_policy_query.json | 0 .../resources/requestBody/2.2.0/match_all_body_request.json | 0 .../src/main/resources/requestBody/2.2.0/suffix_ids.painless | 0 .../requestBody/2.2.0/update_settings_poll_interval.json | 0 .../requestBody/2.4.0/base_update_by_query_request.json | 0 .../requestBody/2.4.0/view_event_page_path_migrate.painless | 0 .../requestBody/2.5.0/login_event_scope_migrate.painless | 0 .../requestBody/2.5.0/remove_pastEvents_session.painless | 0 .../requestBody/2.5.0/scope_update_by_query_request.json | 0 .../requestBody/2.5.0/update_pastEvents_profile.painless | 0 .../src/main/resources/requestBody/updateMapping.json | 0 {commands => tools}/shell-dev-commands/pom.xml | 2 +- .../main/java/org/apache/unomi/shell/commands/ActionList.java | 0 .../main/java/org/apache/unomi/shell/commands/ActionView.java | 0 .../java/org/apache/unomi/shell/commands/ConditionList.java | 0 .../java/org/apache/unomi/shell/commands/ConditionView.java | 0 .../org/apache/unomi/shell/commands/DeployDefinition.java | 0 .../apache/unomi/shell/commands/DeploymentCommandSupport.java | 0 .../main/java/org/apache/unomi/shell/commands/EventList.java | 0 .../java/org/apache/unomi/shell/commands/EventSearch.java | 0 .../main/java/org/apache/unomi/shell/commands/EventTail.java | 0 .../main/java/org/apache/unomi/shell/commands/EventView.java | 0 .../org/apache/unomi/shell/commands/ListCommandSupport.java | 0 .../java/org/apache/unomi/shell/commands/ProfileList.java | 0 .../java/org/apache/unomi/shell/commands/ProfileRemove.java | 0 .../java/org/apache/unomi/shell/commands/ProfileView.java | 0 .../main/java/org/apache/unomi/shell/commands/RuleList.java | 0 .../main/java/org/apache/unomi/shell/commands/RuleRemove.java | 0 .../java/org/apache/unomi/shell/commands/RuleResetStats.java | 0 .../main/java/org/apache/unomi/shell/commands/RuleTail.java | 0 .../main/java/org/apache/unomi/shell/commands/RuleView.java | 0 .../main/java/org/apache/unomi/shell/commands/RuleWatch.java | 0 .../java/org/apache/unomi/shell/commands/SegmentList.java | 0 .../java/org/apache/unomi/shell/commands/SegmentRemove.java | 0 .../java/org/apache/unomi/shell/commands/SegmentView.java | 0 .../java/org/apache/unomi/shell/commands/SessionList.java | 0 .../java/org/apache/unomi/shell/commands/SessionView.java | 0 .../org/apache/unomi/shell/commands/TailCommandSupport.java | 0 .../org/apache/unomi/shell/commands/UndeployDefinition.java | 0 100 files changed, 4 insertions(+), 5 deletions(-) rename {commands => tools}/pom.xml (94%) rename {commands => tools}/shell-commands/pom.xml (99%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java (100%) rename {commands => tools}/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy (100%) rename {commands => tools}/shell-commands/src/main/resources/org.apache.unomi.migration.cfg (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless (100%) rename {commands => tools}/shell-commands/src/main/resources/requestBody/updateMapping.json (100%) rename {commands => tools}/shell-dev-commands/pom.xml (98%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java (100%) rename {commands => tools}/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java (100%) diff --git a/extensions/router/router-core/src/main/java/org/apache/unomi/router/core/context/RouterCamelContext.java b/extensions/router/router-core/src/main/java/org/apache/unomi/router/core/context/RouterCamelContext.java index 87d275456..4d329209d 100644 --- a/extensions/router/router-core/src/main/java/org/apache/unomi/router/core/context/RouterCamelContext.java +++ b/extensions/router/router-core/src/main/java/org/apache/unomi/router/core/context/RouterCamelContext.java @@ -148,7 +148,6 @@ public void run() { } } - for (Map.Entry exportConfigToRefresh : exportConfigsToRefresh.entrySet()) { try { if (exportConfigToRefresh.getValue().equals(RouterConstants.CONFIG_CAMEL_REFRESH.UPDATED)) { diff --git a/commands/pom.xml b/tools/pom.xml similarity index 94% rename from commands/pom.xml rename to tools/pom.xml index 15d2d11ab..a6411b948 100644 --- a/commands/pom.xml +++ b/tools/pom.xml @@ -22,8 +22,8 @@ unomi-root 3.0.0-SNAPSHOT - unomi-commands - Apache Unomi :: Commands + unomi-tools + Apache Unomi :: Tools Apache Unomi Context Server commands pom diff --git a/commands/shell-commands/pom.xml b/tools/shell-commands/pom.xml similarity index 99% rename from commands/shell-commands/pom.xml rename to tools/shell-commands/pom.xml index a5b48a0c5..4cb1fd39b 100644 --- a/commands/shell-commands/pom.xml +++ b/tools/shell-commands/pom.xml @@ -18,7 +18,7 @@ 4.0.0 - unomi-commands + unomi-tools org.apache.unomi 3.0.0-SNAPSHOT diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Start.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Stop.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/actions/Version.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationException.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/MigrationService.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo121.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo122.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo150.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfig.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationConfigProperty.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationContext.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationScript.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/service/MigrationServiceImpl.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpRequestException.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/HttpUtils.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/MigrationUtils.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/services/UnomiManagementService.java diff --git a/commands/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java similarity index 100% rename from commands/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java rename to tools/shell-commands/src/main/java/org/apache/unomi/shell/services/internal/UnomiManagementServiceImpl.java diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.1-00-migrateTags.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.2.2-00-deleteOldIndexTemplate.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-1.5.0-00-elasticSearch7.4.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-01-aliases.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-05-globalReindex.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-10-profileReindex.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-15-eventsReindex.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.0.0-20-scopes.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-00-migrationEnvCheck.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-05-indicesReduction.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.2.0-10-rolloverAndMigrateEventSession.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.4.0-15-viewEventPagePath.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-00-cleanPastEventProfileSession.groovy diff --git a/commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy b/tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy similarity index 100% rename from commands/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy rename to tools/shell-commands/src/main/resources/META-INF/cxs/migration/migrate-2.5.0-10-loginEventScope.groovy diff --git a/commands/shell-commands/src/main/resources/org.apache.unomi.migration.cfg b/tools/shell-commands/src/main/resources/org.apache.unomi.migration.cfg similarity index 100% rename from commands/shell-commands/src/main/resources/org.apache.unomi.migration.cfg rename to tools/shell-commands/src/main/resources/org.apache.unomi.migration.cfg diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson b/tools/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/alias_save_bulk.ndjson diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/base_index_mapping.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/base_reindex_request.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/base_set_index_readonly_request.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/event_delete_by_query.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless b/tools/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/event_migrate.painless diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/campaign.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/conditionType.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/goal.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/patch.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/rule.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scope.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/scoring.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/mappings/segment.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_delete.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_merged_search.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless b/tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/profile_migrate.painless diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson b/tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_save_bulk.ndjson diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_search.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json b/tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json rename to tools/shell-commands/src/main/resources/requestBody/2.0.0/scope_search_by_item_id.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json b/tools/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json rename to tools/shell-commands/src/main/resources/requestBody/2.2.0/base_index_withRollover_request.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json b/tools/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json rename to tools/shell-commands/src/main/resources/requestBody/2.2.0/base_reindex_request.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json b/tools/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json rename to tools/shell-commands/src/main/resources/requestBody/2.2.0/configure_alias_body.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json b/tools/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json rename to tools/shell-commands/src/main/resources/requestBody/2.2.0/create_rollover_policy_query.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json b/tools/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json rename to tools/shell-commands/src/main/resources/requestBody/2.2.0/match_all_body_request.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless b/tools/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless rename to tools/shell-commands/src/main/resources/requestBody/2.2.0/suffix_ids.painless diff --git a/commands/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json b/tools/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json rename to tools/shell-commands/src/main/resources/requestBody/2.2.0/update_settings_poll_interval.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json b/tools/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json rename to tools/shell-commands/src/main/resources/requestBody/2.4.0/base_update_by_query_request.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless b/tools/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless rename to tools/shell-commands/src/main/resources/requestBody/2.4.0/view_event_page_path_migrate.painless diff --git a/commands/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless b/tools/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless rename to tools/shell-commands/src/main/resources/requestBody/2.5.0/login_event_scope_migrate.painless diff --git a/commands/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless b/tools/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless rename to tools/shell-commands/src/main/resources/requestBody/2.5.0/remove_pastEvents_session.painless diff --git a/commands/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json b/tools/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json rename to tools/shell-commands/src/main/resources/requestBody/2.5.0/scope_update_by_query_request.json diff --git a/commands/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless b/tools/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless rename to tools/shell-commands/src/main/resources/requestBody/2.5.0/update_pastEvents_profile.painless diff --git a/commands/shell-commands/src/main/resources/requestBody/updateMapping.json b/tools/shell-commands/src/main/resources/requestBody/updateMapping.json similarity index 100% rename from commands/shell-commands/src/main/resources/requestBody/updateMapping.json rename to tools/shell-commands/src/main/resources/requestBody/updateMapping.json diff --git a/commands/shell-dev-commands/pom.xml b/tools/shell-dev-commands/pom.xml similarity index 98% rename from commands/shell-dev-commands/pom.xml rename to tools/shell-dev-commands/pom.xml index fe198a509..df3ba175a 100644 --- a/commands/shell-dev-commands/pom.xml +++ b/tools/shell-dev-commands/pom.xml @@ -18,7 +18,7 @@ 4.0.0 - unomi-commands + unomi-tools org.apache.unomi 3.0.0-SNAPSHOT diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionList.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ActionView.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionList.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ConditionView.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeploymentCommandSupport.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventList.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventSearch.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventTail.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/EventView.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileList.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileRemove.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ProfileView.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleList.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleRemove.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleResetStats.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleTail.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleView.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/RuleWatch.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentList.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentRemove.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SegmentView.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionList.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/SessionView.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/TailCommandSupport.java diff --git a/commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java similarity index 100% rename from commands/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java rename to tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/UndeployDefinition.java From 6a17bc6602bc2b94ae6f272a0aa0d46dc9f3e218 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Mon, 1 Sep 2025 09:10:41 +0200 Subject: [PATCH 28/30] UNOMI-876: revert tools to commands module renaming --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 02ea17f55..b342bed7c 100644 --- a/pom.xml +++ b/pom.xml @@ -403,7 +403,7 @@ extensions/lists-extension extensions/privacy-extension extensions/web-tracker - commands + tools wab rest manual From d28418838ffbbf1d56f5b31e4fbde96ed0a50046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Mon, 1 Sep 2025 10:53:11 +0200 Subject: [PATCH 29/30] UNOMI-876: restore REST-UI feature --- package/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/pom.xml b/package/pom.xml index a2bdc1566..97cb7bb95 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -318,7 +318,7 @@ unomi-kar unomi-router-karaf-feature unomi-groovy-actions - + unomi-rest-ui 17 From d90c51215ab403f50ac8f66c05cd46ead78015f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Blanchard?= Date: Mon, 1 Sep 2025 13:52:49 +0200 Subject: [PATCH 30/30] UNOMI-876: restore REST-UI feature, document pom.xml for splitting extensions submodules --- pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pom.xml b/pom.xml index b342bed7c..d949d7c88 100644 --- a/pom.xml +++ b/pom.xml @@ -374,6 +374,10 @@ + bom api