diff --git a/.github/workflows/build-project.yml b/.github/workflows/build-project.yml
index 9ae5a4e6..0102128f 100644
--- a/.github/workflows/build-project.yml
+++ b/.github/workflows/build-project.yml
@@ -21,19 +21,13 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Cache Docker Register
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ hashFiles('**/Dockerfile') }}
- - name: Cache Maven packages
- uses: actions/cache@v3
- with:
- path: ~/.m2
- key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
- restore-keys: ${{ runner.os }}-m2
- name: Set up Docker Buildx
id: buildx
@@ -43,6 +37,7 @@ jobs:
with:
distribution: 'zulu'
java-version: '17'
+ cache: 'maven'
- name: Create custom Maven Settings.xml
uses: whelk-io/maven-settings-xml-action@v21
diff --git a/.github/workflows/release-project.yml b/.github/workflows/release-project.yml
index 7b2d3c3e..a8422e7e 100644
--- a/.github/workflows/release-project.yml
+++ b/.github/workflows/release-project.yml
@@ -16,19 +16,13 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Cache Docker Register
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ hashFiles('**/Dockerfile') }}
- - name: Cache Maven packages
- uses: actions/cache@v3
- with:
- path: ~/.m2
- key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
- restore-keys: ${{ runner.os }}-m2
- name: Extract tag name
id: extract_tagname
@@ -41,11 +35,12 @@ jobs:
with:
distribution: 'zulu'
java-version: '17'
+ cache: 'maven'
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
diff --git a/.github/workflows/reuse.yml b/.github/workflows/reuse.yml
index aff58480..b89fda98 100644
--- a/.github/workflows/reuse.yml
+++ b/.github/workflows/reuse.yml
@@ -11,6 +11,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v2
diff --git a/.github/workflows/sonarcloud-analysis.yml b/.github/workflows/sonarcloud-analysis.yml
index c0364192..a2141b7f 100644
--- a/.github/workflows/sonarcloud-analysis.yml
+++ b/.github/workflows/sonarcloud-analysis.yml
@@ -40,7 +40,7 @@ jobs:
full_name: ${{ github.event.repository.full_name }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
repository: ${{ github.event.workflow_run.head_repository.full_name }}
ref: ${{ github.event.workflow_run.head_branch }}
@@ -59,6 +59,7 @@ jobs:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
+
- name: Cache Maven packages
uses: actions/cache@v3
with:
@@ -71,7 +72,6 @@ jobs:
with:
distribution: 'zulu'
java-version: '17'
-
- name: Set Common Sonar Variables
id: sonar_env
run: |
diff --git a/.github/workflows/sonarcloud-build.yml b/.github/workflows/sonarcloud-build.yml
index 58e78fcd..7228a740 100644
--- a/.github/workflows/sonarcloud-build.yml
+++ b/.github/workflows/sonarcloud-build.yml
@@ -26,7 +26,7 @@ jobs:
if: ${{ (github.event_name != 'pull_request_target' && github.actor != 'dependabot[bot]') || (github.actor == 'dependabot[bot]' && github.event_name == 'pull_request_target') }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
diff --git a/README.md b/README.md
index 7a2caa06..24f65332 100644
--- a/README.md
+++ b/README.md
@@ -19,10 +19,8 @@ parts of this repository can also be used separately in your own component to ma
Service Layer can be used as Java component to manage them. For more information about the architecture go
to [documentation](doc/compas-scl-data-service.md).
-There are currently two database implementations available.
+There is currently one database implementations available.
-- For more development information about the BaseX Implementation go to [BaseX](doc/basex.md). (Profile activated by
- default.)
- For more development information about the PostgreSQL Implementation go to [PostgreSQL](doc/postgresql.md).
> **Note:** When switching between implementation it's a good practise to first execute a maven clean to remove
diff --git a/app/pom.xml b/app/pom.xml
index 1f637c31..dcb9525e 100644
--- a/app/pom.xml
+++ b/app/pom.xml
@@ -31,10 +31,6 @@ SPDX-License-Identifier: Apache-2.0
org.lfenergy.compas.scl.datarepository
-
- org.lfenergy.compas.scl.data
- repository-basex
- org.lfenergy.compas.scl.datarepository-postgresql
@@ -171,28 +167,8 @@ SPDX-License-Identifier: Apache-2.0
generate-code-tests
-
- build-basex
-
- build
-
-
-
- prod-basex
- basex-quarkus-app
- src/main/docker/Dockerfile-basex.jvm
-
- src/main/docker/Dockerfile-basex.native
-
- ${project.version}-basex
- latest-basex
-
-
-
- build-postgresql
@@ -285,23 +261,6 @@ SPDX-License-Identifier: Apache-2.0
maven-failsafe-plugin${surefire-plugin.version}
-
- integration-test-basex
-
- integration-test
- verify
-
-
-
-
- ${project.build.directory}/basex-quarkus-app/${project.build.finalName}-runner
-
- org.jboss.logmanager.LogManager
-
- ${maven.home}
-
-
-
diff --git a/app/src/main/resources/application-dev-basex.properties b/app/src/main/resources/application-dev-basex.properties
deleted file mode 100644
index 7bb9b600..00000000
--- a/app/src/main/resources/application-dev-basex.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-FileCopyrightText: 2021 Alliander N.V.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-# Development BaseX configuration.
-quarkus.http.port = 9090
-quarkus.http.cors = true
-
-# Dev Logging
-quarkus.log.level = DEBUG
-quarkus.log.category."org.lfenergy.compas.scl.data".level = DEBUG
-
-# Dev extra permissions
-quarkus.http.auth.permission.develop-quarkus-services.paths = /compas-scl-data-service/q/swagger-ui/*,/compas-scl-data-service/index.html
-quarkus.http.auth.permission.develop-quarkus-services.policy = permit
-
-# Exclude the other repository implementations from being scanned
-quarkus.arc.exclude-dependency.postgresql-repository.group-id = org.lfenergy.compas.scl.data
-quarkus.arc.exclude-dependency.postgresql-repository.artifact-id = repository-postgresql
-
-# Datasource configuration for BaseX (none)
-quarkus.datasource.jdbc = false
-quarkus.datasource.devservices.enabled = false
-
-# Flyway configuration for BaseX (none)
-quarkus.flyway.migrate-at-start = false
-
-# BaseX configuration
-basex.host = localhost
-basex.port = 1984
-basex.username = admin
-basex.password = admin
diff --git a/app/src/main/resources/application-dev-postgresql.properties b/app/src/main/resources/application-dev-postgresql.properties
index 8d2e80a7..b526c75b 100644
--- a/app/src/main/resources/application-dev-postgresql.properties
+++ b/app/src/main/resources/application-dev-postgresql.properties
@@ -14,10 +14,6 @@ quarkus.log.category."org.lfenergy.compas.scl.data".level = DEBUG
quarkus.http.auth.permission.develop-quarkus-services.paths = /compas-scl-data-service/q/swagger-ui/*,/compas-scl-data-service/index.html
quarkus.http.auth.permission.develop-quarkus-services.policy = permit
-# Exclude the other repository implementations from being scanned
-quarkus.arc.exclude-dependency.basex-repository.group-id = org.lfenergy.compas.scl.data
-quarkus.arc.exclude-dependency.basex-repository.artifact-id = repository-basex
-
# Datasource configuration for PostgreSQL
quarkus.datasource.devservices.enabled = false
quarkus.datasource.db-kind = postgresql
diff --git a/app/src/main/resources/application-prod-basex.properties b/app/src/main/resources/application-prod-basex.properties
deleted file mode 100644
index 0d81f53f..00000000
--- a/app/src/main/resources/application-prod-basex.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-FileCopyrightText: 2021 Alliander N.V.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-# Production BaseX configuration.
-
-# Exclude the other repository implementations from being scanned
-quarkus.arc.exclude-dependency.postgresql-repository.group-id = org.lfenergy.compas.scl.data
-quarkus.arc.exclude-dependency.postgresql-repository.artifact-id = repository-postgresql
-
-# Add scanning these dependencies for scanning, also used by native compilation.
-quarkus.index-dependency.basex-repository.group-id = org.lfenergy.compas.scl.data
-quarkus.index-dependency.basex-repository.artifact-id = repository-basex
-
-# Datasource configuration for BaseX (none)
-quarkus.datasource.jdbc = false
-
-# Flyway configuration for BaseX (none)
-quarkus.flyway.migrate-at-start = false
-
-# BaseX configuration
-basex.host = localhost
-basex.port = 1984
-basex.username = admin
-basex.password = admin
diff --git a/app/src/main/resources/application-prod-postgresql.properties b/app/src/main/resources/application-prod-postgresql.properties
index 79642385..ba6516ac 100644
--- a/app/src/main/resources/application-prod-postgresql.properties
+++ b/app/src/main/resources/application-prod-postgresql.properties
@@ -4,10 +4,6 @@
# Production PostgreSQL configuration.
-# Exclude the other repository implementations from being scanned
-quarkus.arc.exclude-dependency.basex-repository.group-id = org.lfenergy.compas.scl.data
-quarkus.arc.exclude-dependency.basex-repository.artifact-id = repository-basex
-
# Add scanning these dependencies for scanning, also used by native compilation.
quarkus.index-dependency.postgresql-repository.group-id = org.lfenergy.compas.scl.data
quarkus.index-dependency.postgresql-repository.artifact-id = repository-postgresql
diff --git a/app/src/main/resources/application-test.properties b/app/src/main/resources/application-test.properties
index 0ddb127d..1dfce47a 100644
--- a/app/src/main/resources/application-test.properties
+++ b/app/src/main/resources/application-test.properties
@@ -4,10 +4,6 @@
# Test configuration.
-# Exclude the other repository implementations from being scanned
-quarkus.arc.exclude-dependency.basex-repository.group-id = org.lfenergy.compas.scl.data
-quarkus.arc.exclude-dependency.basex-repository.artifact-id = repository-basex
-
# Datasource configuration for PostgreSQL
quarkus.datasource.devservices.enabled = true
quarkus.datasource.db-kind = postgresql
diff --git a/doc/basex.md b/doc/basex.md
deleted file mode 100644
index d60aa557..00000000
--- a/doc/basex.md
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-# BaseX Implementation
-
-## BaseX Environment variables
-
-Below environment variable(s) can be used to configure the connection to BaseX, if BaseX Server is used.
-
-| Environment variable | Java Property | Description | Example |
-| -------------------------------- | ------------------------- | --------------------------------------------- | ---------------- |
-| BASEX_HOST | basex.host | Name of the Host where BaseX runs. | localhost |
-| BASEX_PORT | basex.port | Port on the Host on which BaseX runs. | 1984 |
-| BASEX_USERNAME | basex.username | Username under which the application logs in. | admin |
-| BASEX_PASSWORD | basex.password | Password of the username used above. | admin |
-
-## Development
-
-### Building the application
-
-You can use Maven to build the application and see if all tests are working using:
-
-```shell script
-./mvnw clean verify
-```
-
-This should normally be enough to also run the application, but there were cases that we need to build using:
-
-```shell script
-./mvnw clean install
-```
-
-This to make the local modules available for the app module to run the application.
-
-### Running the application in dev mode
-
-You can run your application in dev mode that enables live coding using:
-
-```shell script
-./mvnw -DskipTests=true -Dquarkus.profile=dev-basex package io.quarkus:quarkus-maven-plugin::dev
-```
-
-#### Application depends on a running BaseX instance
-
-Check [basexhttp on DockerHub](https://hub.docker.com/r/basex/basexhttp) for a running BaseX docker container. This is
-needed when running the SCL Data Service locally. Not needed to run the tests.
-
-```shell
-mkdir -p /data
-sudo chown -R 1984:1984 /data
-
-docker run --rm --name compas_basex \
- -p 1984:1984 \
- -v /data:/srv/basex/data \
- -d basex/basexhttp:latest
-```
-
-> **Note:** Replace with a directory on your local machine, for instance "~/basex".
-> All data will be stored in this directory under "data". This way data isn't lost after stopping the docker container.
-
-#### Application depends on a running KeyCloak instance
-
-Beside a BaseX Database there is also a KeyCloak instance need to be running on port 8089 by default.
-See [README.md](../README.md#security) for default values, if custom keycloak is used.
-
-There is a preconfigured keycloak instance available in
-the [CoMPAS Deployment Repository](https://github.com/com-pas/compas-deployment). This repository can be cloned and
-when going to this directory the following command can be executed to create a local Docker Image with configuration.
-
-```shell
-cd /compas/keycloak
-docker build -t compas_keycloak .
-```
-
-There is now a Docker Image `compas_keycloak` created that can be started using the following command
-
-```shell
-docker run --rm --name compas_keycloak \
- -p 8089:8080
- -d compas_keycloak:latest
-```
-
-### Creating a Docker image with native executable
-
-The releases created in the repository will create a docker image with a native executable. If you're running a Linux
-system it's possible to create and run the executable locally. You can create a Docker image with native executable
-using:
-
-```shell script
-./mvnw package -Pnative-image
-```
-
-You can then execute your native executable with: `./app/target/basex-quarkus-app/app-local-SNAPSHOT-runner`
-
-### Creating a Docker image with JVM executable
-
-There is also a profile to create a Docker Image which runs the application using a JVM. You can create a Docker Image
-with JVM executable using:
-
-```shell script
-./mvnw package -Pjvm-image
-```
-
-The JVM Image can also (temporary) be created by the release action if there are problems creating or running the
-native executable.
diff --git a/doc/compas-scl-data-service.md b/doc/compas-scl-data-service.md
index 760246ac..ab23204a 100644
--- a/doc/compas-scl-data-service.md
+++ b/doc/compas-scl-data-service.md
@@ -55,15 +55,6 @@ The Service class contains some logic regarding versions and private elements.
- delete: Remove (all versions) of the SCL from the storage. Or if the version is passed that specific version of the
SCL.
-### BaseX
-
-There a some BaseX specific choices made in storing the SCL.
-
-- For every type of SCL a separate database is created. This is quite easy done in BaseX.
- ![Databases](images/CoMPAS-SclDataService-Databases.png)
-- In these databases the SCL will be stored as "\/\/\/\/scl.xml".
- This way it will be easy to store the different version and find the latest version.
-
### PostgreSQL
There a some PostgreSQL choices made in storing the SCL.
diff --git a/pom.xml b/pom.xml
index 6afa0afe..ff3008ef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,20 +20,19 @@ SPDX-License-Identifier: Apache-2.0
UTF-83.11.0
- 3.1.0
+ 3.1.23.2.00.16.0
- 3.4.1
+ 3.4.2
- 3.1
+ 3.1.12.20.00.9.1repository
- repository-basexrepository-postgresqlserviceapp
@@ -75,11 +74,6 @@ SPDX-License-Identifier: Apache-2.0
repository${project.version}
-
- org.lfenergy.compas.scl.data
- repository-basex
- ${project.version}
- org.lfenergy.compas.scl.datarepository-postgresql
diff --git a/repository-basex/pom.xml b/repository-basex/pom.xml
deleted file mode 100644
index 929add3e..00000000
--- a/repository-basex/pom.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
- 4.0.0
-
- org.lfenergy.compas.scl.data
- compas-scl-data-service
- local-SNAPSHOT
-
-
- repository-basex
- jar
-
-
- 9.2.4
-
-
-
-
- org.lfenergy.compas.scl.data
- repository
-
-
-
- commons-io
- commons-io
-
-
-
- org.eclipse.microprofile.config
- microprofile-config-api
-
-
- org.glassfish.jaxb
- jaxb-runtime
- provided
- 4.0.2
-
-
-
- org.apache.logging.log4j
- log4j-api
-
-
- org.apache.logging.log4j
- log4j-core
- provided
-
-
-
-
- org.lfenergy.compas.scl.data
- repository
- test-jar
- test
-
-
- org.basex
- basex
- ${basex.version}
- test
-
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.mockito
- mockito-junit-jupiter
- test
-
-
- org.junit.jupiter
- junit-jupiter-engine
- test
-
-
-
-
-
-
- org.jboss.jandex
- jandex-maven-plugin
-
-
-
-
diff --git a/repository-basex/src/main/java/org/lfenergy/compas/scl/data/basex/client/BaseXClient.java b/repository-basex/src/main/java/org/lfenergy/compas/scl/data/basex/client/BaseXClient.java
deleted file mode 100644
index 2d8d6734..00000000
--- a/repository-basex/src/main/java/org/lfenergy/compas/scl/data/basex/client/BaseXClient.java
+++ /dev/null
@@ -1,462 +0,0 @@
-// SPDX-FileCopyrightText: 2020 Alliander N.V.
-//
-// SPDX-License-Identifier: Apache-2.0
-
-package org.lfenergy.compas.scl.data.basex.client;
-
-import org.lfenergy.compas.scl.data.exception.CompasSclDataServiceException;
-
-import java.io.*;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.lfenergy.compas.scl.data.exception.CompasSclDataServiceErrorCode.BASEX_CLIENT_CREATION_ERROR_CODE;
-
-/**
- * Java client for BaseX.
- * Works with BaseX 7.0 and later
- *