diff --git a/.github/workflows/broken_links_checker.yml b/.github/workflows/broken_links_checker.yml index 6a69306..29071df 100644 --- a/.github/workflows/broken_links_checker.yml +++ b/.github/workflows/broken_links_checker.yml @@ -2,15 +2,26 @@ name: Broken Links Checker on: schedule: - - cron: "0 5 * * *" + - cron: "0 5 * * 0" push: + branches: + - main + pull_request: jobs: linkChecker: runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + - name: Configure broken links checker + run: | + mkdir -p ./target + echo '{ "aliveStatusCodes": [429, 200], "ignorePatterns": [{"pattern": "^https?://(www.)?opensource.org"}] }' > ./target/broken_links_checker.json - uses: gaurav-nelson/github-action-markdown-link-check@v1 with: use-quiet-mode: 'yes' - use-verbose-mode: 'yes' \ No newline at end of file + use-verbose-mode: 'yes' + config-file: ./target/broken_links_checker.json \ No newline at end of file diff --git a/.github/workflows/ci-build-next-java.yml b/.github/workflows/ci-build-next-java.yml index 0c35fbc..6a1006c 100644 --- a/.github/workflows/ci-build-next-java.yml +++ b/.github/workflows/ci-build-next-java.yml @@ -1,32 +1,35 @@ name: CI Build next Java on: - - push + push: + branches: + - main + pull_request: jobs: - build: + java-17-compatibility: runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 17 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Run tests and build with Maven - run: mvn --batch-mode --update-snapshots clean package -DtrimStackTrace=false + run: | + mvn --batch-mode --update-snapshots clean package -DtrimStackTrace=false \ + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - name: Publish Test Report uses: scacap/action-surefire-report@v1 - if: ${{ always() }} + if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }} with: github_token: ${{ secrets.GITHUB_TOKEN }} + fail_if_no_tests: false diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index a90eca3..e520870 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -1,30 +1,55 @@ name: CI Build on: - - push + push: + branches: + - main + pull_request: jobs: build: runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: + distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 + cache: 'maven' + - name: Cache SonarCloud packages + uses: actions/cache@v3 with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + - name: Enable testcontainer reuse + run: echo 'testcontainers.reuse.enable=true' > "$HOME/.testcontainers.properties" - name: Run tests and build with Maven - run: mvn --batch-mode --update-snapshots clean verify sonar:sonar --file pom.xml -DtrimStackTrace=false -Dsonar.organization=exasol -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=$SONAR_TOKEN + run: | + mvn --batch-mode clean verify \ + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ + -DtrimStackTrace=false + - name: Publish Test Report + uses: scacap/action-surefire-report@v1 + if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + - name: Sonar analysis + if: ${{ env.SONAR_TOKEN != null }} + run: | + mvn --batch-mode org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \ + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ + -DtrimStackTrace=false \ + -Dsonar.organization=exasol \ + -Dsonar.host.url=https://sonarcloud.io \ + -Dsonar.login=$SONAR_TOKEN env: - GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/dependencies_check.yml b/.github/workflows/dependencies_check.yml index d28c0b4..b2ab231 100644 --- a/.github/workflows/dependencies_check.yml +++ b/.github/workflows/dependencies_check.yml @@ -9,18 +9,12 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Checking dependencies for vulnerabilities - run: mvn org.sonatype.ossindex.maven:ossindex-maven-plugin:audit -f pom.xml \ No newline at end of file + run: mvn --batch-mode org.sonatype.ossindex.maven:ossindex-maven-plugin:audit -f pom.xml \ No newline at end of file diff --git a/.github/workflows/release_droid_prepare_original_checksum.yml b/.github/workflows/release_droid_prepare_original_checksum.yml index 650b120..4a980f8 100644 --- a/.github/workflows/release_droid_prepare_original_checksum.yml +++ b/.github/workflows/release_droid_prepare_original_checksum.yml @@ -8,27 +8,23 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' + - name: Enable testcontainer reuse + run: echo 'testcontainers.reuse.enable=true' > "$HOME/.testcontainers.properties" - name: Run tests and build with Maven run: mvn --batch-mode clean verify --file pom.xml - name: Prepare checksum run: find target -maxdepth 1 -name *.jar -exec sha256sum "{}" + > original_checksum - name: Upload checksum to the artifactory - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: original_checksum retention-days: 5 diff --git a/.github/workflows/release_droid_print_quick_checksum.yml b/.github/workflows/release_droid_print_quick_checksum.yml index 746fc43..8add957 100644 --- a/.github/workflows/release_droid_print_quick_checksum.yml +++ b/.github/workflows/release_droid_print_quick_checksum.yml @@ -8,21 +8,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Build with Maven skipping tests run: mvn --batch-mode clean verify -DskipTests - name: Print checksum diff --git a/.github/workflows/release_droid_release_on_maven_central.yml b/.github/workflows/release_droid_release_on_maven_central.yml index 5758ecf..b467607 100644 --- a/.github/workflows/release_droid_release_on_maven_central.yml +++ b/.github/workflows/release_droid_release_on_maven_central.yml @@ -8,29 +8,23 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Maven Central Repository - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 + cache: 'maven' server-id: ossrh server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD - - name: Import GPG Key - run: - gpg --import --batch <(echo "${{ secrets.OSSRH_GPG_SECRET_KEY }}") - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + gpg-private-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish to Central Repository + run: mvn --batch-mode -Dgpg.skip=false -DskipTests clean deploy env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} - run: mvn clean -Dgpg.skip=false -Dgpg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} -DskipTests deploy \ No newline at end of file + MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} \ No newline at end of file diff --git a/.github/workflows/release_droid_upload_github_release_assets.yml b/.github/workflows/release_droid_upload_github_release_assets.yml index e2c761b..1fd0b60 100644 --- a/.github/workflows/release_droid_upload_github_release_assets.yml +++ b/.github/workflows/release_droid_upload_github_release_assets.yml @@ -12,21 +12,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Build with Maven skipping tests run: mvn --batch-mode clean verify -DskipTests - name: Generate sha256sum files diff --git a/.gitignore b/.gitignore index 6060f39..d68b01e 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,5 @@ pom.xml.versionsBackup *.bak *.orig *.old -*.md.html \ No newline at end of file +*.md.html +*.flattened-pom.xml \ No newline at end of file diff --git a/.project-keeper.yml b/.project-keeper.yml new file mode 100644 index 0000000..463fb25 --- /dev/null +++ b/.project-keeper.yml @@ -0,0 +1,5 @@ +sources: + - type: maven + path: pom.xml + modules: + - maven_central \ No newline at end of file diff --git a/README.md b/README.md index 68c48fb..c784e64 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Virtual Schema Common Module for JDBC-based Data Access [![Build Status](https://github.com/exasol/virtual-schema-common-jdbc/actions/workflows/ci-build.yml/badge.svg)](https://github.com/exasol/virtual-schema-common-jdbc/actions/workflows/ci-build.yml) -[![Maven Central](https://img.shields.io/maven-central/v/com.exasol/virtual-schema-common-jdbc)](https://search.maven.org/artifact/com.exasol/virtual-schema-common-jdbc) +[![Maven Central – Virtual Schema Common JDBC](https://img.shields.io/maven-central/v/com.exasol/virtual-schema-common-jdbc)](https://search.maven.org/artifact/com.exasol/virtual-schema-common-jdbc) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Avirtual-schema-common-jdbc&metric=alert_status)](https://sonarcloud.io/dashboard?id=com.exasol%3Avirtual-schema-common-jdbc) diff --git a/dependencies.md b/dependencies.md index 8d6d35f..d94cc64 100644 --- a/dependencies.md +++ b/dependencies.md @@ -5,10 +5,10 @@ | Dependency | License | | ----------------------------------------------------- | ------------------------------- | -| [Common module of Exasol Virtual Schemas Adapters][0] | [MIT][1] | +| [Common module of Exasol Virtual Schemas Adapters][0] | [The MIT License (MIT)][1] | | [jaxb-api][2] | [CDDL 1.1][3]; [GPL2 w/ CPE][3] | -| [Test utilities for `java.util.logging`][5] | [MIT][1] | -| [error-reporting-java][7] | [MIT][1] | +| [Test utilities for `java.util.logging`][5] | [MIT][6] | +| [error-reporting-java][7] | [MIT][6] | ## Test Dependencies @@ -17,7 +17,7 @@ | [Hamcrest][9] | [BSD License 3][10] | | [JSONassert][11] | [The Apache Software License, Version 2.0][12] | | [JUnit Jupiter (Aggregator)][13] | [Eclipse Public License v2.0][14] | -| [EqualsVerifier][15] | [Apache License, Version 2.0][12] | +| [EqualsVerifier | release normal jar][15] | [Apache License, Version 2.0][16] | | [mockito-junit-jupiter][17] | [The MIT License][18] | | [Apache Derby Database Engine and Embedded JDBC Driver][19] | [Apache 2][12] | @@ -25,61 +25,68 @@ | Dependency | License | | ------------------------------------------------------- | --------------------------------- | -| [Maven Surefire Plugin][21] | [Apache License, Version 2.0][22] | -| [JaCoCo :: Maven Plugin][23] | [Eclipse Public License 2.0][24] | -| [Apache Maven Compiler Plugin][25] | [Apache License, Version 2.0][22] | -| [Apache Maven Source Plugin][27] | [Apache License, Version 2.0][22] | -| [Apache Maven Javadoc Plugin][29] | [Apache License, Version 2.0][22] | -| [Apache Maven GPG Plugin][31] | [Apache License, Version 2.0][22] | -| [Apache Maven JAR Plugin][33] | [Apache License, Version 2.0][22] | -| [org.sonatype.ossindex.maven:ossindex-maven-plugin][35] | [ASL2][12] | -| [Versions Maven Plugin][37] | [Apache License, Version 2.0][22] | -| [Apache Maven Enforcer Plugin][39] | [Apache License, Version 2.0][22] | -| [Apache Maven Deploy Plugin][41] | [Apache License, Version 2.0][12] | -| [Nexus Staging Maven Plugin][43] | [Eclipse Public License][44] | -| [Project keeper maven plugin][45] | [MIT][1] | -| [error-code-crawler-maven-plugin][47] | [MIT][1] | -| [Reproducible Build Maven Plugin][49] | [Apache 2.0][12] | -| [Apache Maven Clean Plugin][51] | [Apache License, Version 2.0][22] | -| [Apache Maven Resources Plugin][53] | [Apache License, Version 2.0][22] | -| [Apache Maven Install Plugin][55] | [Apache License, Version 2.0][12] | -| [Apache Maven Site Plugin][57] | [Apache License, Version 2.0][22] | +| [SonarQube Scanner for Maven][21] | [GNU LGPL 3][22] | +| [Apache Maven Compiler Plugin][23] | [Apache License, Version 2.0][16] | +| [Apache Maven Enforcer Plugin][25] | [Apache License, Version 2.0][16] | +| [Maven Flatten Plugin][27] | [Apache Software Licenese][12] | +| [org.sonatype.ossindex.maven:ossindex-maven-plugin][29] | [ASL2][12] | +| [Reproducible Build Maven Plugin][31] | [Apache 2.0][12] | +| [Maven Surefire Plugin][33] | [Apache License, Version 2.0][16] | +| [Versions Maven Plugin][35] | [Apache License, Version 2.0][16] | +| [Apache Maven Deploy Plugin][37] | [Apache License, Version 2.0][16] | +| [Apache Maven GPG Plugin][39] | [Apache License, Version 2.0][16] | +| [Apache Maven Source Plugin][41] | [Apache License, Version 2.0][16] | +| [Apache Maven Javadoc Plugin][43] | [Apache License, Version 2.0][16] | +| [Nexus Staging Maven Plugin][45] | [Eclipse Public License][46] | +| [JaCoCo :: Maven Plugin][47] | [Eclipse Public License 2.0][48] | +| [error-code-crawler-maven-plugin][49] | [MIT][6] | +| [Apache Maven JAR Plugin][51] | [Apache License, Version 2.0][16] | +| [Project keeper maven plugin][53] | [The MIT License][54] | +| [Apache Maven Clean Plugin][55] | [Apache License, Version 2.0][16] | +| [Apache Maven Resources Plugin][57] | [Apache License, Version 2.0][16] | +| [Apache Maven Install Plugin][59] | [Apache License, Version 2.0][12] | +| [Apache Maven Site Plugin][61] | [Apache License, Version 2.0][16] | -[45]: https://github.com/exasol/project-keeper-maven-plugin [7]: https://github.com/exasol/error-reporting-java +[1]: https://github.com/exasol/virtual-schema-common-java/blob/main/LICENSE [12]: http://www.apache.org/licenses/LICENSE-2.0.txt -[21]: https://maven.apache.org/surefire/maven-surefire-plugin/ -[43]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/ -[1]: https://opensource.org/licenses/MIT +[33]: https://maven.apache.org/surefire/maven-surefire-plugin/ +[45]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/ +[6]: https://opensource.org/licenses/MIT [17]: https://github.com/mockito/mockito [19]: http://db.apache.org/derby/ -[37]: http://www.mojohaus.org/versions-maven-plugin/ +[27]: https://www.mojohaus.org/flatten-maven-plugin/ +[35]: http://www.mojohaus.org/versions-maven-plugin/ +[53]: https://github.com/exasol/project-keeper/ [10]: http://opensource.org/licenses/BSD-3-Clause -[25]: https://maven.apache.org/plugins/maven-compiler-plugin/ +[23]: https://maven.apache.org/plugins/maven-compiler-plugin/ [3]: https://oss.oracle.com/licenses/CDDL+GPL-1.1 -[53]: https://maven.apache.org/plugins/maven-resources-plugin/ -[51]: https://maven.apache.org/plugins/maven-clean-plugin/ -[24]: https://www.eclipse.org/legal/epl-2.0/ -[44]: http://www.eclipse.org/legal/epl-v10.html +[57]: https://maven.apache.org/plugins/maven-resources-plugin/ +[55]: https://maven.apache.org/plugins/maven-clean-plugin/ +[48]: https://www.eclipse.org/legal/epl-2.0/ +[37]: https://maven.apache.org/plugins/maven-deploy-plugin/ +[46]: http://www.eclipse.org/legal/epl-v10.html +[22]: http://www.gnu.org/licenses/lgpl.txt [5]: https://github.com/exasol/java-util-logging-testing -[23]: https://www.jacoco.org/jacoco/trunk/doc/maven.html +[47]: https://www.jacoco.org/jacoco/trunk/doc/maven.html [18]: https://github.com/mockito/mockito/blob/main/LICENSE -[49]: http://zlika.github.io/reproducible-build-maven-plugin -[57]: https://maven.apache.org/plugins/maven-site-plugin/ -[22]: https://www.apache.org/licenses/LICENSE-2.0.txt -[39]: https://maven.apache.org/enforcer/maven-enforcer-plugin/ +[31]: http://zlika.github.io/reproducible-build-maven-plugin +[54]: https://github.com/exasol/project-keeper/blob/main/LICENSE +[61]: https://maven.apache.org/plugins/maven-site-plugin/ +[16]: https://www.apache.org/licenses/LICENSE-2.0.txt +[21]: http://sonarsource.github.io/sonar-scanner-maven/ +[15]: https://www.jqno.nl/equalsverifier +[25]: https://maven.apache.org/enforcer/maven-enforcer-plugin/ [14]: https://www.eclipse.org/legal/epl-v20.html [2]: https://github.com/eclipse-ee4j/jaxb-api -[55]: http://maven.apache.org/plugins/maven-install-plugin/ +[59]: http://maven.apache.org/plugins/maven-install-plugin/ [13]: https://junit.org/junit5/ -[35]: https://sonatype.github.io/ossindex-maven/maven-plugin/ -[31]: https://maven.apache.org/plugins/maven-gpg-plugin/ +[29]: https://sonatype.github.io/ossindex-maven/maven-plugin/ +[39]: https://maven.apache.org/plugins/maven-gpg-plugin/ [11]: https://github.com/skyscreamer/JSONassert -[15]: http://www.jqno.nl/equalsverifier -[27]: https://maven.apache.org/plugins/maven-source-plugin/ +[41]: https://maven.apache.org/plugins/maven-source-plugin/ [9]: http://hamcrest.org/JavaHamcrest/ -[41]: http://maven.apache.org/plugins/maven-deploy-plugin/ -[29]: https://maven.apache.org/plugins/maven-javadoc-plugin/ -[0]: https://github.com/exasol/virtual-schema-common-java -[47]: https://github.com/exasol/error-code-crawler-maven-plugin -[33]: https://maven.apache.org/plugins/maven-jar-plugin/ +[0]: https://github.com/exasol/virtual-schema-common-java/ +[43]: https://maven.apache.org/plugins/maven-javadoc-plugin/ +[49]: https://github.com/exasol/error-code-crawler-maven-plugin +[51]: https://maven.apache.org/plugins/maven-jar-plugin/ diff --git a/doc/changes/changes_9.0.5.md b/doc/changes/changes_9.0.5.md index 29ec3d3..87e247d 100644 --- a/doc/changes/changes_9.0.5.md +++ b/doc/changes/changes_9.0.5.md @@ -1,9 +1,39 @@ -# Virtual Schema Common JDBC 9.0.5, released 2022-??-?? +# Virtual Schema Common JDBC 9.0.5, released 2022-06-24 -Code name: +Code name: Dependency Updates ## Documentation * #114: Fixed the Javadoc Plugin warnings in the next Java build ## Dependency Updates + +### Compile Dependency Updates + +* Updated `com.exasol:error-reporting-java:0.4.0` to `0.4.1` +* Updated `com.exasol:java-util-logging-testing:2.0.0` to `2.0.1` +* Updated `com.exasol:virtual-schema-common-java:15.3.0` to `15.3.2` +* Updated `javax.xml.bind:jaxb-api:2.3.1` to `2.4.0-b180830.0359` + +### Test Dependency Updates + +* Updated `nl.jqno.equalsverifier:equalsverifier:3.7.2` to `3.10` +* Updated `org.junit.jupiter:junit-jupiter:5.8.1` to `5.8.2` +* Updated `org.mockito:mockito-junit-jupiter:4.0.0` to `4.6.1` + +### Plugin Dependency Updates + +* Updated `com.exasol:error-code-crawler-maven-plugin:0.7.1` to `1.1.1` +* Updated `com.exasol:project-keeper-maven-plugin:1.3.0` to `2.4.6` +* Updated `io.github.zlika:reproducible-build-maven-plugin:0.13` to `0.15` +* Updated `org.apache.maven.plugins:maven-compiler-plugin:3.8.1` to `3.10.1` +* Updated `org.apache.maven.plugins:maven-deploy-plugin:2.8.2` to `3.0.0-M1` +* Updated `org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3` to `3.0.0` +* Updated `org.apache.maven.plugins:maven-javadoc-plugin:3.3.1` to `3.4.0` +* Updated `org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4` to `3.0.0-M5` +* Added `org.codehaus.mojo:flatten-maven-plugin:1.2.7` +* Updated `org.codehaus.mojo:versions-maven-plugin:2.8.1` to `2.10.0` +* Updated `org.jacoco:jacoco-maven-plugin:0.8.7` to `0.8.8` +* Added `org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184` +* Updated `org.sonatype.ossindex.maven:ossindex-maven-plugin:3.1.0` to `3.2.0` +* Updated `org.sonatype.plugins:nexus-staging-maven-plugin:1.6.8` to `1.6.13` diff --git a/error_code_config.yml b/error_code_config.yml index b6b7b0e..c85adca 100644 --- a/error_code_config.yml +++ b/error_code_config.yml @@ -1,5 +1,5 @@ error-tags: - VS-COM-JDBC: + VSCJDBC: packages: - com.exasol highest-index: 40 \ No newline at end of file diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom new file mode 100644 index 0000000..693f2ec --- /dev/null +++ b/pk_generated_parent.pom @@ -0,0 +1,290 @@ + + + 4.0.0 + com.exasol + virtual-schema-common-jdbc-generated-parent + 9.0.5 + pom + + UTF-8 + UTF-8 + 11 + + true + + + + MIT License + https://github.com/exasol/virtual-schema-common-jdbc/blob/main/LICENSE + repo + + + + + Exasol + opensource@exasol.com + Exasol AG + https://www.exasol.com/ + + + + scm:git:https://github.com/exasol/virtual-schema-common-jdbc.git + scm:git:https://github.com/exasol/virtual-schema-common-jdbc.git + https://github.com/exasol/virtual-schema-common-jdbc/ + + + + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.9.1.2184 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0 + + + enforce-maven + + enforce + + + + + 3.6.3 + + + + + + + + org.codehaus.mojo + flatten-maven-plugin + 1.2.7 + + true + oss + + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + + + org.sonatype.ossindex.maven + ossindex-maven-plugin + 3.2.0 + + + audit + package + + audit + + + + + + io.github.zlika + reproducible-build-maven-plugin + 0.15 + + + strip-jar + package + + strip-jar + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M5 + + + -Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine} + ${test.excludeTags} + + + + org.codehaus.mojo + versions-maven-plugin + 2.10.0 + + + display-updates + package + + display-plugin-updates + display-dependency-updates + + + + + file:///${project.basedir}/versionsMavenPluginRules.xml + + + + org.apache.maven.plugins + maven-deploy-plugin + 3.0.0-M1 + + true + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.0.1 + + + sign-artifacts + verify + + sign + + + + --pinentry-mode + loopback + + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + + attach-javadocs + + jar + + + + + UTF-8 + + true + true + true + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.13 + + true + ossrh + https://oss.sonatype.org/ + + + + default-deploy + deploy + + deploy + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.8 + + + prepare-agent + + prepare-agent + + + + merge-results + verify + + merge + + + + + ${project.build.directory}/ + + jacoco*.exec + + + + ${project.build.directory}/aggregate.exec + + + + report + verify + + report + + + ${project.build.directory}/aggregate.exec + + + + + + com.exasol + error-code-crawler-maven-plugin + 1.1.1 + + + verify + + verify + + + + + + + diff --git a/pom.xml b/pom.xml index 96e0a62..d57ba0f 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,5 @@ - 4.0.0 com.exasol @@ -7,43 +7,7 @@ 9.0.5 Virtual Schema Common JDBC Common module for JDBC-based data access from Virtual Schemas. - https://github.com/exasol/virtual-schema-common-jdbc - - UTF-8 - UTF-8 - 11 - true - - - - MIT - https://opensource.org/licenses/MIT - repo - - - - - Exasol - opensource@exasol.com - Exasol AG - https://www.exasol.com/ - - - - scm:git:https://github.com/exasol/virtual-schema-common-jdbc.git - scm:git:https://github.com/exasol/virtual-schema-common-jdbc.git - https://github.com/exasol/virtual-schema-common-jdbc/tree/master - - - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - + https://github.com/exasol/virtual-schema-common-jdbc/ maven.exasol.com @@ -64,22 +28,22 @@ com.exasol virtual-schema-common-java - 15.3.0 + 15.3.2 javax.xml.bind jaxb-api - 2.3.1 + 2.4.0-b180830.0359 com.exasol java-util-logging-testing - 2.0.0 + 2.0.1 com.exasol error-reporting-java - 0.4.0 + 0.4.1 org.hamcrest @@ -96,149 +60,31 @@ org.junit.jupiter junit-jupiter - 5.8.1 + 5.8.2 test nl.jqno.equalsverifier equalsverifier - 3.7.2 + 3.10 test org.mockito mockito-junit-jupiter - 4.0.0 + 4.6.1 test org.apache.derby derby + 10.15.2.0 test - - org.apache.maven.plugins - maven-surefire-plugin - 3.0.0-M4 - - - -Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine} - - - - org.jacoco - jacoco-maven-plugin - 0.8.7 - - - prepare-agent - - prepare-agent - - - - prepare-agent-integration - - prepare-agent-integration - - - - merge-results - verify - - merge - - - - - ${project.build.directory}/ - - jacoco*.exec - - - - ${project.build.directory}/aggregate.exec - - - - report - verify - - report - - - ${project.build.directory}/aggregate.exec - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - ${java.version} - ${java.version} - - - - org.apache.maven.plugins - maven-source-plugin - 3.2.1 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.3.1 - - - attach-javadocs - - jar - - - - - UTF-8 - - true - true - true - - - - org.apache.maven.plugins - maven-gpg-plugin - 3.0.1 - - - sign-artifacts - verify - - sign - - - - --pinentry-mode - loopback - - - - - org.apache.maven.plugins maven-jar-plugin @@ -257,86 +103,10 @@ - - org.sonatype.ossindex.maven - ossindex-maven-plugin - 3.1.0 - - - package - - audit - - - - - - org.codehaus.mojo - versions-maven-plugin - 2.8.1 - - - package - - display-plugin-updates - display-dependency-updates - - - - - file:///${project.basedir}/versionsMavenPluginRules.xml - - - - org.apache.maven.plugins - maven-enforcer-plugin - 3.0.0-M3 - - - enforce-maven - - enforce - - - - - 3.3.9 - - - - - - - - org.apache.maven.plugins - maven-deploy-plugin - - true - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.8 - - true - ossrh - https://oss.sonatype.org/ - - - - default-deploy - deploy - - deploy - - - - com.exasol project-keeper-maven-plugin - 1.3.0 + 2.4.6 @@ -344,35 +114,6 @@ - - maven_central - - - - com.exasol - error-code-crawler-maven-plugin - 0.7.1 - - - - verify - - - - - - io.github.zlika - reproducible-build-maven-plugin - 0.13 - - - strip-jar - package - - strip-jar - - - @@ -400,4 +141,10 @@ - \ No newline at end of file + + virtual-schema-common-jdbc-generated-parent + com.exasol + 9.0.5 + pk_generated_parent.pom + + diff --git a/src/main/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverter.java b/src/main/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverter.java index 28036d4..96e70cf 100644 --- a/src/main/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverter.java +++ b/src/main/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverter.java @@ -59,7 +59,7 @@ public String convertToJson(final ColumnAdapterNotes columnAdapterNotes) { public ColumnAdapterNotes convertFromJsonToColumnAdapterNotes(final String adapterNotes, final String columnName) throws AdapterException { if ((adapterNotes == null) || adapterNotes.isEmpty()) { - throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-3") + throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-3") .message("Adapter notes for column \"{{columnName|uq}}\" are empty or NULL.", columnName) .mitigation("Please refresh the virtual schema.").toString()); } @@ -67,7 +67,7 @@ public ColumnAdapterNotes convertFromJsonToColumnAdapterNotes(final String adapt try (final JsonReader jr = Json.createReader(new StringReader(adapterNotes))) { root = jr.readObject(); } catch (final RuntimeException exception) { - throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-4") + throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-4") .message("Could not parse the column adapter notes of column \"{{columnName|uq}}\".", columnName) .mitigation("Please refresh the virtual schema.").toString(), exception); } diff --git a/src/main/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverter.java b/src/main/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverter.java index 710eac6..ac446d0 100644 --- a/src/main/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverter.java +++ b/src/main/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverter.java @@ -67,6 +67,16 @@ public String convertToJson(final SchemaAdapterNotes schemaAdapterNotes) { return builder.build().toString(); } + private static void checkKey(final JsonObject root, final String key, final String schemaName) + throws AdapterException { + if (!root.containsKey(key)) { + throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-7") + .message("Adapter notes of virtual schema \"{{schemaName|uq}}\" don't have the key {{key}}.", + schemaName, key) + .mitigation("Please refresh the virtual schema").toString()); + } + } + /** * Converts JSON representation of schema adapter notes into instance of {@link SchemaAdapterNotes} class. * @@ -78,7 +88,7 @@ public String convertToJson(final SchemaAdapterNotes schemaAdapterNotes) { public SchemaAdapterNotes convertFromJsonToSchemaAdapterNotes(final String adapterNotes, final String schemaName) throws AdapterException { if ((adapterNotes == null) || adapterNotes.isEmpty()) { - throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-5") + throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-5") .message("Adapter notes for virtual schema \"{{schemaName|uq}}\" are empty or NULL.", schemaName) .mitigation("Please refresh the virtual schema.").toString()); } @@ -86,7 +96,7 @@ public SchemaAdapterNotes convertFromJsonToSchemaAdapterNotes(final String adapt try (final JsonReader jr = Json.createReader(new StringReader(adapterNotes))) { root = jr.readObject(); } catch (final RuntimeException exception) { - throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-6") + throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-6") .message("Could not parse the schema adapter notes of virtual schema \"{{schemaName|uq}}\".", schemaName) .mitigation("Please refresh the virtual schema.").toString(), exception); @@ -122,14 +132,4 @@ public SchemaAdapterNotes convertFromJsonToSchemaAdapterNotes(final String adapt .areNullsSortedLow(root.getBoolean(NULLS_ARE_SORTED_LOW)) // .build(); } - - private static void checkKey(final JsonObject root, final String key, final String schemaName) - throws AdapterException { - if (!root.containsKey(key)) { - throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-7") - .message("Adapter notes of virtual schema \"{{schemaName|uq}}\" don't have the key {{key}}.", - schemaName, key) - .mitigation("Please refresh the virtual schema").toString()); - } - } } \ No newline at end of file diff --git a/src/main/java/com/exasol/adapter/dialects/AbstractSqlDialect.java b/src/main/java/com/exasol/adapter/dialects/AbstractSqlDialect.java index fd89f9c..694f14f 100644 --- a/src/main/java/com/exasol/adapter/dialects/AbstractSqlDialect.java +++ b/src/main/java/com/exasol/adapter/dialects/AbstractSqlDialect.java @@ -205,7 +205,7 @@ protected void validateSupportedPropertiesList() throws PropertyValidationExcept * @return exception */ protected String createUnsupportedElementMessage(final String unsupportedElement, final String property) { - return ExaError.messageBuilder("E-VS-COM-JDBC-13") + return ExaError.messageBuilder("E-VSCJDBC-13") .message("This dialect does not support {{unsupportedElement}} property.") .parameter("unsupportedElement", unsupportedElement) .mitigation(" Please, do not set the {{property}} property.") // @@ -214,7 +214,7 @@ protected String createUnsupportedElementMessage(final String unsupportedElement private void validateConnectionNameProperty() throws PropertyValidationException { if (!this.properties.hasConnectionName()) { - throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-14") + throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-14") .message("Please specify a connection using the property {{connectionNameProperty}}.") .parameter("connectionNameProperty", CONNECTION_NAME_PROPERTY).toString()); } @@ -243,7 +243,7 @@ private void validateSchemaNameProperty() throws PropertyValidationException { protected void validateBooleanProperty(final String property) throws PropertyValidationException { if (this.properties.containsKey(property) // && !BOOLEAN_PROPERTY_VALUE_PATTERN.matcher(this.properties.get(property)).matches()) { - throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-15") + throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-15") .message("The value {{value}} for the property {{property}} is invalid. " + "It has to be either 'true' or 'false' (case insensitive).") .parameter("value", this.properties.get(property)) // @@ -270,14 +270,14 @@ private void validateDebugPortNumber(final String debugAddress) { try { final int port = Integer.parseInt(portAsString); if ((port < 1) || (port > 65535)) { - LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-40") + LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-40") .message("Debug output port {{port|uq}} is out of range.", port) // .mitigation("Port specified in property {{debugAddressProperty}} must have " + "the following format: [:], and be between 1 and 65535.") .parameter("debugAddressProperty", DEBUG_ADDRESS_PROPERTY).toString()); } } catch (final NumberFormatException ex) { - LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-39").message( + LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-39").message( "Illegal debug output port {{portAsString}}. Property {{debugAddressProperty}} must have " + "the following format: [:], where port is a number between 1 and 65535.") .parameter("debugAddressProperty", DEBUG_ADDRESS_PROPERTY) @@ -292,7 +292,7 @@ private void validateExceptionHandling() throws PropertyValidationException { if (!((exceptionHandling == null) || exceptionHandling.isEmpty())) { for (final SqlDialect.ExceptionHandlingMode mode : SqlDialect.ExceptionHandlingMode.values()) { if (!mode.name().equals(exceptionHandling)) { - throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-16").message( + throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-16").message( "Invalid value {{exceptionHandlingValue}} for property {{exceptionHandlingProperty}}.") .parameter("exceptionHandlingValue", exceptionHandling) .parameter("exceptionHandlingProperty", EXCEPTION_HANDLING_PROPERTY) @@ -320,7 +320,7 @@ protected void checkImportPropertyConsistency(final String importFromProperty, f final boolean connectionIsEmpty = ((value == null) || value.isEmpty()); if (isDirectImport) { if (connectionIsEmpty) { - throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-17") + throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-17") .message("You defined the property {{importFromProperty}}.") .parameter("importFromProperty", importFromProperty) .mitigation("Please also define {{connectionProperty}}.") @@ -328,7 +328,7 @@ protected void checkImportPropertyConsistency(final String importFromProperty, f } } else { if (!connectionIsEmpty) { - throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-18") + throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-18") .message("You defined the property {{connectionProperty}} without setting " + "{{importFromProperty}} to 'TRUE'. This is not allowed") .parameter("connectionProperty", connectionProperty) @@ -350,7 +350,7 @@ protected void validateCastNumberToDecimalProperty(final String castNumberToDeci final String precisionAndScale = this.properties.get(castNumberToDecimalProperty); final Matcher matcher = pattern.matcher(precisionAndScale); if (!matcher.matches()) { - throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-19").message( + throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-19").message( "Unable to parse adapter property {{propertyName}} value {{value}} into a number's precision " + "and scale. The required format is ',' where both are integer numbers.") .parameter("propertyName", castNumberToDecimalProperty) // diff --git a/src/main/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriter.java b/src/main/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriter.java index cb49cf2..b9c05ce 100644 --- a/src/main/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriter.java +++ b/src/main/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriter.java @@ -76,7 +76,7 @@ protected ExaConnectionInformation getConnectionInformation(final ExaMetadata ex try { return exaMetadata.getConnection(connectionName); } catch (final ExaConnectionAccessException exception) { - throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-8").message( + throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-8").message( "Unable to access information about the Exasol connection named {{connectionName}} trying to" + " create a connection definition for rewritten query.") .parameter("connectionName", connectionName).toString(), exception); diff --git a/src/main/java/com/exasol/adapter/dialects/rewriting/SqlGenerationVisitor.java b/src/main/java/com/exasol/adapter/dialects/rewriting/SqlGenerationVisitor.java index 0250aea..2b9ba6d 100644 --- a/src/main/java/com/exasol/adapter/dialects/rewriting/SqlGenerationVisitor.java +++ b/src/main/java/com/exasol/adapter/dialects/rewriting/SqlGenerationVisitor.java @@ -67,7 +67,7 @@ protected SqlDialect getDialect() { protected void checkDialectAliases() { for (final ScalarFunction function : this.dialect.getScalarFunctionAliases().keySet()) { if (!function.isSimple()) { - throw new UnsupportedOperationException(ExaError.messageBuilder("E-VS-COM-JDBC-9") + throw new UnsupportedOperationException(ExaError.messageBuilder("E-VSCJDBC-9") .message( "The dialect {{dialectName|uq}} provided an alias for the non-simple scalar function " + "{{functionName|uq}}. This alias will never be considered.", @@ -77,7 +77,7 @@ protected void checkDialectAliases() { } for (final AggregateFunction function : this.dialect.getAggregateFunctionAliases().keySet()) { if (!function.isSimple()) { - throw new UnsupportedOperationException(ExaError.messageBuilder("E-VS-COM-JDBC-10").message( + throw new UnsupportedOperationException(ExaError.messageBuilder("E-VSCJDBC-10").message( "The dialect {{dialectName|uq}} provided an alias for the non-simple aggregate function " + "{{functionName|uq}}. This alias will never be considered.", this.dialect.getName(), function.name()).ticketMitigation().toString()); @@ -343,7 +343,7 @@ private String generateSqlForBinaryInfixFunction(final ScalarFunction scalarFunc final List sqlArguments) { final String realFunctionName = this.dialect.getBinaryInfixFunctionAliases().get(scalarFunction); if (sqlArguments.size() != 2) { - throw new IllegalArgumentException(ExaError.messageBuilder("E-VS-COM-JDBC-11").message( + throw new IllegalArgumentException(ExaError.messageBuilder("E-VSCJDBC-11").message( "The {{realFunctionName|uq}} function requests 2 arguments, but {{sqlArgumentsSize|uq}} were given.", realFunctionName, sqlArguments.size()).toString()); } @@ -357,7 +357,7 @@ private boolean isPrefixFunction(final SqlFunctionScalar function) { private String generateSqlForPrefixFunction(final ScalarFunction scalarFunction, final List sqlArguments) { final String realFunctionName = this.dialect.getPrefixFunctionAliases().get(scalarFunction); if (sqlArguments.size() != 1) { - throw new IllegalArgumentException(ExaError.messageBuilder("E-VS-COM-JDBC-12").message( + throw new IllegalArgumentException(ExaError.messageBuilder("E-VSCJDBC-12").message( "The {{realFunctionName|uq}} function requests 1 argument, but {{sqlArgumentsSize|uq}} were given.", realFunctionName, sqlArguments.size()).toString()); } diff --git a/src/main/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReader.java b/src/main/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReader.java index 573bc11..d38e544 100644 --- a/src/main/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReader.java +++ b/src/main/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReader.java @@ -107,7 +107,7 @@ private SchemaMetadata readRemoteSchemaMetadataForSelectedTables(final List mapColumns(final String catalogName, final String tableName, ANY_COLUMN)) { return getColumnsFromResultSet(remoteColumns); } catch (final SQLException exception) { - throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VS-COM-JDBC-1").message( + throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSCJDBC-1").message( "Unable to read column metadata from remote for catalog \"{{catalogName|uq}}\" and schema \"{{schemaName|uq}}\"", schemaName, catalogName).toString(), exception); } @@ -195,11 +195,11 @@ protected boolean isRemoteColumnNullable(final ResultSet remoteColumn, final Str try { return !JDBC_FALSE.equalsIgnoreCase(remoteColumn.getString(NULLABLE_COLUMN)); } catch (final SQLException exception) { - LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-20").message( + LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-20").message( "Caught an SQL exception trying to determine whether column \"{{columnName|uq}}\" is nullable: " + "{{exceptionMessage|uq}}", columnName, exception.getMessage()).toString()); - LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-38") + LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-38") .message("Assuming column \"{{columnName|uq}}\" to be nullable.", columnName).toString()); return DEFAULT_NULLABLE; } @@ -210,13 +210,13 @@ private boolean isAutoIncrementColumn(final ResultSet remoteColumn, final String final String identity = remoteColumn.getString(AUTOINCREMENT_COLUMN); return JDBC_TRUE.equalsIgnoreCase(identity); } catch (final SQLException exception) { - LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-37") + LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-37") .message( "Caught an SQL exception trying to determine whether column \"{{columnName|uq}}\" is " + "an auto-increment column: {{exceptionMessage|uq}}", columnName, exception.getMessage()) .toString()); - LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-36") + LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-36") .message("Assuming that column \"{{columnName|uq}}\" is not incremented automatically.", columnName) .toString()); @@ -417,7 +417,7 @@ protected DataType getNumberTypeFromProperty(final String property) { final int scale = Integer.parseInt(matcher.group(2)); return DataType.createDecimal(precision, scale); } else { - throw new IllegalArgumentException(ExaError.messageBuilder("E-VS-COM-JDBC-2").message( + throw new IllegalArgumentException(ExaError.messageBuilder("E-VSCJDBC-2").message( "Unable to parse adapter property {{property|uq}} value {{precisionAndScale}} into a number precision " + "and scale. The required format is '.', where both are integer numbers.", property, precisionAndScale).toString()); diff --git a/src/main/java/com/exasol/adapter/jdbc/BaseConnectionDefinitionBuilder.java b/src/main/java/com/exasol/adapter/jdbc/BaseConnectionDefinitionBuilder.java index ac80798..98deb4c 100644 --- a/src/main/java/com/exasol/adapter/jdbc/BaseConnectionDefinitionBuilder.java +++ b/src/main/java/com/exasol/adapter/jdbc/BaseConnectionDefinitionBuilder.java @@ -25,7 +25,7 @@ public String buildConnectionDefinition(final AdapterProperties properties, if (properties.hasConnectionName()) { return "AT " + properties.getConnectionName(); } else { - throw new IllegalArgumentException(ExaError.messageBuilder("E-VS-COM-JDBC-23") + throw new IllegalArgumentException(ExaError.messageBuilder("E-VSCJDBC-23") .message("Please, provide a mandatory property {{connectionNameProperty}}.") .parameter("connectionNameProperty", CONNECTION_NAME_PROPERTY).toString()); } diff --git a/src/main/java/com/exasol/adapter/jdbc/BaseTableMetadataReader.java b/src/main/java/com/exasol/adapter/jdbc/BaseTableMetadataReader.java index daee116..3ffe069 100644 --- a/src/main/java/com/exasol/adapter/jdbc/BaseTableMetadataReader.java +++ b/src/main/java/com/exasol/adapter/jdbc/BaseTableMetadataReader.java @@ -46,7 +46,7 @@ public List mapTables(final ResultSet remoteTables, final List ExaError.messageBuilder("W-VS-COM-JDBC-35") + LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-35") .message("Table scan did not find any tables. This can mean that either" // + " a) the source does not contain tables (yet)," + " b) the table type is not supported" // + " c) the table scan filter criteria is incorrect or" // @@ -142,7 +142,7 @@ protected boolean tableHasColumns(final TableMetadata tableMetadata) { private void validateMappedTablesListSize(final List selectedTables) { if (selectedTables.size() > DEFAULT_MAX_MAPPED_TABLE_LIST_SIZE) { - throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VS-COM-JDBC-24") + throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSCJDBC-24") .message("The size of the list of the selected tables exceeded the default allowed maximum: " + DEFAULT_MAX_MAPPED_TABLE_LIST_SIZE) .mitigation("Please, use the 'TABLE_FILTER' property to define the list of tables you need.") diff --git a/src/main/java/com/exasol/adapter/jdbc/JDBCAdapter.java b/src/main/java/com/exasol/adapter/jdbc/JDBCAdapter.java index cbb1092..323df15 100644 --- a/src/main/java/com/exasol/adapter/jdbc/JDBCAdapter.java +++ b/src/main/java/com/exasol/adapter/jdbc/JDBCAdapter.java @@ -44,7 +44,7 @@ public CreateVirtualSchemaResponse createVirtualSchema(final ExaMetadata exasolM final SchemaMetadata remoteMeta = readMetadata(properties, exasolMetadata); return CreateVirtualSchemaResponse.builder().schemaMetadata(remoteMeta).build(); } catch (final SQLException exception) { - throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-25") + throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-25") .message("Unable create Virtual Schema \"{{virtualSchemaName|uq}}\". Cause: {{cause|uq}}", request.getVirtualSchemaName(), exception.getMessage()) .toString(), exception); @@ -102,7 +102,7 @@ public RefreshResponse refresh(final ExaMetadata metadata, final RefreshRequest final SchemaMetadata remoteMetadata = this.getRemoteMetadata(metadata, request); return RefreshResponse.builder().schemaMetadata(remoteMetadata).build(); } catch (final SQLException | PropertyValidationException exception) { - throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-26").message( + throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-26").message( "Unable refresh metadata of Virtual Schema \"{{virtualSchemaName|uq}}\". Cause: {{cause|uq}}", request.getSchemaMetadataInfo().getSchemaName(), exception.getMessage()).toString(), exception); } @@ -243,7 +243,7 @@ public PushDownResponse pushdown(final ExaMetadata exaMetadata, final PushDownRe final String importFromPushdownQuery = dialect.rewriteQuery(request.getSelect(), exaMetadata); return PushDownResponse.builder().pushDownSql(importFromPushdownQuery).build(); } catch (final SQLException exception) { - throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-27") + throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-27") .message("Unable to execute push-down request. Cause: {{cause|uq}}", exception.getMessage()) .toString(), exception); } diff --git a/src/main/java/com/exasol/adapter/jdbc/RemoteConnectionFactory.java b/src/main/java/com/exasol/adapter/jdbc/RemoteConnectionFactory.java index 0f97a12..ae2a61b 100644 --- a/src/main/java/com/exasol/adapter/jdbc/RemoteConnectionFactory.java +++ b/src/main/java/com/exasol/adapter/jdbc/RemoteConnectionFactory.java @@ -44,7 +44,7 @@ public synchronized Connection getConnection() throws SQLException { if ((connectionName != null) && !connectionName.isEmpty()) { this.cachedConnection = createConnection(connectionName, this.exaMetadata); } else { - throw new RemoteConnectionException(ExaError.messageBuilder("E-VS-COM-JDBC-28") + throw new RemoteConnectionException(ExaError.messageBuilder("E-VSCJDBC-28") .message("{{connectionNameProperty}} property is missing or empty.") .parameter("connectionNameProperty", CONNECTION_NAME_PROPERTY) .mitigation("Please, check the property and try to connect again.").toString()); @@ -66,7 +66,7 @@ private Connection createConnection(final String connectionName, final ExaMetada return establishConnectionWithRegularCredentials(password, username, address); } } catch (final ExaConnectionAccessException exception) { - throw new RemoteConnectionException(ExaError.messageBuilder("E-VS-COM-JDBC-29") + throw new RemoteConnectionException(ExaError.messageBuilder("E-VSCJDBC-29") .message("Could not access the connection information of connection {{connectionName}}.") .parameter("connectionName", connectionName).toString(), exception); } diff --git a/src/main/java/com/exasol/adapter/jdbc/ResultSetMetadataReader.java b/src/main/java/com/exasol/adapter/jdbc/ResultSetMetadataReader.java index 6cfda42..2f14ea5 100644 --- a/src/main/java/com/exasol/adapter/jdbc/ResultSetMetadataReader.java +++ b/src/main/java/com/exasol/adapter/jdbc/ResultSetMetadataReader.java @@ -48,7 +48,7 @@ public String describeColumns(final String query) { LOGGER.fine(() -> "Columns description: " + columnsDescription); return columnsDescription; } catch (final SQLException exception) { - throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VS-COM-JDBC-30").message( + throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSCJDBC-30").message( "Unable to read remote metadata for push-down query trying to generate result column description.") .mitigation("Please, make sure that you provided valid CATALOG_NAME " + "and SCHEMA_NAME properties if required. Caused by: {{cause}}") @@ -66,7 +66,7 @@ private void validateColumnTypes(final List types, final String query) ++column; } if (!illegalColumns.isEmpty()) { - throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VS-COM-JDBC-31") + throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSCJDBC-31") .message("Unsupported data type(s) in column(s) in query: {{unsupportedColumns|uq}}.", illegalColumns.stream().map(String::valueOf).collect(Collectors.joining(", "))) .mitigation("Please remove those columns from your query:\n{{query|uq}}", query) @@ -104,7 +104,7 @@ private List mapResultMetadataToExasolDataTypes(final ResultSetMetaDat private void validateMetadata(final ResultSetMetaData metadata) { if (metadata == null) { - throw new RemoteMetadataReaderException(ExaError.messageBuilder("F-VS-COM-JDBC-34") // + throw new RemoteMetadataReaderException(ExaError.messageBuilder("F-VSCJDBC-34") // .message( "Metadata is missing in the ResultSet. This can happen if the generated query was incorrect," + " but the JDBC driver didn't throw an exception.") diff --git a/src/main/java/com/exasol/auth/kerberos/KerberosConfigurationCreator.java b/src/main/java/com/exasol/auth/kerberos/KerberosConfigurationCreator.java index 20e922d..ba4363e 100644 --- a/src/main/java/com/exasol/auth/kerberos/KerberosConfigurationCreator.java +++ b/src/main/java/com/exasol/auth/kerberos/KerberosConfigurationCreator.java @@ -50,7 +50,7 @@ public void writeKerberosConfigurationFiles(final String user, final String pass final String base64EncodedKeyTab = tokens[2]; createKerberosConfiguration(user, base64EncodedKerberosConfig, base64EncodedKeyTab); } else { - throw new KerberosConfigurationCreatorException(ExaError.messageBuilder("E-VS-COM-JDBC-32") + throw new KerberosConfigurationCreatorException(ExaError.messageBuilder("E-VSCJDBC-32") .message("Syntax error in Kerberos password." + " Must conform to: 'ExaAuthType=Kerberos;;'") .toString()); @@ -67,7 +67,7 @@ private void createKerberosConfiguration(final String user, final String base64E final Path jaasConfigPath = createTemporaryJaasConfig(temporaryDirectory, user, keyTabPath); setKerberosSystemProperties(kerberosConfigPath, jaasConfigPath); } catch (final IOException exception) { - throw new KerberosConfigurationCreatorException(ExaError.messageBuilder("E-VS-COM-JDBC-33") + throw new KerberosConfigurationCreatorException(ExaError.messageBuilder("E-VSCJDBC-33") .message("Unable to create temporary Kerberos configuration file.").toString(), exception); } } diff --git a/src/test/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverterTest.java b/src/test/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverterTest.java index 8b40248..559ad40 100644 --- a/src/test/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverterTest.java +++ b/src/test/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverterTest.java @@ -56,20 +56,20 @@ void testConvertFromJsonToColumnAdapterNotes() throws AdapterException { void testConvertFromJsonToColumnAdapterNotesThrowsExceptionWhenAdapterNotesAreNull() { final AdapterException exception = assertThrows(AdapterException.class, () -> this.converter.convertFromJsonToColumnAdapterNotes(null, "")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-3")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-3")); } @Test void testConvertFromJsonToColumnAdapterNotesThrowsExceptionWithEmptyAdapterNotes() { final AdapterException exception = assertThrows(AdapterException.class, () -> this.converter.convertFromJsonToColumnAdapterNotes("", "")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-3")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-3")); } @Test void testConvertFromJsonToColumnAdapterNotesThrowsExceptionWithWrongAdapterNotes() { final AdapterException exception = assertThrows(AdapterException.class, () -> this.converter.convertFromJsonToColumnAdapterNotes("testNotes", "")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-4")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-4")); } } \ No newline at end of file diff --git a/src/test/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverterTest.java b/src/test/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverterTest.java index 55851f8..1c7be4f 100644 --- a/src/test/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverterTest.java +++ b/src/test/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverterTest.java @@ -51,21 +51,21 @@ void testConvertFromJsonToSchemaAdapterNotesWithDefaultValues() throws AdapterEx void testConvertFromJsonToSchemaAdapterNotesThrowsExceptionWhenEmptyAdapterNotesAreBzkk() { final AdapterException exception = assertThrows(AdapterException.class, () -> this.converter.convertFromJsonToSchemaAdapterNotes(null, "")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-5")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-5")); } @Test void testConvertFromJsonToSchemaAdapterNotesThrowsExceptionWithEmptyAdapterNotes() { final AdapterException exception = assertThrows(AdapterException.class, () -> this.converter.convertFromJsonToSchemaAdapterNotes("", "")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-5")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-5")); } @Test void testConvertFromJsonToSchemaAdapterNotesThrowsExceptionWithWrongAdapterNotes() { final AdapterException exception = assertThrows(AdapterException.class, () -> this.converter.convertFromJsonToSchemaAdapterNotes("testNotes", "")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-6")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-6")); } @Test @@ -74,6 +74,6 @@ void testCheckKey() { + "\"areNullsSortedLow\":false}"; final AdapterException exception = assertThrows(AdapterException.class, () -> this.converter.convertFromJsonToSchemaAdapterNotes(serializedString, "")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-7")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-7")); } } \ No newline at end of file diff --git a/src/test/java/com/exasol/adapter/dialects/AbstractSqlDialectTest.java b/src/test/java/com/exasol/adapter/dialects/AbstractSqlDialectTest.java index 78cf571..a67f6b6 100644 --- a/src/test/java/com/exasol/adapter/dialects/AbstractSqlDialectTest.java +++ b/src/test/java/com/exasol/adapter/dialects/AbstractSqlDialectTest.java @@ -46,7 +46,7 @@ void testNoConnectionName() { final PropertyValidationException exception = assertThrows(PropertyValidationException.class, sqlDialect::validateProperties); assertThat(exception.getMessage(), - containsString("E-VS-COM-JDBC-14: Please specify a connection using the property '" + containsString("E-VSCJDBC-14: Please specify a connection using the property '" + CONNECTION_NAME_PROPERTY + "'.")); } @@ -106,7 +106,7 @@ void testInvalidExceptionHandling() { final PropertyValidationException exception = assertThrows(PropertyValidationException.class, sqlDialect::validateProperties); assertThat(exception.getMessage(), - containsString("E-VS-COM-JDBC-16: Invalid value 'IGNORE_ALL' for property 'EXCEPTION_HANDLING'. " + containsString("E-VSCJDBC-16: Invalid value 'IGNORE_ALL' for property 'EXCEPTION_HANDLING'. " + "Choose one of: [IGNORE_INVALID_VIEWS, NONE].")); } @@ -174,7 +174,7 @@ void testValidateSupportedPropertiesList() { final SqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties)); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, sqlDialect::validateProperties); - assertAll(() -> assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-13")), + assertAll(() -> assertThat(exception.getMessage(), containsString("E-VSCJDBC-13")), () -> assertThat(exception.getMessage(), containsString("SOME_PROPERTY"))); } @@ -185,7 +185,7 @@ void testValidateCatalogNameProperty() { final SqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties)); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, sqlDialect::validateProperties); - assertAll(() -> assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-13")), + assertAll(() -> assertThat(exception.getMessage(), containsString("E-VSCJDBC-13")), () -> assertThat(exception.getMessage(), containsString(CATALOG_NAME_PROPERTY))); } @@ -196,7 +196,7 @@ void testValidateSchemaNameProperty() { final SqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties)); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, sqlDialect::validateProperties); - assertAll(() -> assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-13")), + assertAll(() -> assertThat(exception.getMessage(), containsString("E-VSCJDBC-13")), () -> assertThat(exception.getMessage(), containsString(SCHEMA_NAME_PROPERTY))); } @@ -206,7 +206,7 @@ void testValidateBooleanProperty() { final DummySqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties)); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, () -> sqlDialect.validateBooleanProperty(IS_LOCAL_PROPERTY)); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-15")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-15")); } @Test @@ -216,7 +216,7 @@ void testValidateExceptionHandling() { final SqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties)); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, sqlDialect::validateProperties); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-16")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-16")); } @Test @@ -226,7 +226,7 @@ void testCheckImportPropertyConsistencyWrongValue() { final DummySqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties)); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, () -> sqlDialect.checkImportPropertyConsistency("SOME_PROPERTY", CONNECTION_NAME_PROPERTY)); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-18")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-18")); } @Test @@ -236,7 +236,7 @@ void testCheckImportPropertyConsistencyNoConnection() { final DummySqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties)); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, () -> sqlDialect.checkImportPropertyConsistency("SOME_PROPERTY", CONNECTION_NAME_PROPERTY)); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-17")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-17")); } @Test @@ -245,6 +245,6 @@ void testValidateCastNumberToDecimalProperty() { final DummySqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties)); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, () -> sqlDialect.validateCastNumberToDecimalProperty("SOME_PROPERTY")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-19")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-19")); } } \ No newline at end of file diff --git a/src/test/java/com/exasol/adapter/dialects/SqlDialectTest.java b/src/test/java/com/exasol/adapter/dialects/SqlDialectTest.java index e7eb78a..607fd11 100644 --- a/src/test/java/com/exasol/adapter/dialects/SqlDialectTest.java +++ b/src/test/java/com/exasol/adapter/dialects/SqlDialectTest.java @@ -94,7 +94,7 @@ void testInvalidAliases() { final SqlDialect dialect = new AliasesSqlDialect(Map.of(), scalarAliases, Map.of(), Map.of()); final UnsupportedOperationException exception = assertThrows(UnsupportedOperationException.class, () -> new SqlGenerationVisitor(dialect, context)); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-9")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-9")); } } for (final AggregateFunction function : AggregateFunction.values()) { @@ -103,7 +103,7 @@ void testInvalidAliases() { final SqlDialect dialect = new AliasesSqlDialect(aggregateAliases, Map.of(), Map.of(), Map.of()); final UnsupportedOperationException exception = assertThrows(UnsupportedOperationException.class, () -> new SqlGenerationVisitor(dialect, context)); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-10")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-10")); } } } diff --git a/src/test/java/com/exasol/adapter/dialects/SqlGenerationVisitorTest.java b/src/test/java/com/exasol/adapter/dialects/SqlGenerationVisitorTest.java index 7d61dfd..843b9f3 100644 --- a/src/test/java/com/exasol/adapter/dialects/SqlGenerationVisitorTest.java +++ b/src/test/java/com/exasol/adapter/dialects/SqlGenerationVisitorTest.java @@ -637,7 +637,7 @@ void visitBinaryScalarFunctionThrowsException() { final SqlFunctionScalar functionScalar = new SqlFunctionScalar(ScalarFunction.ADD, List.of()); final IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> sqlGenerationVisitor.visit(functionScalar)); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-11")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-11")); } @Test @@ -645,7 +645,7 @@ void visitPrefixScalarFunctionThrowsException() { final SqlFunctionScalar functionScalar = new SqlFunctionScalar(ScalarFunction.NEG, List.of()); final IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> sqlGenerationVisitor.visit(functionScalar)); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-12")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-12")); } private static class TestDialect extends DummySqlDialect { diff --git a/src/test/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriterTest.java b/src/test/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriterTest.java index 74f1161..b467c4f 100644 --- a/src/test/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriterTest.java +++ b/src/test/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriterTest.java @@ -27,7 +27,7 @@ void testGetConnectionInformationThrowsException() throws ExaConnectionAccessExc final AdapterException exception = assertThrows(AdapterException.class, () -> dummyQueryRewriter.getConnectionInformation(exaMetadataMock, new AdapterProperties(Map.of("CONNECTION_NAME", "my_connection")))); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-8")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-8")); } static class DummyQueryRewriter extends AbstractQueryRewriter { diff --git a/src/test/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReaderTest.java index 9c38524..e2921dd 100644 --- a/src/test/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReaderTest.java +++ b/src/test/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReaderTest.java @@ -46,6 +46,6 @@ void testReadRemoteSchemaMetadataWithTableListAndSqlException() throws SQLExcept final List tables = Collections.emptyList(); final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class, () -> reader.readRemoteSchemaMetadata(tables)); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-22")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-22")); } } \ No newline at end of file diff --git a/src/test/java/com/exasol/adapter/jdbc/BaseColumnMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/BaseColumnMetadataReaderTest.java index 0e46683..b77fadc 100644 --- a/src/test/java/com/exasol/adapter/jdbc/BaseColumnMetadataReaderTest.java +++ b/src/test/java/com/exasol/adapter/jdbc/BaseColumnMetadataReaderTest.java @@ -111,6 +111,6 @@ void testGetNumberTypeFromProperty() { IdentifierCaseHandling.INTERPRET_AS_UPPER, IdentifierCaseHandling.INTERPRET_CASE_SENSITIVE)); final IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> reader.getNumberTypeFromProperty("SOME_PROPERTY")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-2")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-2")); } } \ No newline at end of file diff --git a/src/test/java/com/exasol/adapter/jdbc/BaseTableMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/BaseTableMetadataReaderTest.java index 473a3a9..1c00567 100644 --- a/src/test/java/com/exasol/adapter/jdbc/BaseTableMetadataReaderTest.java +++ b/src/test/java/com/exasol/adapter/jdbc/BaseTableMetadataReaderTest.java @@ -111,7 +111,7 @@ void testValidateMappedTablesListSize() throws SQLException { final TableMetadataReader metadataReader = createDefaultTableMetadataReader(); final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class, () -> metadataReader.mapTables(resultSetMock, Collections.emptyList())); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-24")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-24")); } @Test diff --git a/src/test/java/com/exasol/adapter/jdbc/ColumnMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/ColumnMetadataReaderTest.java index 817ada6..5bade85 100644 --- a/src/test/java/com/exasol/adapter/jdbc/ColumnMetadataReaderTest.java +++ b/src/test/java/com/exasol/adapter/jdbc/ColumnMetadataReaderTest.java @@ -391,7 +391,7 @@ void testMapColumnsWrapsSqlException() throws SQLException { final BaseColumnMetadataReader defaultColumnMetadataReader = createDefaultColumnMetadataReader(); final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class, () -> defaultColumnMetadataReader.mapColumns("")); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-1")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-1")); } diff --git a/src/test/java/com/exasol/adapter/jdbc/JDBCAdapterTest.java b/src/test/java/com/exasol/adapter/jdbc/JDBCAdapterTest.java index 1d3684c..d974f60 100644 --- a/src/test/java/com/exasol/adapter/jdbc/JDBCAdapterTest.java +++ b/src/test/java/com/exasol/adapter/jdbc/JDBCAdapterTest.java @@ -71,7 +71,7 @@ private SchemaMetadataInfo createSchemaMetadataInfo() { void testPushdownWithIllegalStatementThrowsException() { final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class, () -> pushStatementDown(TestSqlStatementFactory.createSelectOneFromDual())); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-30")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-30")); } @Test diff --git a/src/test/java/com/exasol/adapter/jdbc/RemoteConnectionFactoryTest.java b/src/test/java/com/exasol/adapter/jdbc/RemoteConnectionFactoryTest.java index 92ac54d..ee1347a 100644 --- a/src/test/java/com/exasol/adapter/jdbc/RemoteConnectionFactoryTest.java +++ b/src/test/java/com/exasol/adapter/jdbc/RemoteConnectionFactoryTest.java @@ -69,7 +69,7 @@ void testGetConnectionThrowsException() throws ExaConnectionAccessException { this.rawProperties.put("CONNECTION_NAME", ""); final RemoteConnectionException exception = assertThrows(RemoteConnectionException.class, this::createConnection); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-28")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-28")); } @Test @@ -79,7 +79,7 @@ void testGetConnectionWithInaccessibleNamedConnectionThrowsException() throws Ex this.rawProperties.put("CONNECTION_NAME", CONNECTION_NAME); final RemoteConnectionException exception = assertThrows(RemoteConnectionException.class, this::createConnection); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-29")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-29")); } @Test diff --git a/src/test/java/com/exasol/adapter/jdbc/ResultSetMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/ResultSetMetadataReaderTest.java index a592e2a..ed54568 100644 --- a/src/test/java/com/exasol/adapter/jdbc/ResultSetMetadataReaderTest.java +++ b/src/test/java/com/exasol/adapter/jdbc/ResultSetMetadataReaderTest.java @@ -56,7 +56,7 @@ void testDescribeColumnThrowsExceptionIfUnsupportedColumnContained() throws SQLE final RemoteMetadataReaderException thrown = assertThrows(RemoteMetadataReaderException.class, () -> reader.describeColumns("FOOBAR")); assertThat(thrown.getMessage(), - containsString("E-VS-COM-JDBC-31: Unsupported data type(s) in column(s) in query: 2, 4")); + containsString("E-VSCJDBC-31: Unsupported data type(s) in column(s) in query: 2, 4")); } @Test @@ -68,6 +68,6 @@ void testEmptyMetadata() throws SQLException { columnMetadataReader); final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class, () -> metadataReader.describeColumns("FOOBAR")); - assertThat(exception.getMessage(), containsString("F-VS-COM-JDBC-34")); + assertThat(exception.getMessage(), containsString("F-VSCJDBC-34")); } } diff --git a/src/test/java/com/exasol/auth/kerberos/KerberosConfigurationCreatorTest.java b/src/test/java/com/exasol/auth/kerberos/KerberosConfigurationCreatorTest.java index 0b446bc..ac5ec56 100644 --- a/src/test/java/com/exasol/auth/kerberos/KerberosConfigurationCreatorTest.java +++ b/src/test/java/com/exasol/auth/kerberos/KerberosConfigurationCreatorTest.java @@ -104,6 +104,6 @@ void testIllegalKerberosPasswordThrowsException(final String password) { final KerberosConfigurationCreatorException exception = assertThrows( KerberosConfigurationCreatorException.class, () -> this.creator.writeKerberosConfigurationFiles("anyone", password)); - assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-32")); + assertThat(exception.getMessage(), containsString("E-VSCJDBC-32")); } } \ No newline at end of file