From 5e2df91ebf68b259f3d7f03ce993d7c3aafb66f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 13:12:22 +0200 Subject: [PATCH 01/27] build(dependencies): bump the github-actions group with 2 updates (#426) [skip ci] Bumps the github-actions group with 2 updates: [wearefrank/ci-cd-templates](https://github.com/wearefrank/ci-cd-templates) and [step-security/harden-runner](https://github.com/step-security/harden-runner). Updates `wearefrank/ci-cd-templates` from 1.0.2 to 1.0.4 - [Release notes](https://github.com/wearefrank/ci-cd-templates/releases) - [Changelog](https://github.com/wearefrank/ci-cd-templates/blob/main/CHANGELOG.md) - [Commits](https://github.com/wearefrank/ci-cd-templates/compare/v1.0.2...5ec30763e8d8eeed008edcac3c6a329367e42760) Updates `step-security/harden-runner` from 2.8.1 to 2.9.0 - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](https://github.com/step-security/harden-runner/compare/17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6...0d381219ddf674d61a7572ddd19d7941e271515c) --- updated-dependencies: - dependency-name: wearefrank/ci-cd-templates dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: step-security/harden-runner dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/bump-ff-version.yml | 2 +- .github/workflows/ci.yml | 8 ++++---- .github/workflows/release.yml | 12 ++++++------ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/bump-ff-version.yml b/.github/workflows/bump-ff-version.yml index 650a3c821..7fdaa3358 100644 --- a/.github/workflows/bump-ff-version.yml +++ b/.github/workflows/bump-ff-version.yml @@ -12,7 +12,7 @@ on: jobs: bump-ff-version: - uses: wearefrank/ci-cd-templates/.github/workflows/ff-version-auto-bumper.yml@e073950d36ffdeb9f018b14b2ca0c13449825b2f # 1.0.3 + uses: wearefrank/ci-cd-templates/.github/workflows/ff-version-auto-bumper.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 # 1.0.4 secrets: token: ${{ secrets.GITHUB_TOKEN }} dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b0042bebf..2aca9fe64 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: version-next: ${{ steps.reference.outputs.next-reference }} version-next-strict: ${{ steps.reference.outputs.next-reference }} steps: - - uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1 + - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 with: disable-sudo: true egress-policy: block @@ -27,10 +27,10 @@ jobs: - name: Next Reference id: reference - uses: wearefrank/ci-cd-templates/next-reference@e8affe3c6b9d1a725b3332042f82096286974d15 #1.0.2 + uses: wearefrank/ci-cd-templates/next-reference@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 ci: - uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@e8affe3c6b9d1a725b3332042f82096286974d15 #1.0.2 + uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 needs: - version-next secrets: @@ -48,7 +48,7 @@ jobs: - version-next - ci steps: - - uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1 + - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 with: egress-policy: audit diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 260d7c3f0..50ebb107f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: version-next-tag: ${{ steps.next-version.outputs.release-tag }} version-next-type: ${{ steps.next-version.outputs.release-type }} steps: - - uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1 + - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 with: disable-sudo: true egress-policy: audit @@ -40,7 +40,7 @@ jobs: GH_TOKEN: ${{ secrets.WEAREFRANK_BOT_PAT }} ci: - uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@e8affe3c6b9d1a725b3332042f82096286974d15 #1.0.2 + uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 needs: analyze-commits secrets: token: ${{ secrets.GITHUB_TOKEN }} @@ -58,7 +58,7 @@ jobs: - analyze-commits - ci steps: - - uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1 + - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 with: egress-policy: audit @@ -127,7 +127,7 @@ jobs: - ci - run-soapui-tests steps: - - uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1 + - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 with: egress-policy: audit @@ -163,7 +163,7 @@ jobs: GH_TOKEN: ${{ secrets.WEAREFRANK_BOT_PAT }} docker-release: - uses: wearefrank/ci-cd-templates/.github/workflows/docker-release-generic.yml@e8affe3c6b9d1a725b3332042f82096286974d15 #1.0.2 + uses: wearefrank/ci-cd-templates/.github/workflows/docker-release-generic.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 needs: - analyze-commits - release @@ -193,4 +193,4 @@ jobs: - release # Set to true to enable Docusaurus publishing to GitHub Pages if: true - uses: wearefrank/ci-cd-templates/.github/workflows/docusaurus-release.yml@e8affe3c6b9d1a725b3332042f82096286974d15 #1.0.2 + uses: wearefrank/ci-cd-templates/.github/workflows/docusaurus-release.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 From 17949192cc76e2613161e4267e02779428be3fd0 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Fri, 26 Jul 2024 13:18:57 +0200 Subject: [PATCH 02/27] ci: use waf bot pat token for bump-ff-version workflow due to permission issue with ci checks in the created pr --- .github/workflows/bump-ff-version.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bump-ff-version.yml b/.github/workflows/bump-ff-version.yml index 7fdaa3358..92cc4383a 100644 --- a/.github/workflows/bump-ff-version.yml +++ b/.github/workflows/bump-ff-version.yml @@ -14,7 +14,7 @@ jobs: bump-ff-version: uses: wearefrank/ci-cd-templates/.github/workflows/ff-version-auto-bumper.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 # 1.0.4 secrets: - token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.WEAREFRANK_BOT_PAT }} dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }} dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }} with: From 36758e11098d229748110330795dfd1025864869 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 26 Jul 2024 11:28:04 +0000 Subject: [PATCH 03/27] chore(patch): release 1.20.2 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## [1.20.2](https://github.com/wearefrank/zaakbrug/compare/v1.20.1...v1.20.2) (2024-07-26) ### 🤖 Build System * **dependencies:** bump the github-actions group with 2 updates ([#426](https://github.com/wearefrank/zaakbrug/issues/426)) ([5e2df91](https://github.com/wearefrank/zaakbrug/commit/5e2df91ebf68b259f3d7f03ce993d7c3aafb66f3)) ### 🔁 Continuous Integration * use waf bot pat token for bump-ff-version workflow due to permission issue with ci checks in the created pr ([1794919](https://github.com/wearefrank/zaakbrug/commit/17949192cc76e2613161e4267e02779428be3fd0)) --- CHANGELOG.md | 10 ++++++++++ src/main/resources/BuildInfo.properties | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 886295f99..494d7d6a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ [![conventional commits](https://img.shields.io/badge/conventional%20commits-1.0.0-yellow.svg)](https://conventionalcommits.org) [![semantic versioning](https://img.shields.io/badge/semantic%20versioning-2.0.0-green.svg)](https://semver.org) +## [1.20.2](https://github.com/wearefrank/zaakbrug/compare/v1.20.1...v1.20.2) (2024-07-26) + +### 🤖 Build System + +* **dependencies:** bump the github-actions group with 2 updates ([#426](https://github.com/wearefrank/zaakbrug/issues/426)) ([5e2df91](https://github.com/wearefrank/zaakbrug/commit/5e2df91ebf68b259f3d7f03ce993d7c3aafb66f3)) + +### 🔁 Continuous Integration + +* use waf bot pat token for bump-ff-version workflow due to permission issue with ci checks in the created pr ([1794919](https://github.com/wearefrank/zaakbrug/commit/17949192cc76e2613161e4267e02779428be3fd0)) + ## [1.20.1](https://github.com/wearefrank/zaakbrug/compare/v1.20.0...v1.20.1) (2024-07-19) ### 🔁 Continuous Integration diff --git a/src/main/resources/BuildInfo.properties b/src/main/resources/BuildInfo.properties index f561fdf89..45edb36c0 100644 --- a/src/main/resources/BuildInfo.properties +++ b/src/main/resources/BuildInfo.properties @@ -1,2 +1,2 @@ -instance.version=1.20.1 -versionDate_ddmmyyyy=19/07/2024 +instance.version=1.20.2 +versionDate_ddmmyyyy=26/07/2024 From b044ba2cc832c05a867054387856bcbe3ea540eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 10:21:41 +0200 Subject: [PATCH 04/27] build(dependencies): bump the github-actions group across 1 directory with 4 updates (#435) [skip ci] * build(dependencies): bump the github-actions group across 1 directory with 4 updates Bumps the github-actions group with 4 updates in the / directory: [wearefrank/ci-cd-templates](https://github.com/wearefrank/ci-cd-templates), [step-security/harden-runner](https://github.com/step-security/harden-runner), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [Codex-/return-dispatch](https://github.com/codex-/return-dispatch). Updates `wearefrank/ci-cd-templates` from 1.0.4 to 1.0.6 - [Release notes](https://github.com/wearefrank/ci-cd-templates/releases) - [Changelog](https://github.com/wearefrank/ci-cd-templates/blob/main/CHANGELOG.md) - [Commits](https://github.com/wearefrank/ci-cd-templates/compare/5ec30763e8d8eeed008edcac3c6a329367e42760...b55abddef13517a0a6c8625b7913e232b7f5c2df) Updates `step-security/harden-runner` from 2.9.0 to 2.9.1 - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](https://github.com/step-security/harden-runner/compare/0d381219ddf674d61a7572ddd19d7941e271515c...5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde) Updates `actions/upload-artifact` from 4.3.4 to 4.3.6 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/0b2256b8c012f0828dc542b3febcab082c67f72b...834a144ee995460fba8ed112a2fc961b36a5ec5a) Updates `Codex-/return-dispatch` from 1.14.0 to 1.15.0 - [Release notes](https://github.com/codex-/return-dispatch/releases) - [Changelog](https://github.com/Codex-/return-dispatch/blob/main/.release-it.json) - [Commits](https://github.com/codex-/return-dispatch/compare/v1.14.0...v1.15.0) --- updated-dependencies: - dependency-name: wearefrank/ci-cd-templates dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: step-security/harden-runner dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: Codex-/return-dispatch dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] * docker-compose to docker compose --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: MLenterman --- .github/workflows/bump-ff-version.yml | 2 +- .github/workflows/ci.yml | 14 ++++++------- .github/workflows/release.yml | 18 ++++++++-------- .github/workflows/update-helm-chart.yml | 2 +- CONTRIBUTING.md | 28 ++++++++++++------------- 5 files changed, 32 insertions(+), 32 deletions(-) diff --git a/.github/workflows/bump-ff-version.yml b/.github/workflows/bump-ff-version.yml index 92cc4383a..9fb73f575 100644 --- a/.github/workflows/bump-ff-version.yml +++ b/.github/workflows/bump-ff-version.yml @@ -12,7 +12,7 @@ on: jobs: bump-ff-version: - uses: wearefrank/ci-cd-templates/.github/workflows/ff-version-auto-bumper.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 # 1.0.4 + uses: wearefrank/ci-cd-templates/.github/workflows/ff-version-auto-bumper.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df # 1.0.6 secrets: token: ${{ secrets.WEAREFRANK_BOT_PAT }} dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2aca9fe64..b09097ff3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: version-next: ${{ steps.reference.outputs.next-reference }} version-next-strict: ${{ steps.reference.outputs.next-reference }} steps: - - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 + - uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1 with: disable-sudo: true egress-policy: block @@ -27,10 +27,10 @@ jobs: - name: Next Reference id: reference - uses: wearefrank/ci-cd-templates/next-reference@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 + uses: wearefrank/ci-cd-templates/next-reference@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 ci: - uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 + uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 needs: - version-next secrets: @@ -48,7 +48,7 @@ jobs: - version-next - ci steps: - - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 + - uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1 with: egress-policy: audit @@ -71,7 +71,7 @@ jobs: export ZAAKBRUG_VERSION="${{ needs.version-next.outputs.version-next }}" docker image inspect ${{ vars.DOCKER_IMAGE_REPOSITORY }}/${{ vars.DOCKER_IMAGE_NAME }}:${ZAAKBRUG_VERSION} - docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml -f ./docker-compose.openzaak.dev.yml --profile soapui up -d + docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml -f ./docker-compose.openzaak.dev.yml --profile soapui up -d docker ps sleep 90 @@ -86,7 +86,7 @@ jobs: EXIT_CODE=$(docker inspect --format='{{json .State.ExitCode}}' soapui-testrunner) echo "Exit Code: $EXIT_CODE" - docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml -f ./docker-compose.openzaak.dev.yml down + docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml -f ./docker-compose.openzaak.dev.yml down if [ "$EXIT_CODE" -ne 0 ] then @@ -104,7 +104,7 @@ jobs: fi - name: Upload SoapUI testreports as artifact - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b #4.3.4 + uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a #4.3.6 if: always() with: name: reports-soapui-testreports diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 50ebb107f..8bd27c870 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: version-next-tag: ${{ steps.next-version.outputs.release-tag }} version-next-type: ${{ steps.next-version.outputs.release-type }} steps: - - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 + - uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1 with: disable-sudo: true egress-policy: audit @@ -40,7 +40,7 @@ jobs: GH_TOKEN: ${{ secrets.WEAREFRANK_BOT_PAT }} ci: - uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 + uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 needs: analyze-commits secrets: token: ${{ secrets.GITHUB_TOKEN }} @@ -58,7 +58,7 @@ jobs: - analyze-commits - ci steps: - - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 + - uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1 with: egress-policy: audit @@ -81,7 +81,7 @@ jobs: export ZAAKBRUG_VERSION="${{ needs.analyze-commits.outputs.version-next }}" docker image inspect ${{ vars.DOCKER_IMAGE_REPOSITORY }}/${{ vars.DOCKER_IMAGE_NAME }}:${ZAAKBRUG_VERSION} - docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml -f ./docker-compose.openzaak.dev.yml --profile soapui up -d + docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml -f ./docker-compose.openzaak.dev.yml --profile soapui up -d docker ps sleep 90 @@ -96,7 +96,7 @@ jobs: EXIT_CODE=$(docker inspect --format='{{json .State.ExitCode}}' soapui-testrunner) echo "Exit Code: $EXIT_CODE" - docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml -f ./docker-compose.openzaak.dev.yml down + docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml -f ./docker-compose.openzaak.dev.yml down if [ "$EXIT_CODE" -ne 0 ] then @@ -114,7 +114,7 @@ jobs: fi - name: Upload SoapUI testreports as artifact - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b #4.3.4 + uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a #4.3.6 if: always() with: name: reports-soapui-testreports @@ -127,7 +127,7 @@ jobs: - ci - run-soapui-tests steps: - - uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0 + - uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1 with: egress-policy: audit @@ -163,7 +163,7 @@ jobs: GH_TOKEN: ${{ secrets.WEAREFRANK_BOT_PAT }} docker-release: - uses: wearefrank/ci-cd-templates/.github/workflows/docker-release-generic.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 + uses: wearefrank/ci-cd-templates/.github/workflows/docker-release-generic.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 needs: - analyze-commits - release @@ -193,4 +193,4 @@ jobs: - release # Set to true to enable Docusaurus publishing to GitHub Pages if: true - uses: wearefrank/ci-cd-templates/.github/workflows/docusaurus-release.yml@5ec30763e8d8eeed008edcac3c6a329367e42760 #1.0.4 + uses: wearefrank/ci-cd-templates/.github/workflows/docusaurus-release.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 diff --git a/.github/workflows/update-helm-chart.yml b/.github/workflows/update-helm-chart.yml index 4cb776862..8d972a360 100644 --- a/.github/workflows/update-helm-chart.yml +++ b/.github/workflows/update-helm-chart.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Dispatch an action and get the run ID - uses: Codex-/return-dispatch@v1.14.0 + uses: Codex-/return-dispatch@v1.15.0 id: return_dispatch with: token: ${{ secrets.token }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 33bdc23f4..f5e4b3b17 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,7 +11,7 @@ Execute the following steps when bumping the Frank!Framework version: 4. Replace the default value for `FF_VERSION` under `services.zaakbrug.build.args` in `docker-compose.zaakbrug.dev.yml` with the new tag. NOTE: Watch out to not replace the '-' in front of the tag: ${FF_VERSION:-} 5. Replace the value of `ff.version` in `frank-runner.properties` with the new tag. 6. Start ZaakBrug with the `Frank!Runner` to automatically replace the `./src/main/configuration//FrankConfig.xsd` and `./src/main/configuration/FrankConfig.xsd` with the newer version. You can stop the Frank!Runner once the files are replaced. Note that currently the Frank!Runner will also add `FrankConfig.xsd` to the `.gitignore` file. Make sure to revert the change to `.gitignore`. -7. Run the e2e testsuite by using the below Docker-Compose and configuration to validate the changes. You should only need `docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.openzaak.dev.yml up --build --force-recreate` for this. (TODO: Automate running of e2e tests in ci/cd). +7. Run the e2e testsuite by using the below Docker-Compose and configuration to validate the changes. You should only need `docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.openzaak.dev.yml up --build --force-recreate` for this. (TODO: Automate running of e2e tests in ci/cd). 8. Commit you changes on a branch with as message: `build(dependencies): bump f!f version to `. Create a PR to have your changes merged to master. ## Docusaurus version @@ -56,7 +56,7 @@ When you have imported the tests you can run any test case under the TestSuite, ## Running test cases automatically in Docker container on your local If you would like to run the test cases which are already prepared in the repo automatically in the docker container on your local then the command would be as follows: -`docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.openzaak.dev.yml --profile soapui up --build` +`docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.openzaak.dev.yml --profile soapui up --build` This command will first have Zaakbrug and Openzaak up and running and afterwards it will automatically run the SoapUI test cases in 'soapui-testrunner' docker container. The test reports will be created under "./e2e/reports" folder. @@ -66,9 +66,9 @@ In case you would like to do any change on Zaakbrug project you can create a PR # Docker-compose -The docker-compose development environment is designed to be flexible and composable. This prevents the need for developers to run the entire stack eventhough their work requires only a small part of the stack. For this we make use of a docker-compose feature that merges a given array of docker-compose files together. Simply provide a `-f ./docker-compose..yml` argument for each docker-compose file you wish to include in the `docker-compose up`command. +The docker compose development environment is designed to be flexible and composable. This prevents the need for developers to run the entire stack eventhough their work requires only a small part of the stack. For this we make use of a docker compose feature that merges a given array of docker compose files together. Simply provide a `-f ./docker-compose..yml` argument for each docker compose file you wish to include in the `docker compose up`command. -To run the entire stack the command would be `docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.staging.dev.yml -f ./docker-compose.openzaak.dev.yml -f ./docker-compose.openforms.dev.yml up --build` +To run the entire stack the command would be `docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.staging.dev.yml -f ./docker-compose.openzaak.dev.yml -f ./docker-compose.openforms.dev.yml up --build` > WARNING: It is important to use `host.docker.internal` instead of the usual `localhost`. The url-validator that is used by most components with invalidate any urls that contain only a hostname. It requires a full canonical domain name. @@ -97,17 +97,17 @@ ZaakBrug Console can accessed from `host.docker.internal:9000/zaakbrug/` ZaakBrug is also exposed on `host.docker.internal:8080/` #### Configuration -By default ZaakBrug uses a filebased H2 database for storing the last used zaak and documenten identifiers. To facilitate easy swapping between development with docker-compose and the Frank!Runner, the default mount for the database file is `../frank-runner/data`. Using the same database file between the Frank!Runner and docker-compose prevents errors surrounding duplicate identifiers while running tests against OpenZaak. If you don't have the Frank!Runner installed, you can use `./data` that is commented out instead or add a volume for it. +By default ZaakBrug uses a filebased H2 database for storing the last used zaak and documenten identifiers. To facilitate easy swapping between development with docker compose and the Frank!Runner, the default mount for the database file is `../frank-runner/data`. Using the same database file between the Frank!Runner and docker compose prevents errors surrounding duplicate identifiers while running tests against OpenZaak. If you don't have the Frank!Runner installed, you can use `./data` that is commented out instead or add a volume for it. ### Postgres -Instead of the default filebased H2 database, a Postgresql database can be used too. Adding `-f ./docker-compose.zaakbrug.postgres.yml` to your `docker-compose up` command is all that is needed for this. +Instead of the default filebased H2 database, a Postgresql database can be used too. Adding `-f ./docker-compose.zaakbrug.postgres.yml` to your `docker compose up` command is all that is needed for this. -For example: `docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml up --build` +For example: `docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml up --build` > Note: Database data is not seamlessly shared with the Frank!Runner out-off-the-box. In `src/webapp/META_INF/context.xml` you can comment out the H2 configuration and uncomment the Postgress one. The Frank!Runner will then use the Postgres database used in the docker-compose. #### PgAdmin4 -To aid with debugging you can use PgAdmin4 to browse/edit the Postgres database. PgAdmin4 is included and pre-configured in `docker-compose.zaakbrug.postgres` and can be enabled by adding `--profile pgadmin` to your `docker-compose up` command. +To aid with debugging you can use PgAdmin4 to browse/edit the Postgres database. PgAdmin4 is included and pre-configured in `docker-compose.zaakbrug.postgres` and can be enabled by adding `--profile pgadmin` to your `docker compose up` command. The PgAdmin4 web-GUI is exposed on port `5050`, so can be accessed with `localhost:5050` or `host.docker.internal:5050` @@ -115,13 +115,13 @@ The PgAdmin4 web-GUI is exposed on port `5050`, so can be accessed with `localho email: `admin@wearefrank.nl` password: `admin` -For example: `docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml --profile pgadmin up --build` +For example: `docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.zaakbrug.postgres.yml --profile pgadmin up --build` ### SoapUI As mentioned under *'Running test cases automatically in Docker container on your local'* under *'Testing with SoapUI'* section we could run SoapUI application in a Docker container. Afterwards, we could run our test cases in this SoapUI application automatically in this container. This is why we created **soapui-testrunner** service in docker-compose.zaakbrug.dev.yml file. #### soapui-testrunner To be able to use this service and to run the test cases automatically use the following command which is also mentioned under *'Running test cases automatically in Docker container on your local'* section: -`docker-compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.openzaak.dev.yml --profile soapui up --build` +`docker compose -f ./docker-compose.zaakbrug.dev.yml -f ./docker-compose.openzaak.dev.yml --profile soapui up --build` ## docker-compose.zaakbrug.staging.dev Contains an instance of OpenZaak specifically configured to act as cache or staging for ZGW to ZDS translations. It shares a network with ZaakBrug, and should be considered a component of the ZaakBrug deployment for when ZGW to ZDS translations are required. @@ -173,17 +173,17 @@ Running Sentry for the first time requires some configuration. TODO: Automate configuration -1. Makes sure the `docker-compose.sentry.dev.yml` is included in your ` docker-compose up` and is running. -2. Open a CMD or Powershell in this repository folder and run `docker-compose -f ./docker-compose.sentry.dev.yml exec sentry sentry upgrade`. +1. Makes sure the `docker-compose.sentry.dev.yml` is included in your ` docker compose up` and is running. +2. Open a CMD or Powershell in this repository folder and run `docker compose -f ./docker-compose.sentry.dev.yml exec sentry sentry upgrade`. 3. After approx. a minute you will get asked if you want to create a user account. Choose `y` and hit enter. 4. We use the following defaults: email=`admin@wearefrank.nl`, password: `admin`. -5. Once finished, run the command: `docker-compose -f ./docker-compose.sentry.dev.yml restart sentry` to restart the sentry container. +5. Once finished, run the command: `docker compose -f ./docker-compose.sentry.dev.yml restart sentry` to restart the sentry container. 6. Open a browser and navigate to `host.docker.internal:9500` or `localhost:9500`. You should see the Sentry login page. Login we the email and password from step 4. 7. Make sure the root url is `http://host.docker.internal:9500` and choose `Please keep my usage information anonymous` under Usage Statistics. 8. In the top-right corner hit the `add...` button and choose `project`. 9. Select the appropriate platform. For OpenZaak, ZaakBrug-Staging and OpenForms this will be `Django`. Change the project name appropriately and hit the `Create Project` button. 10. On the next page look for the word `dsn` and copy the value. -11. In the appropriate docker-compose file, add the following to the environment variables of the `open-zaak`, `zaakbrug-staging` and/or `open-forms` service: +11. In the appropriate docker compose file, add the following to the environment variables of the `open-zaak`, `zaakbrug-staging` and/or `open-forms` service: ``` - SENTRY_DSN= - SDK_SENTRY_DSN= From 9662a51be17fd219ed50e2d6852c689d7a450fd9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 10:22:29 +0200 Subject: [PATCH 05/27] build(dependencies): bump the docusaurus group across 1 directory with 6 updates (#433) [skip ci] Bumps the docusaurus group with 4 updates in the /docusaurus directory: [@docusaurus/core](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus), [@docusaurus/preset-classic](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic), [@docusaurus/tsconfig](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-tsconfig) and [typescript](https://github.com/Microsoft/TypeScript). Updates `@docusaurus/core` from 3.4.0 to 3.5.2 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.5.2/packages/docusaurus) Updates `@docusaurus/preset-classic` from 3.4.0 to 3.5.2 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.5.2/packages/docusaurus-preset-classic) Updates `@docusaurus/module-type-aliases` from 3.4.0 to 3.5.2 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.5.2/packages/docusaurus-module-type-aliases) Updates `@docusaurus/tsconfig` from 3.4.0 to 3.5.2 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.5.2/packages/docusaurus-tsconfig) Updates `@docusaurus/types` from 3.4.0 to 3.5.2 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.5.2/packages/docusaurus-types) Updates `typescript` from 5.5.3 to 5.5.4 - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](https://github.com/Microsoft/TypeScript/compare/v5.5.3...v5.5.4) --- updated-dependencies: - dependency-name: "@docusaurus/core" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/preset-classic" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/module-type-aliases" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/tsconfig" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/types" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-patch dependency-group: docusaurus ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: MLenterman --- docusaurus/package-lock.json | 773 ++++++++++++++++++++--------------- docusaurus/package.json | 8 +- 2 files changed, 456 insertions(+), 325 deletions(-) diff --git a/docusaurus/package-lock.json b/docusaurus/package-lock.json index f680c85a3..0b181e0dc 100644 --- a/docusaurus/package-lock.json +++ b/docusaurus/package-lock.json @@ -8,8 +8,8 @@ "name": "zaakbrug", "version": "0.0.0", "dependencies": { - "@docusaurus/core": "^3.4.0", - "@docusaurus/preset-classic": "^3.4.0", + "@docusaurus/core": "^3.5.2", + "@docusaurus/preset-classic": "^3.5.2", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "prism-react-renderer": "^2.3.0", @@ -18,9 +18,9 @@ }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.4.0", - "@docusaurus/tsconfig": "^3.4.0", + "@docusaurus/tsconfig": "^3.5.2", "@docusaurus/types": "^3.4.0", - "typescript": "~5.5.3" + "typescript": "~5.5.4" }, "engines": { "node": ">=18.0" @@ -68,74 +68,125 @@ } }, "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz", - "integrity": "sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", + "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", "dependencies": { - "@algolia/cache-common": "4.23.3" + "@algolia/cache-common": "4.24.0" } }, "node_modules/@algolia/cache-common": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz", - "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", + "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==" }, "node_modules/@algolia/cache-in-memory": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz", - "integrity": "sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", + "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", "dependencies": { - "@algolia/cache-common": "4.23.3" + "@algolia/cache-common": "4.24.0" } }, "node_modules/@algolia/client-account": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz", - "integrity": "sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", + "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", "dependencies": { - "@algolia/client-common": "4.23.3", - "@algolia/client-search": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-analytics": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz", - "integrity": "sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", + "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", "dependencies": { - "@algolia/client-common": "4.23.3", - "@algolia/client-search": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, - "node_modules/@algolia/client-common": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz", - "integrity": "sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==", + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", "dependencies": { - "@algolia/requester-common": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.0.0.tgz", + "integrity": "sha512-6N5Qygv/Z/B+rPufnPDLNWgsMf1uubMU7iS52xLcQSLiGlTS4f9eLUrmNXSzHccP33uoFi6xN9craN1sZi5MPQ==", + "peer": true, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/client-personalization": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz", - "integrity": "sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", + "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", "dependencies": { - "@algolia/client-common": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-search": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz", - "integrity": "sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.0.0.tgz", + "integrity": "sha512-QdDYMzoxYZ3axzBy6CHe+M+NlOGvHEFTa2actchGnp25Uu0N6lyVNivT7nph+P1XoxgAD08cWbeJD3wWQXnpng==", + "peer": true, "dependencies": { - "@algolia/client-common": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/client-common": "5.0.0", + "@algolia/requester-browser-xhr": "5.0.0", + "@algolia/requester-node-http": "5.0.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/events": { @@ -144,65 +195,108 @@ "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" }, "node_modules/@algolia/logger-common": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz", - "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", + "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==" }, "node_modules/@algolia/logger-console": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz", - "integrity": "sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", + "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", "dependencies": { - "@algolia/logger-common": "4.23.3" + "@algolia/logger-common": "4.24.0" } }, "node_modules/@algolia/recommend": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz", - "integrity": "sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.23.3", - "@algolia/cache-common": "4.23.3", - "@algolia/cache-in-memory": "4.23.3", - "@algolia/client-common": "4.23.3", - "@algolia/client-search": "4.23.3", - "@algolia/logger-common": "4.23.3", - "@algolia/logger-console": "4.23.3", - "@algolia/requester-browser-xhr": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/requester-node-http": "4.23.3", - "@algolia/transporter": "4.23.3" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", + "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "dependencies": { + "@algolia/requester-common": "4.24.0" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz", - "integrity": "sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.0.0.tgz", + "integrity": "sha512-oOoQhSpg/RGiGHjn/cqtYpHBkkd+5M/DCi1jmfW+ZOvLVx21QVt6PbWIJoKJF85moNFo4UG9pMBU35R1MaxUKQ==", + "peer": true, "dependencies": { - "@algolia/requester-common": "4.23.3" + "@algolia/client-common": "5.0.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-common": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz", - "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", + "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==" }, "node_modules/@algolia/requester-node-http": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz", - "integrity": "sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.0.0.tgz", + "integrity": "sha512-FwCdugzpnW0wxbgWPauAz5vhmWGQnjZa5DCl9PBbIoDNEy/NIV8DmiL9CEA+LljQdDidG0l0ijojcTNaRRtPvQ==", + "peer": true, "dependencies": { - "@algolia/requester-common": "4.23.3" + "@algolia/client-common": "5.0.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/transporter": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz", - "integrity": "sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", + "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", "dependencies": { - "@algolia/cache-common": "4.23.3", - "@algolia/logger-common": "4.23.3", - "@algolia/requester-common": "4.23.3" + "@algolia/cache-common": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/requester-common": "4.24.0" } }, "node_modules/@ampproject/remapping": { @@ -2106,18 +2200,18 @@ } }, "node_modules/@docsearch/css": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", - "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==" + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.1.tgz", + "integrity": "sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==" }, "node_modules/@docsearch/react": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", - "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.1.tgz", + "integrity": "sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==", "dependencies": { "@algolia/autocomplete-core": "1.9.3", "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.6.0", + "@docsearch/css": "3.6.1", "algoliasearch": "^4.19.1" }, "peerDependencies": { @@ -2142,9 +2236,9 @@ } }, "node_modules/@docusaurus/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz", - "integrity": "sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.5.2.tgz", + "integrity": "sha512-4Z1WkhCSkX4KO0Fw5m/Vuc7Q3NxBG53NE5u59Rs96fWkMPZVSrzEPP16/Nk6cWb/shK7xXPndTmalJtw7twL/w==", "dependencies": { "@babel/core": "^7.23.3", "@babel/generator": "^7.23.3", @@ -2156,12 +2250,12 @@ "@babel/runtime": "^7.22.6", "@babel/runtime-corejs3": "^7.22.6", "@babel/traverse": "^7.22.8", - "@docusaurus/cssnano-preset": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/cssnano-preset": "3.5.2", + "@docusaurus/logger": "3.5.2", + "@docusaurus/mdx-loader": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-common": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "autoprefixer": "^10.4.14", "babel-loader": "^9.1.3", "babel-plugin-dynamic-import-node": "^2.3.3", @@ -2222,14 +2316,15 @@ "node": ">=18.0" }, "peerDependencies": { + "@mdx-js/react": "^3.0.0", "react": "^18.0.0", "react-dom": "^18.0.0" } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz", - "integrity": "sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.5.2.tgz", + "integrity": "sha512-D3KiQXOMA8+O0tqORBrTOEQyQxNIfPm9jEaJoALjjSjc2M/ZAWcUfPQEnwr2JB2TadHw2gqWgpZckQmrVWkytA==", "dependencies": { "cssnano-preset-advanced": "^6.1.2", "postcss": "^8.4.38", @@ -2241,9 +2336,9 @@ } }, "node_modules/@docusaurus/logger": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz", - "integrity": "sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.5.2.tgz", + "integrity": "sha512-LHC540SGkeLfyT3RHK3gAMK6aS5TRqOD4R72BEU/DE2M/TY8WwEUAMY576UUc/oNJXv8pGhBmQB6N9p3pt8LQw==", "dependencies": { "chalk": "^4.1.2", "tslib": "^2.6.0" @@ -2253,13 +2348,13 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz", - "integrity": "sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.5.2.tgz", + "integrity": "sha512-ku3xO9vZdwpiMIVd8BzWV0DCqGEbCP5zs1iHfKX50vw6jX8vQo0ylYo1YJMZyz6e+JFJ17HYHT5FzVidz2IflA==", "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/logger": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -2291,11 +2386,11 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", - "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.5.2.tgz", + "integrity": "sha512-Z+Xu3+2rvKef/YKTMxZHsEXp1y92ac0ngjDiExRdqGTmEKtCUpkbNYH8v5eXo5Ls+dnW88n6WTa+Q54kLOkwPg==", "dependencies": { - "@docusaurus/types": "3.4.0", + "@docusaurus/types": "3.5.2", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2309,18 +2404,19 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz", - "integrity": "sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "cheerio": "^1.0.0-rc.12", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.5.2.tgz", + "integrity": "sha512-R7ghWnMvjSf+aeNDH0K4fjyQnt5L0KzUEnUhmf1e3jZrv3wogeytZNN6n7X8yHcMsuZHPOrctQhXWnmxu+IRRg==", + "dependencies": { + "@docusaurus/core": "3.5.2", + "@docusaurus/logger": "3.5.2", + "@docusaurus/mdx-loader": "3.5.2", + "@docusaurus/theme-common": "3.5.2", + "@docusaurus/types": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-common": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", + "cheerio": "1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^11.1.1", "lodash": "^4.17.21", @@ -2335,23 +2431,25 @@ "node": ">=18.0" }, "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", "react": "^18.0.0", "react-dom": "^18.0.0" } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz", - "integrity": "sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.5.2.tgz", + "integrity": "sha512-Bt+OXn/CPtVqM3Di44vHjE7rPCEsRCB/DMo2qoOuozB9f7+lsdrHvD0QCHdBs0uhz6deYJDppAr2VgqybKPlVQ==", + "dependencies": { + "@docusaurus/core": "3.5.2", + "@docusaurus/logger": "3.5.2", + "@docusaurus/mdx-loader": "3.5.2", + "@docusaurus/module-type-aliases": "3.5.2", + "@docusaurus/theme-common": "3.5.2", + "@docusaurus/types": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-common": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -2370,15 +2468,15 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz", - "integrity": "sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.5.2.tgz", + "integrity": "sha512-WzhHjNpoQAUz/ueO10cnundRz+VUtkjFhhaQ9jApyv1a46FPURO4cef89pyNIOMny1fjDz/NUN2z6Yi+5WUrCw==", + "dependencies": { + "@docusaurus/core": "3.5.2", + "@docusaurus/mdx-loader": "3.5.2", + "@docusaurus/types": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "fs-extra": "^11.1.1", "tslib": "^2.6.0", "webpack": "^5.88.1" @@ -2392,13 +2490,13 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz", - "integrity": "sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.5.2.tgz", + "integrity": "sha512-kBK6GlN0itCkrmHuCS6aX1wmoWc5wpd5KJlqQ1FyrF0cLDnvsYSnh7+ftdwzt7G6lGBho8lrVwkkL9/iQvaSOA==", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", + "@docusaurus/core": "3.5.2", + "@docusaurus/types": "3.5.2", + "@docusaurus/utils": "3.5.2", "fs-extra": "^11.1.1", "react-json-view-lite": "^1.2.0", "tslib": "^2.6.0" @@ -2412,13 +2510,13 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz", - "integrity": "sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.5.2.tgz", + "integrity": "sha512-rjEkJH/tJ8OXRE9bwhV2mb/WP93V441rD6XnM6MIluu7rk8qg38iSxS43ga2V2Q/2ib53PcqbDEJDG/yWQRJhQ==", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.5.2", + "@docusaurus/types": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "tslib": "^2.6.0" }, "engines": { @@ -2430,13 +2528,13 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz", - "integrity": "sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.5.2.tgz", + "integrity": "sha512-lm8XL3xLkTPHFKKjLjEEAHUrW0SZBSHBE1I+i/tmYMBsjCcUB5UJ52geS5PSiOCFVR74tbPGcPHEV/gaaxFeSA==", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.5.2", + "@docusaurus/types": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -2449,13 +2547,13 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz", - "integrity": "sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.5.2.tgz", + "integrity": "sha512-QkpX68PMOMu10Mvgvr5CfZAzZQFx8WLlOiUQ/Qmmcl6mjGK6H21WLT5x7xDmcpCoKA/3CegsqIqBR+nA137lQg==", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.5.2", + "@docusaurus/types": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "tslib": "^2.6.0" }, "engines": { @@ -2467,16 +2565,16 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz", - "integrity": "sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.5.2.tgz", + "integrity": "sha512-DnlqYyRAdQ4NHY28TfHuVk414ft2uruP4QWCH//jzpHjqvKyXjj2fmDtI8RPUBh9K8iZKFMHRnLtzJKySPWvFA==", + "dependencies": { + "@docusaurus/core": "3.5.2", + "@docusaurus/logger": "3.5.2", + "@docusaurus/types": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-common": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "fs-extra": "^11.1.1", "sitemap": "^7.1.1", "tslib": "^2.6.0" @@ -2490,23 +2588,23 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz", - "integrity": "sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/plugin-debug": "3.4.0", - "@docusaurus/plugin-google-analytics": "3.4.0", - "@docusaurus/plugin-google-gtag": "3.4.0", - "@docusaurus/plugin-google-tag-manager": "3.4.0", - "@docusaurus/plugin-sitemap": "3.4.0", - "@docusaurus/theme-classic": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-search-algolia": "3.4.0", - "@docusaurus/types": "3.4.0" + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.5.2.tgz", + "integrity": "sha512-3ihfXQ95aOHiLB5uCu+9PRy2gZCeSZoDcqpnDvf3B+sTrMvMTr8qRUzBvWkoIqc82yG5prCboRjk1SVILKx6sg==", + "dependencies": { + "@docusaurus/core": "3.5.2", + "@docusaurus/plugin-content-blog": "3.5.2", + "@docusaurus/plugin-content-docs": "3.5.2", + "@docusaurus/plugin-content-pages": "3.5.2", + "@docusaurus/plugin-debug": "3.5.2", + "@docusaurus/plugin-google-analytics": "3.5.2", + "@docusaurus/plugin-google-gtag": "3.5.2", + "@docusaurus/plugin-google-tag-manager": "3.5.2", + "@docusaurus/plugin-sitemap": "3.5.2", + "@docusaurus/theme-classic": "3.5.2", + "@docusaurus/theme-common": "3.5.2", + "@docusaurus/theme-search-algolia": "3.5.2", + "@docusaurus/types": "3.5.2" }, "engines": { "node": ">=18.0" @@ -2517,26 +2615,26 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz", - "integrity": "sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.5.2.tgz", + "integrity": "sha512-XRpinSix3NBv95Rk7xeMF9k4safMkwnpSgThn0UNQNumKvmcIYjfkwfh2BhwYh/BxMXQHJ/PdmNh22TQFpIaYg==", + "dependencies": { + "@docusaurus/core": "3.5.2", + "@docusaurus/mdx-loader": "3.5.2", + "@docusaurus/module-type-aliases": "3.5.2", + "@docusaurus/plugin-content-blog": "3.5.2", + "@docusaurus/plugin-content-docs": "3.5.2", + "@docusaurus/plugin-content-pages": "3.5.2", + "@docusaurus/theme-common": "3.5.2", + "@docusaurus/theme-translations": "3.5.2", + "@docusaurus/types": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-common": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", - "infima": "0.2.0-alpha.43", + "infima": "0.2.0-alpha.44", "lodash": "^4.17.21", "nprogress": "^0.2.0", "postcss": "^8.4.26", @@ -2556,17 +2654,14 @@ } }, "node_modules/@docusaurus/theme-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz", - "integrity": "sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==", - "dependencies": { - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.5.2.tgz", + "integrity": "sha512-QXqlm9S6x9Ibwjs7I2yEDgsCocp708DrCrgHgKwg2n2AY0YQ6IjU0gAK35lHRLOvAoJUfCKpQAwUykB0R7+Eew==", + "dependencies": { + "@docusaurus/mdx-loader": "3.5.2", + "@docusaurus/module-type-aliases": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-common": "3.5.2", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2580,23 +2675,24 @@ "node": ">=18.0" }, "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", "react": "^18.0.0", "react-dom": "^18.0.0" } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz", - "integrity": "sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.5.2.tgz", + "integrity": "sha512-qW53kp3VzMnEqZGjakaV90sst3iN1o32PH+nawv1uepROO8aEGxptcq2R5rsv7aBShSRbZwIobdvSYKsZ5pqvA==", "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.5.2", + "@docusaurus/logger": "3.5.2", + "@docusaurus/plugin-content-docs": "3.5.2", + "@docusaurus/theme-common": "3.5.2", + "@docusaurus/theme-translations": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-validation": "3.5.2", "algoliasearch": "^4.18.0", "algoliasearch-helper": "^3.13.3", "clsx": "^2.0.0", @@ -2615,9 +2711,9 @@ } }, "node_modules/@docusaurus/theme-translations": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz", - "integrity": "sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.5.2.tgz", + "integrity": "sha512-GPZLcu4aT1EmqSTmbdpVrDENGR2yObFEX8ssEFYTCiAIVc0EihNSdOIBTazUvgNqwvnoU1A8vIs1xyzc3LITTw==", "dependencies": { "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -2627,15 +2723,15 @@ } }, "node_modules/@docusaurus/tsconfig": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.4.0.tgz", - "integrity": "sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.5.2.tgz", + "integrity": "sha512-rQ7toURCFnWAIn8ubcquDs0ewhPwviMzxh6WpRjBW7sJVCXb6yzwUaY3HMNa0VXCFw+qkIbFywrMTf+Pb4uHWQ==", "dev": true }, "node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.5.2.tgz", + "integrity": "sha512-N6GntLXoLVUwkZw7zCxwy9QiuEXIcTVzA9AkmNw16oc0AP3SXLrMmDMMBIfgqwuKWa6Ox6epHol9kMtJqekACw==", "dependencies": { "@mdx-js/mdx": "^3.0.0", "@types/history": "^4.7.11", @@ -2653,12 +2749,12 @@ } }, "node_modules/@docusaurus/utils": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz", - "integrity": "sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.5.2.tgz", + "integrity": "sha512-33QvcNFh+Gv+C2dP9Y9xWEzMgf3JzrpL2nW9PopidiohS1nDcyknKRx2DWaFvyVTTYIkkABVSr073VTj/NITNA==", "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils-common": "3.4.0", + "@docusaurus/logger": "3.5.2", + "@docusaurus/utils-common": "3.5.2", "@svgr/webpack": "^8.1.0", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", @@ -2691,9 +2787,9 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz", - "integrity": "sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.5.2.tgz", + "integrity": "sha512-i0AZjHiRgJU6d7faQngIhuHKNrszpL/SHQPgF1zH4H+Ij6E9NBYGy6pkcGWToIv7IVPbs+pQLh1P3whn0gWXVg==", "dependencies": { "tslib": "^2.6.0" }, @@ -2710,13 +2806,13 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz", - "integrity": "sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.5.2.tgz", + "integrity": "sha512-m+Foq7augzXqB6HufdS139PFxDC5d5q2QKZy8q0qYYvGdI6nnlNsGH4cIGsgBnV7smz+mopl3g4asbSDvMV0jA==", "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", + "@docusaurus/logger": "3.5.2", + "@docusaurus/utils": "3.5.2", + "@docusaurus/utils-common": "3.5.2", "fs-extra": "^11.2.0", "joi": "^17.9.2", "js-yaml": "^4.1.0", @@ -3875,31 +3971,31 @@ } }, "node_modules/algoliasearch": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", - "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.23.3", - "@algolia/cache-common": "4.23.3", - "@algolia/cache-in-memory": "4.23.3", - "@algolia/client-account": "4.23.3", - "@algolia/client-analytics": "4.23.3", - "@algolia/client-common": "4.23.3", - "@algolia/client-personalization": "4.23.3", - "@algolia/client-search": "4.23.3", - "@algolia/logger-common": "4.23.3", - "@algolia/logger-console": "4.23.3", - "@algolia/recommend": "4.23.3", - "@algolia/requester-browser-xhr": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/requester-node-http": "4.23.3", - "@algolia/transporter": "4.23.3" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", + "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-account": "4.24.0", + "@algolia/client-analytics": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-personalization": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/recommend": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/algoliasearch-helper": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.1.tgz", - "integrity": "sha512-fSxJ4YreH4kOME9CnKazbAn2tK/rvBoV37ETd6nTt4j7QfkcnW+c+F22WfuE9Q/sRpvOMnUwU/BXAVEiwW7p/w==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.3.tgz", + "integrity": "sha512-2eoEz8mG4KHE+DzfrBTrCmDPxVXv7aZZWPojAJFtARpxxMO6lkos1dJ+XDCXdPvq7q3tpYWRi6xXmVQikejtpA==", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -3907,6 +4003,41 @@ "algoliasearch": ">= 3.1 < 6" } }, + "node_modules/algoliasearch/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -4018,9 +4149,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "funding": [ { "type": "opencollective", @@ -4036,11 +4167,11 @@ } ], "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -4259,9 +4390,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", - "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "funding": [ { "type": "opencollective", @@ -4277,10 +4408,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -4396,9 +4527,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001632", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001632.tgz", - "integrity": "sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "funding": [ { "type": "opencollective", @@ -5660,9 +5791,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.798", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.798.tgz", - "integrity": "sha512-by9J2CiM9KPGj9qfp5U4FcPSbXJG7FNzqnYaY4WLzX+v2PHieVGmnsA4dxfpGE3QEC7JofpPZmn7Vn1B9NR2+Q==" + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.11.tgz", + "integrity": "sha512-R1CccCDYqndR25CaXFd6hp/u9RaaMcftMkphmvuepXr5b1vfLkRml6aWVeBhXJ7rbevHkKEMJtz8XqPf7ffmew==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -7451,9 +7582,9 @@ } }, "node_modules/infima": { - "version": "0.2.0-alpha.43", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", - "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", + "version": "0.2.0-alpha.44", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.44.tgz", + "integrity": "sha512-tuRkUSO/lB3rEhLJk25atwAjgLuzq070+pOW8XcvpHky/YbENnRRdPd85IBkyeTgttmOy5ah+yHYsK1HhUd4lQ==", "engines": { "node": ">=12" } @@ -10402,9 +10533,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -12447,9 +12578,9 @@ "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" }, "node_modules/rtlcss": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz", - "integrity": "sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.2.0.tgz", + "integrity": "sha512-AV+V3oOVvCrqyH5Q/6RuT1IDH1Xy5kJTkEWTWZPN5rdQ3HCFOd8SrbC7c6N5Y8bPpCfZSR6yYbUATXslvfvu5g==", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0", @@ -12541,9 +12672,9 @@ } }, "node_modules/search-insights": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz", - "integrity": "sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==", + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.16.3.tgz", + "integrity": "sha512-hSHy/s4Zk2xibhj9XTCACB+1PqS+CaJxepGNBhKc/OsHRpqvHAUAm5+uZ6kJJbGXn0pb3XqekHjg6JAqPExzqg==", "peer": true }, "node_modules/section-matter": { @@ -13508,9 +13639,9 @@ } }, "node_modules/typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13705,9 +13836,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "funding": [ { "type": "opencollective", diff --git a/docusaurus/package.json b/docusaurus/package.json index e3cea6159..758844fb4 100644 --- a/docusaurus/package.json +++ b/docusaurus/package.json @@ -15,8 +15,8 @@ "typecheck": "tsc" }, "dependencies": { - "@docusaurus/core": "^3.4.0", - "@docusaurus/preset-classic": "^3.4.0", + "@docusaurus/core": "^3.5.2", + "@docusaurus/preset-classic": "^3.5.2", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "prism-react-renderer": "^2.3.0", @@ -25,9 +25,9 @@ }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.4.0", - "@docusaurus/tsconfig": "^3.4.0", + "@docusaurus/tsconfig": "^3.5.2", "@docusaurus/types": "^3.4.0", - "typescript": "~5.5.3" + "typescript": "~5.5.4" }, "browserslist": { "production": [ From 38378da451065f086911041ac54db7f30e2d6722 Mon Sep 17 00:00:00 2001 From: Meric Akgul Date: Tue, 23 Jul 2024 23:18:09 +0200 Subject: [PATCH 06/27] fix: map annIdentificatie field from zds to zgw --- .../Common/xsl/ApplyValueOverrides.xsl | 90 +++++++++++++------ .../RenameRootElementInValueOverridesKeys.xsl | 27 +++--- .../Translate/Configuration_AddRolToZgw.xml | 33 ++++++- .../Configuration_CreeerZaak_LK01.xml | 1 + .../Configuration_DetectRolChanges.xml | 1 + .../Configuration_UpdateZaak_LK01.xml | 1 + .../xsl/CreateZgwBetrokkeneIdentificatie.xsl | 1 + .../xsl/MapZdsRolFromZgwRol.xslt | 6 +- .../configurations/Translate/Profiles.json | 19 +++- 9 files changed, 138 insertions(+), 41 deletions(-) diff --git a/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xsl b/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xsl index 35c0306fd..8393eb242 100644 --- a/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xsl +++ b/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xsl @@ -1,5 +1,5 @@ - + @@ -8,11 +8,11 @@ - + - + @@ -24,10 +24,20 @@ - + + + + + + + + + + + - + evaluate(/betrokkeneIdentificatie/annIdentificatie) @@ -36,12 +46,12 @@ - + - - + + @@ -53,35 +63,63 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - diff --git a/src/main/configurations/Translate/Common/xsl/RenameRootElementInValueOverridesKeys.xsl b/src/main/configurations/Translate/Common/xsl/RenameRootElementInValueOverridesKeys.xsl index 1023d3990..b6bbf8d35 100644 --- a/src/main/configurations/Translate/Common/xsl/RenameRootElementInValueOverridesKeys.xsl +++ b/src/main/configurations/Translate/Common/xsl/RenameRootElementInValueOverridesKeys.xsl @@ -1,17 +1,24 @@ - - - + + + - + - + - + - - - - + + + + + + + + + + \ No newline at end of file diff --git a/src/main/configurations/Translate/Configuration_AddRolToZgw.xml b/src/main/configurations/Translate/Configuration_AddRolToZgw.xml index cf8087473..c599f1285 100644 --- a/src/main/configurations/Translate/Configuration_AddRolToZgw.xml +++ b/src/main/configurations/Translate/Configuration_AddRolToZgw.xml @@ -61,9 +61,24 @@ name="CheckForZgwRolType" xpathExpression="string-length(zgwRol/roltype)>0" > - + - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/configurations/Translate/Configuration_CreeerZaak_LK01.xml b/src/main/configurations/Translate/Configuration_CreeerZaak_LK01.xml index 28f6be947..b97b12e47 100644 --- a/src/main/configurations/Translate/Configuration_CreeerZaak_LK01.xml +++ b/src/main/configurations/Translate/Configuration_CreeerZaak_LK01.xml @@ -152,6 +152,7 @@ javaListener="AddRolToZgw" returnedSessionKeys="Error"> + diff --git a/src/main/configurations/Translate/Configuration_DetectRolChanges.xml b/src/main/configurations/Translate/Configuration_DetectRolChanges.xml index 239d66066..38fcba5f4 100644 --- a/src/main/configurations/Translate/Configuration_DetectRolChanges.xml +++ b/src/main/configurations/Translate/Configuration_DetectRolChanges.xml @@ -100,6 +100,7 @@ returnedSessionKeys="Error"> + diff --git a/src/main/configurations/Translate/Configuration_UpdateZaak_LK01.xml b/src/main/configurations/Translate/Configuration_UpdateZaak_LK01.xml index 4e6f49bb7..0ae514bcf 100644 --- a/src/main/configurations/Translate/Configuration_UpdateZaak_LK01.xml +++ b/src/main/configurations/Translate/Configuration_UpdateZaak_LK01.xml @@ -232,6 +232,7 @@ + diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateZgwBetrokkeneIdentificatie.xsl b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateZgwBetrokkeneIdentificatie.xsl index 24f2df84d..af694eeb3 100644 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateZgwBetrokkeneIdentificatie.xsl +++ b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateZgwBetrokkeneIdentificatie.xsl @@ -55,6 +55,7 @@ + diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/MapZdsRolFromZgwRol.xslt b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/MapZdsRolFromZgwRol.xslt index 86171120e..c2b730ae4 100644 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/MapZdsRolFromZgwRol.xslt +++ b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/MapZdsRolFromZgwRol.xslt @@ -39,8 +39,10 @@ - - N + + + N + diff --git a/src/main/configurations/Translate/Profiles.json b/src/main/configurations/Translate/Profiles.json index 4955d79b9..eae947bb3 100644 --- a/src/main/configurations/Translate/Profiles.json +++ b/src/main/configurations/Translate/Profiles.json @@ -1,5 +1,22 @@ { - "profileDefaults": {}, + "profileDefaults": { + "valueOverrides": [ + { + "key": "zgw.zaken-api.zaken.zaak.betalingsindicatie", + "value": "nvt", + "condition": "current() = ''" + }, + { + "key": "zgw.zaken-api.rollen.rol.roltoelichting", + "value": "lalala", + "condition": "true" + }, + { + "key": "zgw.zaken-api.rollen.rol.betrokkeneIdentificatie.annIdentificatie", + "value": "12345678901234567", + "condition": "true" + } + ]}, "profile": [ { "zaakTypeIdentificatie": "B9999", From a8206cf02ab5c8aa9689e53181a145cdf7588357 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 15:33:45 +0200 Subject: [PATCH 07/27] test: e2e testcases for valueOverrides system --- e2e/SoapUI/zaakbrug-e2e-soapui-project.xml | 3260 +++++++++++++++++++- 1 file changed, 3111 insertions(+), 149 deletions(-) diff --git a/e2e/SoapUI/zaakbrug-e2e-soapui-project.xml b/e2e/SoapUI/zaakbrug-e2e-soapui-project.xml index 0be88844c..0c85b4c7c 100644 --- a/e2e/SoapUI/zaakbrug-e2e-soapui-project.xml +++ b/e2e/SoapUI/zaakbrug-e2e-soapui-project.xml @@ -17726,15 +17726,15 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' \r \r - + - Delete1 + Delete Behandelaar Documentaire Informatie FBDI - + Wijzig Behandelaar wijzig @@ -17742,7 +17742,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + add Behandelaar add @@ -17767,7 +17767,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' \r \r - + Delete Behandelaar Documentaire Informatie FBDI @@ -17775,7 +17775,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + Wijzig Behandelaar wijzig @@ -17783,7 +17783,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + add Behandelaar add @@ -17859,14 +17859,14 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + Behandelaar Documentaire - + Wijzig Behandelaar wijzig @@ -17874,7 +17874,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + add Behandelaar add @@ -17899,14 +17899,14 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + Behandelaar Documentaire - + Wijzig Behandelaar wijzig @@ -17914,7 +17914,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + add Behandelaar add @@ -18066,7 +18066,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' * - Dossiernummer GISVG OV* + Dossiernummer GISVG OVZK* Reguliere omgevingsvergunning * * @@ -18097,14 +18097,6 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - - - - Delete1 - Behandelaar Documentaire Informatie FBDI - - - @@ -50015,70 +50007,3001 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' ZAK\r \r \r - W\r + W\r + V\r + \r + \r + ${Properties#ZaakIdentificatie}\r + IEIAZS-B\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + \r + \r + IEIAZS-B\r + IEIAZS-B\r + \r + \r + \r + \r + \r + \r + ${Properties#ZaakIdentificatie}\r + IEIAZS-B\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + \r + \r + IEIAZS-B\r + IEIAZS-B\r + \r + \r + \r + + + IEIAZS-B + IEIAZS-B + 0002 + Ended + + + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());} + + \r + \r + \r +]]> + + + + + + + No Authorization + + + + + + + + + + + + ZdsBeantwoordVraag + geefZaakdetails_Lv01 + + + <xml-fragment/> + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/BeantwoordVraag + \r + \r + \r + \r + Lv01\r + \r + 1900\r + GISVG\r + \r + \r + 1900\r + ZDS\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + 0\r + false\r + \r + \r + ${Properties#ZaakIdentificatie}\r + \r + \r + + \r + \r + \r +]]> + + + + + + + + string-length(//*:antwoord/*:object/*:einddatum) + 0 + false + false + false + + + + + count(//*:antwoord/*:object/*:heeft) + 0 + false + false + false + + + + No Authorization + + + + + + + + + + + + ZdsOntvangAsynchroon + updateZaak_Lk01 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/OntvangAsynchroon + + + + + + Lk01 + + 1900 + GWS4all + Gebruiker + + + 1900 + CDR + + ${=java.util.UUID.randomUUID().toString() } + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());} + ZAK + + + W + V + + + ${Properties#ZaakIdentificatie} + IEIAZS-B + + Gave a thing + + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + + + IEIAZS-B + IEIAZS-B + + + + + + + +]]> + + + + + + + No Authorization + + + + + + + + + + + + ZdsBeantwoordVraag + geefZaakdetails_Lv01 + + + <xml-fragment/> + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/BeantwoordVraag + \r + \r + \r + \r + Lv01\r + \r + 1900\r + GISVG\r + \r + \r + 1900\r + ZDS\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + 0\r + false\r + \r + \r + ${Properties#ZaakIdentificatie}\r + \r + \r + + \r + \r + \r +]]> + + + + + + + + //*:antwoord/*:object/*:einddatum + * + true + false + false + + + + + //*:antwoord/*:object/*:heeft/*:gerelateerde/*:omschrijving + Ended + false + false + false + + + + No Authorization + + + + + + + + + + + + + + + + + + + <xml-fragment/> + + ${#Project#OpenZaakZakenApiRootUrl}/zaken + + + + 200,201 + + + + No Authorization + + + + + + Accept-Crs + EPSG:4326 + HEADER + EPSG:4326 + + + + + Content-Crs + EPSG:4326 + HEADER + EPSG:4326 + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${Properties#JwtToken} + + + + + identificatie + ${Properties#ZaakIdentificatie} + QUERY + + + + + + + + + TransferZaakUrl + Response + 06-zgw-getZaakByIdentificatie + $.results[0].url + ZaakUrl + Properties + JSONPATH + JSONPATH + true + + + + + + + + <xml-fragment/> + + ${Properties#ZaakUrl} + + + + 204 + + + + No Authorization + + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${Properties#JwtToken} + + + + + + + + + DocumentSizeKb + 0.1 + + + + + + + + + + + JwtToken + + + + + + + + + + + + + + + + <xml-fragment/> + + ${#TestSuite#IEIAZS-BUrl} + + + No Authorization + + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${Properties#JwtToken} + + + + + + + + + + + CatalogusUrl + + + + ZaakTypeOmgevingsvergunningUrl + + + + ZaakTypeMinimaregelingUrl + + + + ZaakTypeRijbewijsUrl + + + + IEIAZSUrl + + + + IEIAZS-BUrl + + + + + + + SEQUENTIAL + + + + + + + + CatalogusCount + + + + JwtToken + + + + + + + + + + + + + + + + + <entry key="Authorization" value="${Properties#JwtToken}" xmlns="http://eviware.com/soapui/config"/> + + UTF-8 + ${#Project#OpenZaakCatalogiApiRootUrl} + + http://localhost/catalogi/api/v1/catalogussen + + + 200 + + + + No Authorization + + + + + + + + + + + + TransferCatalogusCount + Response + 01-zgw-getCatalogus + $.count + CatalogusCount + Properties + JSONPATH + JSONPATH + true + + + + + + + + IsThereCatalogus + XPATH + ${Properties#CatalogusCount} = 1 + 04b-TransferExistingCatalogusUrl + + + + + + + + + <entry key="Authorization" value="${Properties#JwtToken}" xmlns="http://eviware.com/soapui/config"/> + + UTF-8 + ${#Project#OpenZaakCatalogiApiRootUrl} + { + "domein": "ETESD", + "rsin": "548746485", + "contactpersoonBeheerNaam": "Marcel Lenterman", + "contactpersoonBeheerTelefoonnummer": "0636392161", + "contactpersoonBeheerEmailadres": "marcel@wearefrank.nl" +} + http://localhost/catalogi/api/v1/catalogussen/catalogussen + + + $.domein + ETESD + false + false + false + + + + 1 + No Authorization + + + + + + + + + + + + + + TransferCatalogusUrl + Response + 04_a1-zgw-postCatalogus + $.url + CatalogusUrl + #TestSuite# + JSONPATH + JSONPATH + true + + + + + + + + IsCatalogusUrlTransferred + XPATH + ${Properties#CatalogusCount} = 0 + 05-zgw-postZaakType + + + + + + + + TransferExistingCatalogusUrl + Response + 01-zgw-getCatalogus + $.results[0].url + CatalogusUrl + #TestSuite# + JSONPATH + JSONPATH + true + + + + + + + + + <entry key="Authorization" value="${Properties#JwtToken}" xmlns="http://eviware.com/soapui/config"/> + + UTF-8 + ${#Project#OpenZaakCatalogiApiRootUrl} + { + "identificatie": "VO-A", + "omschrijving": "ValueOverrides", + "omschrijvingGeneriek": "Omgevingsvergunning", + "vertrouwelijkheidaanduiding": "vertrouwelijk", + "doel": "Het behandelen van een aanvraag voor een omgevingsvergunning", + "aanleiding": "Dit werkproces wordt extern getriggerd door een inkomende aanvraag.", + "toelichting": "Dit proces beschrijft de behandeling van de aanvraag voor een omgevingsvergunning met uitzondering van de beoordeling van de verschillende activiteiten waar de vergunning voor kan worden aangevraagd. Een aanvraag voor een omgevingsvergunning kan betrekking hebben op één of meerdere activiteiten. Zie voor de beoordeling van de verschillende activiteiten werkprocessen B1221 t/m B1232 en B1294 t/m B1297.", + "indicatieInternOfExtern": "extern", + "handelingInitiator": "Aanvragen", + "onderwerp": "Omgevingsvergunning", + "handelingBehandelaar": "Behandelen", + "doorlooptijd": "P56D", + "servicenorm": null, + "opschortingEnAanhoudingMogelijk": true, + "verlengingMogelijk": true, + "verlengingstermijn": "P42D", + "trefwoorden": [], + "publicatieIndicatie": false, + "publicatietekst": "", + "verantwoordingsrelatie": [], + "productenOfDiensten": [ + "https://referentielijsten-api.vng.cloud/api/v1/procestypen/d1f8003f-df5a-4d32-b2bb-5f909e8552a2" + ], + "selectielijstProcestype": "https://selectielijst.openzaak.nl/api/v1/procestypen/7ff2b005-4d84-47fe-983a-732bfa958ff5", + "referentieproces": { + "naam": "Behandelen aanvraag omgevingsvergunning", + "link": "https://www.gemmaonline.nl/index.php/GEMMA2/0.9/id-7ffe31fc-4ecf-4b30-9dcb-af663f9d10a0" + }, + "verantwoordelijke": "Projectleider", + "catalogus": "${#TestSuite#CatalogusUrl}", + "besluittypen": [], + "deelzaaktypen": [], + "gerelateerdeZaaktypen": [], + "beginGeldigheid": "2021-04-03", + "eindeGeldigheid": null, + "versiedatum": "2021-04-03" +} + http://localhost/catalogi/api/v1/zaaktypen + + + 200,201 + + + + No Authorization + + + + + + + + + + + + + + TransferZaakTypeUrl + Response + 05-zgw-postZaakType + $.url + VO-AUrl + #TestSuite# + JSONPATH + JSONPATH + true + + + + + + + + + <entry key="Authorization" value="${Properties#JwtToken}" xmlns="http://eviware.com/soapui/config"/> + + UTF-8 + ${#Project#OpenZaakCatalogiApiRootUrl} + { +"zaaktype": "${#TestSuite#VO-AUrl}", +"omschrijving": "Vergunningvrij", +"resultaattypeomschrijving": "https://selectielijst.openzaak.nl/api/v1/resultaattypeomschrijvingen/f7d2dc14-1b71-4179-aed3-4e7abcfbeb0d", +"selectielijstklasse": "https://selectielijst.openzaak.nl/api/v1/resultaten/2e0ff361-8887-44ed-a3fb-218c5645c2c3", +"toelichting": "", +"archiefnominatie": "blijvend_bewaren", +"archiefactietermijn": null, +"brondatumArchiefprocedure": { +"afleidingswijze": "afgehandeld", +"datumkenmerk": "", +"einddatumBekend": false, +"objecttype": "", +"registratie": "", +"procestermijn": null +} +} + http://localhost/catalogi/api/v1/resultaattypen + + + 200,201 + + + + No Authorization + + + + + + + + + + + + + + + <entry key="Authorization" value="${Properties#JwtToken}" xmlns="http://eviware.com/soapui/config"/> + + UTF-8 + ${#Project#OpenZaakCatalogiApiRootUrl} + { +"zaaktype": "${#TestSuite#VO-AUrl}", +"omschrijving": "Behandelaar", +"omschrijvingGeneriek": "behandelaar" +} + http://localhost/catalogi/api/v1/resultaattypen + + + 200,201 + + + + No Authorization + + + + + + + + + + + + + + + <entry key="Authorization" value="${Properties#JwtToken}" xmlns="http://eviware.com/soapui/config"/> + + UTF-8 + ${#Project#OpenZaakCatalogiApiRootUrl} + { +"zaaktype": "${#TestSuite#VO-AUrl}", +"omschrijving": "Initiator", +"omschrijvingGeneriek": "initiator" +} + http://localhost/catalogi/api/v1/resultaattypen + + + 200,201 + + + + No Authorization + + + + + + + + + + + + + + + <entry key="Authorization" value="${Properties#JwtToken}" xmlns="http://eviware.com/soapui/config"/> + + UTF-8 + ${#Project#OpenZaakCatalogiApiRootUrl} + { +"zaaktype": "${#TestSuite#VO-AUrl}", +"omschrijving": "Belanghebbende", +"omschrijvingGeneriek": "belanghebbende" +} + http://localhost/catalogi/api/v1/resultaattypen + + + 200,201 + + + + No Authorization + + + + + + + + + + + + + + + <entry key="Authorization" value="${Properties#JwtToken}" xmlns="http://eviware.com/soapui/config"/> + + UTF-8 + ${#Project#OpenZaakCatalogiApiRootUrl} + { +"omschrijving": "Geregistreerd", +"omschrijvingGeneriek": "Geregistreerd", +"statustekst": "", +"zaaktype": "${#TestSuite#VO-AUrl}", +"volgnummer": 1, +"informeren": false +} + http://localhost/catalogi/api/v1/statustypen + + + 200,201 + + + + No Authorization + + + + + + + + + + + + + + + <entry key="Authorization" value="${Properties#JwtToken}" xmlns="http://eviware.com/soapui/config"/> + + UTF-8 + ${#Project#OpenZaakCatalogiApiRootUrl} + { +"omschrijving": "Afgehandeld", +"omschrijvingGeneriek": "Afgehandeld", +"statustekst": "", +"zaaktype": "${#TestSuite#VO-AUrl}", +"volgnummer": 2, +"informeren": false +} + http://localhost/catalogi/api/v1/statustypen + + + 200,201 + + + + No Authorization + + + + + + + + + + + + + + <xml-fragment/> + + ${#TestSuite#VO-AUrl}/publish + + + + 200,201 + + + + No Authorization + + + + + + Content-Type + application/json + HEADER + application/json + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${#Project#JwtToken} + + + + + + + + + + + + + + + + ZaakIdentificatie + + + + ZaakUrl + + + + JwtToken + + + + + + + + + ZdsVrijeBerichten + genereerZaakIdentificatie_Di02 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/VrijBericht + + + + + + Di02 + + 1900 + GWS4all + Gebruiker + + + 1900 + CDR + + ${=java.util.UUID.randomUUID().toString() } + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());} + genereerZaakidentificatie + + + +]]> + + + + + + + No Authorization + + + + + + + + + + + + + TransferZaakIdentificatie + Response + 01-zds-genereerZaakIdentificatie_Di02 + declare namespace ZKN="http://www.egem.nl/StUF/sector/zkn/0310"; +//ZKN:identificatie[1] + ZaakIdentificatie + Properties + + XPATH + true + + + + + + + ZdsOntvangAsynchroon + creeerZaak_Lk01 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/OntvangAsynchroon + \r + \r + \r + \r + \r + Lk01\r + \r + 1900\r + GWS4all\r + Gebruiker\r + \r + \r + 1900\r + CDR\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + T\r + V\r + \r + \r + ${Properties#ZaakIdentificatie}\r + Aanvraag omgevingsvergunning\r + \r + + soapui\r + \r + + kenmerk2 + + + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + 20210101\r + J\r + 1\r + N\r + \r + \r + VO-A\r + VO-A\r + \r + \r + \r + \r + \r + \r + 111111110\r + J\r + Precies\r + \r + P\r + Pietje\r + M\r + 19010101\r + \r + \r + J\r + Bolsward\r + \r + Kerkstraat\r + 8701HP\r + 1\r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r +]]> + + + + + + + No Authorization + + + + + + + + + + + + ZdsBeantwoordVraag + geefZaakdetails_Lv01 + + + <xml-fragment/> + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/BeantwoordVraag + \r + \r + \r + \r + Lv01\r + \r + 1900\r + GISVG\r + \r + \r + 1900\r + ZDS\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + 0\r + false\r + \r + \r + ${Properties#ZaakIdentificatie}\r + \r + \r + + \r + \r + \r +]]> + + + + + + + + //*:antwoord/*:object/*:betalingsIndicatie + N.v.t. + false + false + false + + + + No Authorization + + + + + + + + + + + + ZdsOntvangAsynchroon + updateZaak_Lk01 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/OntvangAsynchroon + + + + + + Lk01 + + 1900 + GWS4all + Gebruiker + + + 1900 + CDR + + ${=java.util.UUID.randomUUID().toString() } + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());} + ZAK + + + W + V + + + ${Properties#ZaakIdentificatie} + Aanvraag omgevingsvergunning + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + + + VO-A + VO-A + + + + + + + ${Properties#ZaakIdentificatie} + Aanvraag omgevingsvergunning + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + + + VO-A + VO-A + + + + + + + +]]> + + + + + + + No Authorization + + + + + + + + + + + + ZdsBeantwoordVraag + geefZaakdetails_Lv01 + + + <xml-fragment/> + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/BeantwoordVraag + \r + \r + \r + \r + Lv01\r + \r + 1900\r + GISVG\r + \r + \r + 1900\r + ZDS\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + 0\r + false\r + \r + \r + ${Properties#ZaakIdentificatie}\r + \r + \r + + \r + \r + \r +]]> + + + + + + + + //*:antwoord/*:object/*:betalingsIndicatie + N.v.t. + false + false + false + + + + No Authorization + + + + + + + + + + + + + + + + + + + <xml-fragment/> + + ${#Project#OpenZaakZakenApiRootUrl}/zaken + + + + $.results[0].omschrijving + Aanvraag omgevingsvergunning + false + false + false + + + + No Authorization + + + + + + Accept-Crs + EPSG:4326 + HEADER + EPSG:4326 + + + + + Content-Crs + EPSG:4326 + HEADER + EPSG:4326 + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${Properties#JwtToken} + + + + + identificatie + ${Properties#ZaakIdentificatie} + QUERY + + + + + + + + + TransferZaakUrl + Response + 99b-zgw-getZaakByIdentificatie + $.results[0].url + ZaakUrl + Properties + JSONPATH + JSONPATH + true + + + + + + + + <xml-fragment/> + + ${Properties#ZaakUrl} + + + + 204 + + + + No Authorization + + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${Properties#JwtToken} + + + + + + + + + DocumentSizeKb + 0.1 + + + + + + + + + + + ZaakIdentificatie + + + + ZaakUrl + + + + JwtToken + + + + + + + + + ZdsVrijeBerichten + genereerZaakIdentificatie_Di02 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/VrijBericht + + + + + + Di02 + + 1900 + GWS4all + Gebruiker + + + 1900 + CDR + + ${=java.util.UUID.randomUUID().toString() } + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());} + genereerZaakidentificatie + + + +]]> + + + + + + + No Authorization + + + + + + + + + + + + + TransferZaakIdentificatie + Response + 01-zds-genereerZaakIdentificatie_Di02 + declare namespace ZKN="http://www.egem.nl/StUF/sector/zkn/0310"; +//ZKN:identificatie[1] + ZaakIdentificatie + Properties + + XPATH + true + + + + + + + ZdsOntvangAsynchroon + creeerZaak_Lk01 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/OntvangAsynchroon + \r + \r + \r + \r + \r + Lk01\r + \r + 1900\r + GWS4all\r + Gebruiker\r + \r + \r + 1900\r + CDR\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + T\r + V\r + \r + \r + ${Properties#ZaakIdentificatie}\r + Aanvraag omgevingsvergunning\r + \r + + soapui\r + \r + + kenmerk2 + + + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + 20210101\r + + J\r + 1\r + N\r + \r + \r + VO-A\r + VO-A\r + \r + \r + \r + \r + \r + \r + 111111110\r + J\r + Precies\r + \r + P\r + Pietje\r + M\r + 19010101\r + \r + \r + J\r + Bolsward\r + \r + Kerkstraat\r + 8701HP\r + 1\r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r +]]> + + + + + + + No Authorization + + + + + + + + + + + + ZdsBeantwoordVraag + geefZaakdetails_Lv01 + + + <xml-fragment/> + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/BeantwoordVraag + \r + \r + \r + \r + Lv01\r + \r + 1900\r + GISVG\r + \r + \r + 1900\r + ZDS\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + 0\r + false\r + \r + \r + ${Properties#ZaakIdentificatie}\r + \r + \r + + \r + \r + \r +]]> + + + + + + + + //*:antwoord/*:object/*:betalingsIndicatie + N.v.t. + false + false + false + + + + No Authorization + + + + + + + + + + + + ZdsOntvangAsynchroon + updateZaak_Lk01 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/OntvangAsynchroon + \r + \r + \r + \r + \r + Lk01\r + \r + 1900\r + GWS4all\r + Gebruiker\r + \r + \r + 1900\r + CDR\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + W\r + V\r + \r + + ${Properties#ZaakIdentificatie} + Aanvraag omgevingsvergunning + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + + + + VO-A + VO-A + + + + + + \r + ${Properties#ZaakIdentificatie}\r + Aanvraag omgevingsvergunning\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + \r + \r + \r + VO-A\r + VO-A\r + \r + \r + \r + \r + \r + \r + \r +]]> + + + + + + + No Authorization + + + + + + + + + + + + ZdsBeantwoordVraag + geefZaakdetails_Lv01 + + + <xml-fragment/> + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/BeantwoordVraag + \r + \r + \r + \r + Lv01\r + \r + 1900\r + GISVG\r + \r + \r + 1900\r + ZDS\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + 0\r + false\r + \r + \r + ${Properties#ZaakIdentificatie}\r + \r + \r + + \r + \r + \r +]]> + + + + + + + + //*:antwoord/*:object/*:betalingsIndicatie + N.v.t. + false + false + false + + + + No Authorization + + + + + + + + + + + + + + + + + + + <xml-fragment/> + + ${#Project#OpenZaakZakenApiRootUrl}/zaken + + + + $.results[0].omschrijving + Aanvraag omgevingsvergunning + false + false + false + + + + No Authorization + + + + + + Accept-Crs + EPSG:4326 + HEADER + EPSG:4326 + + + + + Content-Crs + EPSG:4326 + HEADER + EPSG:4326 + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${Properties#JwtToken} + + + + + identificatie + ${Properties#ZaakIdentificatie} + QUERY + + + + + + + + + TransferZaakUrl + Response + 99b-zgw-getZaakByIdentificatie + $.results[0].url + ZaakUrl + Properties + JSONPATH + JSONPATH + true + + + + + + + + <xml-fragment/> + + ${Properties#ZaakUrl} + + + + 204 + + + + No Authorization + + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${Properties#JwtToken} + + + + + + + + + DocumentSizeKb + 0.1 + + + + + + + + + + + ZaakIdentificatie + + + + ZaakUrl + + + + JwtToken + + + + + + + + + ZdsVrijeBerichten + genereerZaakIdentificatie_Di02 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/VrijBericht + + + + + + Di02 + + 1900 + GWS4all + Gebruiker + + + 1900 + CDR + + ${=java.util.UUID.randomUUID().toString() } + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());} + genereerZaakidentificatie + + + +]]> + + + + + + + No Authorization + + + + + + + + + + + + + TransferZaakIdentificatie + Response + 01-zds-genereerZaakIdentificatie_Di02 + declare namespace ZKN="http://www.egem.nl/StUF/sector/zkn/0310"; +//ZKN:identificatie[1] + ZaakIdentificatie + Properties + + XPATH + true + + + + + + + ZdsOntvangAsynchroon + creeerZaak_Lk01 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/OntvangAsynchroon + \r + \r + \r + \r + \r + Lk01\r + \r + 1900\r + GWS4all\r + Gebruiker\r + \r + \r + 1900\r + CDR\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + T\r + V\r + \r + \r + ${Properties#ZaakIdentificatie}\r + Aanvraag omgevingsvergunning\r + \r + + soapui\r + \r + + kenmerk2 + + + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + 20210101\r + (Nog) niet + J\r + 1\r + N\r + \r + \r + VO-A\r + VO-A\r + \r + \r + \r + \r + \r + \r + 111111110\r + J\r + Precies\r + \r + P\r + Pietje\r + M\r + 19010101\r + \r + \r + J\r + Bolsward\r + \r + Kerkstraat\r + 8701HP\r + 1\r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r +]]> + + + + + + + No Authorization + + + + + + + + + + + + ZdsBeantwoordVraag + geefZaakdetails_Lv01 + + + <xml-fragment/> + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/BeantwoordVraag + \r + \r + \r + \r + Lv01\r + \r + 1900\r + GISVG\r + \r + \r + 1900\r + ZDS\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + 0\r + false\r + \r + \r + ${Properties#ZaakIdentificatie}\r + \r + \r + + \r + \r + \r +]]> + + + + + + + + //*:antwoord/*:object/*:betalingsIndicatie + (Nog) niet + false + false + false + + + + No Authorization + + + + + + + + + + + + ZdsOntvangAsynchroon + updateZaak_Lk01 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/OntvangAsynchroon + \r + \r + \r + \r + \r + Lk01\r + \r + 1900\r + GWS4all\r + Gebruiker\r + \r + \r + 1900\r + CDR\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + W\r + V\r + \r + + ${Properties#ZaakIdentificatie} + Aanvraag omgevingsvergunning + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + (Nog) niet + + + VO-A + VO-A + + + + + + \r + ${Properties#ZaakIdentificatie}\r + Aanvraag omgevingsvergunning\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + (Nog) niet + \r + \r + VO-A\r + VO-A\r + \r + \r + \r + \r + \r + \r + \r +]]> + + + + + + + No Authorization + + + + + + + + + + + + ZdsBeantwoordVraag + geefZaakdetails_Lv01 + + + <xml-fragment/> + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/BeantwoordVraag + \r + \r + \r + \r + Lv01\r + \r + 1900\r + GISVG\r + \r + \r + 1900\r + ZDS\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + 0\r + false\r + \r + \r + ${Properties#ZaakIdentificatie}\r + \r + \r + + \r + \r + \r +]]> + + + + + + + + //*:antwoord/*:object/*:betalingsIndicatie + (Nog) niet + false + false + false + + + + No Authorization + + + + + + + + + + + + + + + + + + + <xml-fragment/> + + ${#Project#OpenZaakZakenApiRootUrl}/zaken + + + + $.results[0].omschrijving + Aanvraag omgevingsvergunning + false + false + false + + + + No Authorization + + + + + + Accept-Crs + EPSG:4326 + HEADER + EPSG:4326 + + + + + Content-Crs + EPSG:4326 + HEADER + EPSG:4326 + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${Properties#JwtToken} + + + + + identificatie + ${Properties#ZaakIdentificatie} + QUERY + + + + + + + + + TransferZaakUrl + Response + 99b-zgw-getZaakByIdentificatie + $.results[0].url + ZaakUrl + Properties + JSONPATH + JSONPATH + true + + + + + + + + <xml-fragment/> + + ${Properties#ZaakUrl} + + + + 204 + + + + No Authorization + + + + + + Authorization + ${Properties#JwtToken} + HEADER + ${Properties#JwtToken} + + + + + + + + + DocumentSizeKb + 0.1 + + + + + + + + + + + ZaakIdentificatie + + + + ZaakUrl + + + + JwtToken + + + + + + + + + ZdsVrijeBerichten + genereerZaakIdentificatie_Di02 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/VrijBericht + + + + + + Di02 + + 1900 + GWS4all + Gebruiker + + + 1900 + CDR + + ${=java.util.UUID.randomUUID().toString() } + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());} + genereerZaakidentificatie + + + +]]> + + + + + + + No Authorization + + + + + + + + + + + + + TransferZaakIdentificatie + Response + 01-zds-genereerZaakIdentificatie_Di02 + declare namespace ZKN="http://www.egem.nl/StUF/sector/zkn/0310"; +//ZKN:identificatie[1] + ZaakIdentificatie + Properties + + XPATH + true + + + + + + + ZdsOntvangAsynchroon + creeerZaak_Lk01 + + + <xml-fragment/> + + + UTF-8 + ${#Project#ZaakbrugEndpoint}translate/generic/zds/OntvangAsynchroon + \r + \r + \r + \r + \r + Lk01\r + \r + 1900\r + GWS4all\r + Gebruiker\r + \r + \r + 1900\r + CDR\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + T\r V\r \r - \r + \r ${Properties#ZaakIdentificatie}\r - IEIAZS-B\r + Aanvraag omgevingsvergunning\r + \r + + soapui\r + \r + + kenmerk2 + + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r - \r - \r - IEIAZS-B\r - IEIAZS-B\r + 20210101\r + (Nog) niet + J\r + 1\r + N\r + \r + \r + VO-A\r + VO-A\r \r \r \r - \r - \r - \r - ${Properties#ZaakIdentificatie}\r - IEIAZS-B\r - ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r - ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r - \r - \r - IEIAZS-B\r - IEIAZS-B\r - \r + \r + \r + \r + 111111110\r + J\r + Precies\r + \r + P\r + Pietje\r + M\r + 19010101\r + \r + \r + J\r + Bolsward\r + \r + Kerkstraat\r + 8701HP\r + 1\r + \r + \r + \r + \r + \r \r - \r - - - IEIAZS-B - IEIAZS-B - 0002 - Ended - - - ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());} - + \r \r \r \r ]]> - - + + - + No Authorization - + - + ZdsBeantwoordVraag geefZaakdetails_Lv01 - + <xml-fragment/> @@ -50119,19 +53042,10 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + - string-length(//*:antwoord/*:object/*:einddatum) - 0 - false - false - false - - - - - count(//*:antwoord/*:object/*:heeft) - 0 + //*:antwoord/*:object/*:heeftAlsInitiator/*:gerelateerde/*:natuurlijkPersoon/*:geslachtsnaam + fromValueOverride false false false @@ -50147,61 +53061,125 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + ZdsOntvangAsynchroon updateZaak_Lk01 - + <xml-fragment/> UTF-8 ${#Project#ZaakbrugEndpoint}translate/generic/zds/OntvangAsynchroon - - - - - - Lk01 - - 1900 - GWS4all - Gebruiker - - - 1900 - CDR - - ${=java.util.UUID.randomUUID().toString() } - ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());} - ZAK - - - W - V - + \r + \r + \r + \r + \r + Lk01\r + \r + 1900\r + GWS4all\r + Gebruiker\r + \r + \r + 1900\r + CDR\r + \r + ${=java.util.UUID.randomUUID().toString() }\r + ${=import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); sdf.setTimeZone(TimeZone.getTimeZone("${#Project#ZdsTimezone}")); sdf.format(new Date());}\r + ZAK\r + \r + \r + W\r + V\r + \r ${Properties#ZaakIdentificatie} - IEIAZS-B - - Gave a thing - + Aanvraag omgevingsvergunning ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} - ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())} + (Nog) niet - IEIAZS-B - IEIAZS-B + VO-A + VO-A + + + + 111111110 + J + Precies + + P + Pietje + M + 19010101 + + + J + Bolsward + + Kerkstraat + 8701HP + 1 + + + + + + + - - + \r + ${Properties#ZaakIdentificatie}\r + Aanvraag omgevingsvergunning\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + ${=import java.text.SimpleDateFormat; new SimpleDateFormat("yyyyMMdd").format(new Date())}\r + (Nog) niet + \r + \r + VO-A\r + VO-A\r + \r + \r + \r + + + + 111111110 + J + Precies + + P + Pietje + M + 19010101 + + + J + Bolsward + + Kerkstraat + 8701HP + 1 + + + + + + + + \r + \r + \r + \r ]]> @@ -50218,12 +53196,12 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + ZdsBeantwoordVraag geefZaakdetails_Lv01 - + <xml-fragment/> @@ -50264,19 +53242,10 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + - //*:antwoord/*:object/*:einddatum - * - true - false - false - - - - - //*:antwoord/*:object/*:heeft/*:gerelateerde/*:omschrijving - Ended + //*:antwoord/*:object/*:heeftAlsInitiator/*:gerelateerde/*:natuurlijkPersoon/*:geslachtsnaam + fromValueOverride false false false @@ -50292,7 +53261,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + - + - + <xml-fragment/> ${#Project#OpenZaakZakenApiRootUrl}/zaken - + - 200,201 + $.results[0].omschrijving + Aanvraag omgevingsvergunning + false + false + false @@ -50399,13 +53372,13 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + TransferZaakUrl Response - 06-zgw-getZaakByIdentificatie + 99b-zgw-getZaakByIdentificatie $.results[0].url ZaakUrl Properties @@ -50415,9 +53388,9 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + - + <xml-fragment/> @@ -50452,9 +53425,9 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + - + @@ -50465,7 +53438,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + - + <xml-fragment/> - ${#TestSuite#IEIAZS-BUrl} + ${#TestSuite#VO-AUrl} + + + 200,204 + + No Authorization @@ -50554,23 +53532,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - ZaakTypeOmgevingsvergunningUrl - - - - ZaakTypeMinimaregelingUrl - - - - ZaakTypeRijbewijsUrl - - - - IEIAZSUrl - - - - IEIAZS-BUrl + VO-AUrl From 500e7193950cbfd2eebed4feb5385f5c0cca414e Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 15:34:59 +0200 Subject: [PATCH 08/27] chore: correct frank configuration schema reference from ibisconfig.xsd to frankconfig.xsd --- .../configurations/Translate/Configuration_DeleteRolFromZgw.xml | 2 +- .../configurations/Translate/Configuration_DetectRolChanges.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/configurations/Translate/Configuration_DeleteRolFromZgw.xml b/src/main/configurations/Translate/Configuration_DeleteRolFromZgw.xml index fb6ba81ea..879636e70 100644 --- a/src/main/configurations/Translate/Configuration_DeleteRolFromZgw.xml +++ b/src/main/configurations/Translate/Configuration_DeleteRolFromZgw.xml @@ -1,4 +1,4 @@ - + diff --git a/src/main/configurations/Translate/Configuration_DetectRolChanges.xml b/src/main/configurations/Translate/Configuration_DetectRolChanges.xml index 38fcba5f4..1e2d27e66 100644 --- a/src/main/configurations/Translate/Configuration_DetectRolChanges.xml +++ b/src/main/configurations/Translate/Configuration_DetectRolChanges.xml @@ -1,4 +1,4 @@ - + From 522acf348da434665158a7096e7a0478fa3aed03 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 15:42:32 +0200 Subject: [PATCH 09/27] refactor: xsd's for correctly converting xml to json changed to contain element which require it, so that the ordering of elements in no longer necessary --- .../Configuration_Zaken_PostZgwRol.xml | 105 ++++------- .../Translate/CreeerZaak_LK01/xsd/ZgwRol.xsd | 20 ++ .../CreeerZaak_LK01/xsd/ZgwRolMedewerker.xsd | 171 ----------------- .../xsd/ZgwRolNatuurlijkPersoon.xsd | 172 ------------------ .../xsd/ZgwRolNietNatuurlijkPersoon.xsd | 144 --------------- .../xsd/ZgwRolOrganisatorischeEenheid.xsd | 69 ------- .../CreeerZaak_LK01/xsd/ZgwRolVestiging.xsd | 118 ------------ 7 files changed, 55 insertions(+), 744 deletions(-) create mode 100644 src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRol.xsd delete mode 100644 src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolMedewerker.xsd delete mode 100644 src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolNatuurlijkPersoon.xsd delete mode 100644 src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolNietNatuurlijkPersoon.xsd delete mode 100644 src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolOrganisatorischeEenheid.xsd delete mode 100644 src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolVestiging.xsd diff --git a/src/main/configurations/Translate/Configuration_Zaken_PostZgwRol.xml b/src/main/configurations/Translate/Configuration_Zaken_PostZgwRol.xml index 42ba7be96..5e540e718 100644 --- a/src/main/configurations/Translate/Configuration_Zaken_PostZgwRol.xml +++ b/src/main/configurations/Translate/Configuration_Zaken_PostZgwRol.xml @@ -12,12 +12,16 @@ - + + + returnedSessionKeys="Error,Authorization" + > @@ -30,87 +34,48 @@ skipEmptyTags="true" styleSheetName="CreeerZaak_LK01/xsl/AddZaakUrl.xsl" > - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + /> + + + - + + - + + diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRol.xsd b/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRol.xsd new file mode 100644 index 000000000..2558d5786 --- /dev/null +++ b/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRol.xsd @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolMedewerker.xsd b/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolMedewerker.xsd deleted file mode 100644 index 82ac047c7..000000000 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolMedewerker.xsd +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolNatuurlijkPersoon.xsd b/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolNatuurlijkPersoon.xsd deleted file mode 100644 index 913d05bc7..000000000 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolNatuurlijkPersoon.xsd +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolNietNatuurlijkPersoon.xsd b/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolNietNatuurlijkPersoon.xsd deleted file mode 100644 index 955038ce4..000000000 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolNietNatuurlijkPersoon.xsd +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolOrganisatorischeEenheid.xsd b/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolOrganisatorischeEenheid.xsd deleted file mode 100644 index e3d72f15c..000000000 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolOrganisatorischeEenheid.xsd +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolVestiging.xsd b/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolVestiging.xsd deleted file mode 100644 index 178c477e9..000000000 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsd/ZgwRolVestiging.xsd +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 0811ce702dc780f60d96a9ebc7666995999a018f Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 15:46:31 +0200 Subject: [PATCH 10/27] refactor: case role betrokkkeneInformatie translation removes empty elements only where appropriate now instead of skipping all empty element always --- .../xsl/CreateZgwBetrokkeneIdentificatie.xsl | 65 +++++++++---------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateZgwBetrokkeneIdentificatie.xsl b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateZgwBetrokkeneIdentificatie.xsl index af694eeb3..607151e52 100644 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateZgwBetrokkeneIdentificatie.xsl +++ b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateZgwBetrokkeneIdentificatie.xsl @@ -1,4 +1,4 @@ - + @@ -25,9 +25,9 @@ - - - + + + @@ -35,14 +35,14 @@ natuurlijk_persoon - - - - - - - - + + + + + + + + @@ -53,11 +53,11 @@ niet_natuurlijk_persoon - - - - - + + + + + @@ -120,7 +120,7 @@ - + @@ -131,9 +131,9 @@ vestiging - - - + + + @@ -153,23 +153,22 @@ - - - + + + - - - - - - - - - + + + + + + + + From 667abae49d1b5ecda6159129face40b3c9e6594d Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 15:49:40 +0200 Subject: [PATCH 11/27] refactor: rewrite of xslt responsible for merging the 2 object updateZaak variant to the 1 object variant --- .../xsl/MergeWordtZaakRollen.xslt | 123 +++++++++--------- 1 file changed, 59 insertions(+), 64 deletions(-) diff --git a/src/main/configurations/Translate/UpdateZaak_LK01/xsl/MergeWordtZaakRollen.xslt b/src/main/configurations/Translate/UpdateZaak_LK01/xsl/MergeWordtZaakRollen.xslt index 10024f5d3..ae91585e3 100644 --- a/src/main/configurations/Translate/UpdateZaak_LK01/xsl/MergeWordtZaakRollen.xslt +++ b/src/main/configurations/Translate/UpdateZaak_LK01/xsl/MergeWordtZaakRollen.xslt @@ -1,69 +1,64 @@ - - - - + + + + + + + - - heeftAlsBelanghebbende - heeftAlsInitiator - heeftAlsUitvoerende - heeftAlsVerantwoordelijke - heeftAlsGemachtigde - heeftAlsOverigBetrokkene - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 57b7625d98d74872ea9af508baf6d528121ad30f Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 16:03:09 +0200 Subject: [PATCH 12/27] refactor: add omschrijving and omschrijvingGeneriek to case role zds to zgw translation to match the zaken api and to retain roltype information --- .../Translate/CreeerZaak_LK01/xsl/CreateRolBody.xsl | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateRolBody.xsl b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateRolBody.xsl index 8affd2b21..5e60723e8 100644 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateRolBody.xsl +++ b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/CreateRolBody.xsl @@ -1,18 +1,19 @@ - + + - - - - - + + + + + From 81135115daa3609fb5f96d8953c0c84e35b47259 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 16:06:08 +0200 Subject: [PATCH 13/27] refactor: move zgw api envelope unwrap to the adapter responsible for making the api call --- .../Configuration_GetZgwRolesByZaakUrl.xml | 53 +++++++++++++------ 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/src/main/configurations/Translate/Configuration_GetZgwRolesByZaakUrl.xml b/src/main/configurations/Translate/Configuration_GetZgwRolesByZaakUrl.xml index e91d21a32..e767be551 100644 --- a/src/main/configurations/Translate/Configuration_GetZgwRolesByZaakUrl.xml +++ b/src/main/configurations/Translate/Configuration_GetZgwRolesByZaakUrl.xml @@ -13,44 +13,67 @@ - + + returnedSessionKeys="Error,Authorization" + > - - + - + /> + - + - + + - + + - - + + + + + + + + + \ No newline at end of file From d11a7697a22a01502183f3984db2b0a155147889 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 16:07:11 +0200 Subject: [PATCH 14/27] fix: case rol geboortedatum throws error when absent or empty in input message --- .../CreeerZaak_LK01/xsl/MapZdsRolFromZgwRol.xslt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/MapZdsRolFromZgwRol.xslt b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/MapZdsRolFromZgwRol.xslt index c2b730ae4..327e4c408 100644 --- a/src/main/configurations/Translate/CreeerZaak_LK01/xsl/MapZdsRolFromZgwRol.xslt +++ b/src/main/configurations/Translate/CreeerZaak_LK01/xsl/MapZdsRolFromZgwRol.xslt @@ -27,7 +27,7 @@ - + @@ -53,7 +53,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -80,7 +80,7 @@ - + From babe98bd79bbad3350dcd6d58707b7d1bae98cc0 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 16:09:25 +0200 Subject: [PATCH 15/27] refactor: xsd for correctly converting a case from xml to json changed to contain only the element which it, so that the ordering of elements is no longer neccesary --- .../Translate/Zgw/Zaken/Model/PostZgwZaak.xsd | 60 +++---------------- 1 file changed, 7 insertions(+), 53 deletions(-) diff --git a/src/main/configurations/Translate/Zgw/Zaken/Model/PostZgwZaak.xsd b/src/main/configurations/Translate/Zgw/Zaken/Model/PostZgwZaak.xsd index 9113db4e1..e07295c0a 100644 --- a/src/main/configurations/Translate/Zgw/Zaken/Model/PostZgwZaak.xsd +++ b/src/main/configurations/Translate/Zgw/Zaken/Model/PostZgwZaak.xsd @@ -4,73 +4,27 @@ - - - - - - - - - - - - - - - + - - - - - - - - - - + + - + - - - - - + - - - - - - - - - - - - - - - - - - - - + - - + \ No newline at end of file From 17e937132c1eafd3b942df7887ada0b197d083ef Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 16:15:11 +0200 Subject: [PATCH 16/27] feat: valueOverrides in the translation profiles can now also be applied to case roles --- .../Common/xsl/ApplyValueOverrides.xsl | 125 ---------- .../Common/xsl/ApplyValueOverrides.xslt | 107 ++++++++ .../xsl/FilterValueOverridesOnKeyRoot.xslt | 31 +++ .../Common/xsl/LookupProcessAsArrayKeys.xslt | 28 +++ .../ValueOverridesDepthFirstUnflatten.xslt | 63 +++++ ..._ApplyTranslationProfileValueOverrides.xml | 45 +++- .../Configuration_DetectRolChanges.xml | 236 +++++++++++------- .../Configuration_GetZdsZaakFromZgw.xml | 31 ++- .../Configuration_MapZdsRolFromZgwRol.xml | 213 ++++++++-------- .../Configuration_UpdateZaak_LK01.xml | 2 +- .../UpdateZaak_LK01/xsl/CheckZgwRol.xslt | 10 +- 11 files changed, 561 insertions(+), 330 deletions(-) delete mode 100644 src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xsl create mode 100644 src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xslt create mode 100644 src/main/configurations/Translate/Common/xsl/FilterValueOverridesOnKeyRoot.xslt create mode 100644 src/main/configurations/Translate/Common/xsl/LookupProcessAsArrayKeys.xslt create mode 100644 src/main/configurations/Translate/Common/xsl/ValueOverridesDepthFirstUnflatten.xslt diff --git a/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xsl b/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xsl deleted file mode 100644 index 8393eb242..000000000 --- a/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xsl +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - evaluate(/betrokkeneIdentificatie/annIdentificatie) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xslt b/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xslt new file mode 100644 index 000000000..1172c5277 --- /dev/null +++ b/src/main/configurations/Translate/Common/xsl/ApplyValueOverrides.xslt @@ -0,0 +1,107 @@ + + + + + + + string-length(.) = 0 + + + + + + + + + + + + + input context: [{serialize(/, $debugSerializeParams)}] + mergeWith context: [{serialize($mergeWith, $debugSerializeParams)}] + + + + + + + + + + + + + + + + + + + + current-merge-key: [{serialize(current-merge-key(), $debugSerializeParams)}] + current-merge-group: [{serialize(current-merge-group(), $debugSerializeParams)}] + + + currentValueOverrideKey: [{serialize($currentValueOverrideKey, $debugSerializeParams)}] + + + valueOverride: [{serialize($valueOverride, $debugSerializeParams)}] + + + + merge-action-route: [processAsArray bypass] + + + + + + merge-action-route: [merge children] + + + + + + + + + + + merge-action-route: [process valueOverride] + + + resolvedValueOverrideCondition: [{serialize($valueOverrideCondition, $debugSerializeParams)}] + + + + + + + + + + context-item: [{serialize($contextItem, $debugSerializeParams)}] + + + evaluateConditionResult: [{serialize($valueOverrideConditionResult, $debugSerializeParams)}] + + + + evaluateConditionResult: [true], using merge-group: [valueOverridesContext] + + + + evaluateConditionResult: [false], using merge-group: [inputContext] + + + + + + merge-action-route: [inputContext value] + + + + + + + + diff --git a/src/main/configurations/Translate/Common/xsl/FilterValueOverridesOnKeyRoot.xslt b/src/main/configurations/Translate/Common/xsl/FilterValueOverridesOnKeyRoot.xslt new file mode 100644 index 000000000..3f8562b11 --- /dev/null +++ b/src/main/configurations/Translate/Common/xsl/FilterValueOverridesOnKeyRoot.xslt @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/configurations/Translate/Common/xsl/LookupProcessAsArrayKeys.xslt b/src/main/configurations/Translate/Common/xsl/LookupProcessAsArrayKeys.xslt new file mode 100644 index 000000000..dddc6889d --- /dev/null +++ b/src/main/configurations/Translate/Common/xsl/LookupProcessAsArrayKeys.xslt @@ -0,0 +1,28 @@ + + + + + + + + + + ZgwZaak.productenOfDiensten, + ZgwZaak.zaakgeometrie.coordinates, + ZgwZaak.relevanteAndereZaken, + ZgwZaak.kenmerken, + ZgwZaak.deelzaken, + ZgwZaak.eigenschappen, + ZgwZaak.rollen, + ZgwZaak.zaakinformatieobjecten, + ZgwZaak.zaakobjecten + + + zgwRol.statussen + zgwRol.betrokkeneIdentificatie.handelsnaam + + + + + \ No newline at end of file diff --git a/src/main/configurations/Translate/Common/xsl/ValueOverridesDepthFirstUnflatten.xslt b/src/main/configurations/Translate/Common/xsl/ValueOverridesDepthFirstUnflatten.xslt new file mode 100644 index 000000000..d6004087c --- /dev/null +++ b/src/main/configurations/Translate/Common/xsl/ValueOverridesDepthFirstUnflatten.xslt @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/configurations/Translate/Configuration_ApplyTranslationProfileValueOverrides.xml b/src/main/configurations/Translate/Configuration_ApplyTranslationProfileValueOverrides.xml index cf1e2e6bd..b46f547d3 100644 --- a/src/main/configurations/Translate/Configuration_ApplyTranslationProfileValueOverrides.xml +++ b/src/main/configurations/Translate/Configuration_ApplyTranslationProfileValueOverrides.xml @@ -42,16 +42,57 @@ styleSheetName="Common/xsl/RenameRootElementInValueOverridesKeys.xsl" storeResultInSessionKey="valueOverrides" > + + + + + + + + + + + + + + + + + + + + + + - + + + diff --git a/src/main/configurations/Translate/Configuration_DetectRolChanges.xml b/src/main/configurations/Translate/Configuration_DetectRolChanges.xml index 1e2d27e66..be79ba134 100644 --- a/src/main/configurations/Translate/Configuration_DetectRolChanges.xml +++ b/src/main/configurations/Translate/Configuration_DetectRolChanges.xml @@ -2,148 +2,208 @@ - + - + + + + + + + + + - - - - - - - - - - + name="CallAddRolToZgwSender" + javaListener="AddRolToZgw" + returnedSessionKeys="Error" + > + + + - - - + + - - - - - - + - - + name="CallImportFromLocalFS" + javaListener="ImportFromLocalFS" + returnedSessionKeys="Error" + > + - - - + + - - - - + + + + + + + + + + + - + styleSheetName="UpdateZaak_LK01/xsl/DetectRolChanges.xslt" + > + + + + + + + + - - + name="CallCheckZgwRolSender" + javaListener="CheckZgwRol" + > + - - + + + name="LogWarningNew" + > + + + + + - + name="CallCheckZgwRolSender" + javaListener="CheckZgwRol" + > + - + + - + + + + + + + storeResultInSessionKey="DeleteRolResult" + > - - - + name="CallDeleteRolSender" + javaListener="DeleteRolFromZgw" + returnedSessionKeys="Error" + > + + - + + - - - - - - - - + returnedSessionKeys="Error" + > + - + - + storeResultInSessionKey="DeleteRolResult" + > - - + returnedSessionKeys="Error" + > + + - - - + + + - - - + + + diff --git a/src/main/configurations/Translate/Configuration_GetZdsZaakFromZgw.xml b/src/main/configurations/Translate/Configuration_GetZdsZaakFromZgw.xml index 2a0225301..c25aae4a3 100644 --- a/src/main/configurations/Translate/Configuration_GetZdsZaakFromZgw.xml +++ b/src/main/configurations/Translate/Configuration_GetZdsZaakFromZgw.xml @@ -46,12 +46,39 @@ - + + + + + + + + + + + + + + + + - - - - - - + active="${MapZdsRolFromZgwRol.Active}" + description=""> + + + + + + - - - - - - - - - - - - - - - - - + + - - - + + + - - - - + + + + - - - + + - - - + + + - - - - + + + + - - - + + - - - + + + - - - - + + + + - - - + + - - - + + + - - - - + + + + - - - + + - - - + + + - - - - + + + + - - - + + - - - + + + - - - - + + + + - - - + + - - - + + + - - - - + + + + - - - - + + + diff --git a/src/main/configurations/Translate/Configuration_UpdateZaak_LK01.xml b/src/main/configurations/Translate/Configuration_UpdateZaak_LK01.xml index 0ae514bcf..61b4bf1f1 100644 --- a/src/main/configurations/Translate/Configuration_UpdateZaak_LK01.xml +++ b/src/main/configurations/Translate/Configuration_UpdateZaak_LK01.xml @@ -232,7 +232,7 @@ - + diff --git a/src/main/configurations/Translate/UpdateZaak_LK01/xsl/CheckZgwRol.xslt b/src/main/configurations/Translate/UpdateZaak_LK01/xsl/CheckZgwRol.xslt index 8c21d9fb3..b7bf241d9 100644 --- a/src/main/configurations/Translate/UpdateZaak_LK01/xsl/CheckZgwRol.xslt +++ b/src/main/configurations/Translate/UpdateZaak_LK01/xsl/CheckZgwRol.xslt @@ -4,14 +4,18 @@ - + - + + + + + @@ -23,7 +27,6 @@ - @@ -32,7 +35,6 @@ - From 9f3f9600e75b82eb0f8e3b2ba488dcb72db94a3a Mon Sep 17 00:00:00 2001 From: MLenterman Date: Thu, 22 Aug 2024 16:16:50 +0200 Subject: [PATCH 17/27] test: larva testcases for validating valueOverrides related adapters and xslt's --- .../configurations/Translate/Profiles.json | 32 +++++++--------- ...lueOverridesStartingWithKeyRoot.properties | 12 ++++++ .../ValueOverrides.xml | 25 +++++++++++++ .../out.xml | 21 +++++++++++ ...eWithShouldResultInInputContext.properties | 11 ++++++ .../in.xml | 15 ++++++++ .../out.xml | 15 ++++++++ ...ShouldMergeWithDefaultCondition.properties | 14 +++++++ .../in.xml | 15 ++++++++ .../mergeWith.xml | 8 ++++ .../out.xml | 16 ++++++++ .../ApplyValueOverrides.properties | 19 ++++++++++ .../ApplyValueOverrides/ValueOverrides.xml | 20 ++++++++++ .../ValueOverrides/ApplyValueOverrides/in.xml | 23 ++++++++++++ .../ApplyValueOverrides/mergeWith.xml | 8 ++++ .../ApplyValueOverrides/out.xml | 24 ++++++++++++ ...ShouldMergeWithDefaultCondition.properties | 17 +++++++++ .../ValueOverrides.xml | 1 + .../in.xml | 15 ++++++++ .../mergeWith.xml | 8 ++++ .../out.xml | 16 ++++++++ ...ShouldUseEmptyInputContextValue.properties | 19 ++++++++++ .../ValueOverrides.xml | 1 + .../in.xml | 5 +++ .../mergeWith.xml | 1 + .../out.xml | 5 +++ ...ilShouldUseNilInputContextValue.properties | 19 ++++++++++ .../ValueOverrides.xml | 1 + .../in.xml | 5 +++ .../mergeWith.xml | 1 + .../out.xml | 5 +++ ...ContextsAndIgnoreValueOverrides.properties | 19 ++++++++++ .../ValueOverrides.xml | 7 ++++ .../in.xml | 23 ++++++++++++ .../mergeWith.xml | 12 ++++++ .../out.xml | 29 +++++++++++++++ ...ntInContextsShouldNotThrowError.properties | 19 ++++++++++ .../ValueOverrides.xml | 7 ++++ .../in.xml | 15 ++++++++ .../mergeWith.xml | 8 ++++ .../out.xml | 16 ++++++++ ...tShouldUseMergeWithContextValue.properties | 17 +++++++++ .../ValueOverrides.xml | 6 +++ .../in.xml | 3 ++ .../mergeWith.xml | 5 +++ .../out.xml | 5 +++ ...yShouldUseMergeWithContextValue.properties | 19 ++++++++++ .../ValueOverrides.xml | 6 +++ .../in.xml | 5 +++ .../mergeWith.xml | 5 +++ .../out.xml | 5 +++ ...lShouldUseMergeWithContextValue.properties | 17 +++++++++ .../ValueOverrides.xml | 6 +++ .../in.xml | 3 ++ .../mergeWith.xml | 5 +++ .../out.xml | 5 +++ ...EmptyShouldUseInputContextValue.properties | 19 ++++++++++ .../ValueOverrides.xml | 6 +++ .../in.xml | 5 +++ .../mergeWith.xml | 5 +++ .../out.xml | 5 +++ ...yShouldResultInDuplicateElement.properties | 13 +++++++ .../ValueOverrides.xml | 37 +++++++++++++++++++ .../out.xml | 8 ++++ ...lueOverridesDepthFirstUnflatten.properties | 14 +++++++ .../ValueOverrides.xml | 21 +++++++++++ .../ValueOverridesDepthFirstUnflatten/out.xml | 8 ++++ 67 files changed, 787 insertions(+), 18 deletions(-) create mode 100644 src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.properties create mode 100644 src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/ValueOverrides.xml create mode 100644 src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/out.xml create mode 100644 src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext.properties create mode 100644 src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext/in.xml create mode 100644 src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext/out.xml create mode 100644 src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition.properties create mode 100644 src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/in.xml create mode 100644 src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/out.xml create mode 100644 src/test/testtool/ValueOverrides/ApplyValueOverrides.properties create mode 100644 src/test/testtool/ValueOverrides/ApplyValueOverrides/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/ApplyValueOverrides/in.xml create mode 100644 src/test/testtool/ValueOverrides/ApplyValueOverrides/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/ApplyValueOverrides/out.xml create mode 100644 src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition.properties create mode 100644 src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/in.xml create mode 100644 src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/out.xml create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue.properties create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/in.xml create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/out.xml create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue.properties create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/in.xml create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/out.xml create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides.properties create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/in.xml create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/out.xml create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError.properties create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/in.xml create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/out.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue.properties create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/in.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/out.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue.properties create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/in.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/out.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue.properties create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/in.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/out.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue.properties create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/in.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/mergeWith.xml create mode 100644 src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/out.xml create mode 100644 src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement.properties create mode 100644 src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement/out.xml create mode 100644 src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten.properties create mode 100644 src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten/ValueOverrides.xml create mode 100644 src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten/out.xml diff --git a/src/main/configurations/Translate/Profiles.json b/src/main/configurations/Translate/Profiles.json index eae947bb3..e832d4921 100644 --- a/src/main/configurations/Translate/Profiles.json +++ b/src/main/configurations/Translate/Profiles.json @@ -1,22 +1,4 @@ { - "profileDefaults": { - "valueOverrides": [ - { - "key": "zgw.zaken-api.zaken.zaak.betalingsindicatie", - "value": "nvt", - "condition": "current() = ''" - }, - { - "key": "zgw.zaken-api.rollen.rol.roltoelichting", - "value": "lalala", - "condition": "true" - }, - { - "key": "zgw.zaken-api.rollen.rol.betrokkeneIdentificatie.annIdentificatie", - "value": "12345678901234567", - "condition": "true" - } - ]}, "profile": [ { "zaakTypeIdentificatie": "B9999", @@ -76,6 +58,20 @@ "endDateAndResultLastStatus": { "coalesceResultaat": "Gave a thing" } + }, + { + "zaakTypeIdentificatie": "VO-A", + "valueOverrides": [ + { + "key": "zgw.zaken-api.zaken.zaak.betalingsindicatie", + "value": "nvt" + }, + { + "key": "zgw.zaken-api.rollen.rol.betrokkeneIdentificatie.geslachtsnaam", + "value": "fromValueOverride", + "condition": "true()" + } + ] } ] } \ No newline at end of file diff --git a/src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.properties b/src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.properties new file mode 100644 index 000000000..b3da3aef4 --- /dev/null +++ b/src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.properties @@ -0,0 +1,12 @@ +scenario.description = ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot + +include =../common.properties + +zaakbrug.ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.filename = Translate/Common/xsl/FilterValueOverridesOnKeyRoot.xslt + +step1.zaakbrug.ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.read = ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/ValueOverrides.xml +step1.zaakbrug.ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.read.param1.name = valueOverrideKeyRoot +step1.zaakbrug.ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.read.param1.value = zgw.zaken-api.rollen.zgwRol +step2.zaakbrug.ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot.write = ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/out.xml + diff --git a/src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/ValueOverrides.xml b/src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/ValueOverrides.xml new file mode 100644 index 000000000..45a566946 --- /dev/null +++ b/src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/ValueOverrides.xml @@ -0,0 +1,25 @@ + + + zgw.zaken-api.zaken.ZgwZaak.betalingsindicatie + nvt + + + zgw.zaken-api.rollen.zgwRol.roltoelichting + lalala + true() + + + zgw.zaken-api.rollen.zgwRol.betrokkeneIdentificatie.inpBsn + apple + true() + + + zgw.zaken-api.rollen.zgwRol.betrokkeneIdentificatie.geslachtsnaam + banana + true() + + + zgw.zaken-api.rollen.zgwRol.betrokkeneIdentificatie.idontexist + kiwi + + \ No newline at end of file diff --git a/src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/out.xml b/src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/out.xml new file mode 100644 index 000000000..c000a0977 --- /dev/null +++ b/src/test/testtool/FilterValueOverridesOnKeyRoot/ValidKeyRootShouldOnlyReturnValueOverridesStartingWithKeyRoot/out.xml @@ -0,0 +1,21 @@ + + + zgwRol.roltoelichting + lalala + true() + + + zgwRol.betrokkeneIdentificatie.inpBsn + apple + true() + + + zgwRol.betrokkeneIdentificatie.geslachtsnaam + banana + true() + + + zgwRol.betrokkeneIdentificatie.idontexist + kiwi + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext.properties b/src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext.properties new file mode 100644 index 000000000..170c81a96 --- /dev/null +++ b/src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext.properties @@ -0,0 +1,11 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = AbsentValueOverridesAndMergeWithShouldResultInInputContext/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param1.value = false +step2.zaakbrug.ApplyValueOverrides.write = AbsentValueOverridesAndMergeWithShouldResultInInputContext/out.xml diff --git a/src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext/in.xml b/src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext/in.xml new file mode 100644 index 000000000..fbb84f60c --- /dev/null +++ b/src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext/in.xml @@ -0,0 +1,15 @@ + + natuurlijk_persoon + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + BetrekkingOp:Precies + + 111111110 + J + Precies + + P + Pietje + m + 1901-01-01 + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext/out.xml b/src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext/out.xml new file mode 100644 index 000000000..4839dc0b3 --- /dev/null +++ b/src/test/testtool/ValueOverrides/AbsentValueOverridesAndMergeWithShouldResultInInputContext/out.xml @@ -0,0 +1,15 @@ + + + J + 1901-01-01 + m + Precies + 111111110 + P + Pietje + + + natuurlijk_persoon + BetrekkingOp:Precies + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition.properties b/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition.properties new file mode 100644 index 000000000..624bf4aa0 --- /dev/null +++ b/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition.properties @@ -0,0 +1,14 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = AbsentValueOverridesShouldMergeWithDefaultCondition/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = AbsentValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param2.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param2.value = false +step2.zaakbrug.ApplyValueOverrides.write = AbsentValueOverridesShouldMergeWithDefaultCondition/out.xml diff --git a/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/in.xml b/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/in.xml new file mode 100644 index 000000000..fbb84f60c --- /dev/null +++ b/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/in.xml @@ -0,0 +1,15 @@ + + natuurlijk_persoon + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + BetrekkingOp:Precies + + 111111110 + J + Precies + + P + Pietje + m + 1901-01-01 + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml b/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml new file mode 100644 index 000000000..95cb727b0 --- /dev/null +++ b/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml @@ -0,0 +1,8 @@ + + lalala + + apple + banana + kiwi + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/out.xml b/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/out.xml new file mode 100644 index 000000000..4cde24bd0 --- /dev/null +++ b/src/test/testtool/ValueOverrides/AbsentValueOverridesShouldMergeWithDefaultCondition/out.xml @@ -0,0 +1,16 @@ + + + J + 1901-01-01 + m + Precies + kiwi + 111111110 + P + Pietje + + + natuurlijk_persoon + BetrekkingOp:Precies + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ApplyValueOverrides.properties b/src/test/testtool/ValueOverrides/ApplyValueOverrides.properties new file mode 100644 index 000000000..aa1b37730 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ApplyValueOverrides.properties @@ -0,0 +1,19 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = ApplyValueOverrides/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = ApplyValueOverrides/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = ApplyValueOverrides/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step1.zaakbrug.ApplyValueOverrides.read.param4.name = processAsArrayKeys +step1.zaakbrug.ApplyValueOverrides.read.param4.value = zgwRol.kenmerken +step2.zaakbrug.ApplyValueOverrides.write = ApplyValueOverrides/out.xml diff --git a/src/test/testtool/ValueOverrides/ApplyValueOverrides/ValueOverrides.xml b/src/test/testtool/ValueOverrides/ApplyValueOverrides/ValueOverrides.xml new file mode 100644 index 000000000..52f04ca94 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ApplyValueOverrides/ValueOverrides.xml @@ -0,0 +1,20 @@ + + + zgwRol.roltoelichting + lalala + true() + + + zgwRol.betrokkeneIdentificatie.inpBsn + apple + true() + + + zgwRol.betrokkeneIdentificatie.geslachtsnaam + shouldUseDefaultCondition + + + zgwRol.betrokkeneIdentificatie.idontexist + shouldUseDefaultCondition + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ApplyValueOverrides/in.xml b/src/test/testtool/ValueOverrides/ApplyValueOverrides/in.xml new file mode 100644 index 000000000..186035833 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ApplyValueOverrides/in.xml @@ -0,0 +1,23 @@ + + natuurlijk_persoon + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + BetrekkingOp:Precies + + 111111110 + J + Precies + + P + Pietje + m + 1901-01-01 + + + kenmerk1 + larva + + + kenmerk2 + larva + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ApplyValueOverrides/mergeWith.xml b/src/test/testtool/ValueOverrides/ApplyValueOverrides/mergeWith.xml new file mode 100644 index 000000000..3442cee9c --- /dev/null +++ b/src/test/testtool/ValueOverrides/ApplyValueOverrides/mergeWith.xml @@ -0,0 +1,8 @@ + + lalala + + apple + banana + kiwi + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ApplyValueOverrides/out.xml b/src/test/testtool/ValueOverrides/ApplyValueOverrides/out.xml new file mode 100644 index 000000000..c76093cf7 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ApplyValueOverrides/out.xml @@ -0,0 +1,24 @@ + + + J + 1901-01-01 + m + Precies + kiwi + apple + P + Pietje + + + natuurlijk_persoon + + kenmerk1 + larva + + + kenmerk2 + larva + + lalala + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition.properties b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition.properties new file mode 100644 index 000000000..54daf98e1 --- /dev/null +++ b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition.properties @@ -0,0 +1,17 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = EmptyRootValueOverridesShouldMergeWithDefaultCondition/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = EmptyRootValueOverridesShouldMergeWithDefaultCondition/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = EmptyRootValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step2.zaakbrug.ApplyValueOverrides.write = EmptyRootValueOverridesShouldMergeWithDefaultCondition/out.xml diff --git a/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/ValueOverrides.xml b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/ValueOverrides.xml new file mode 100644 index 000000000..635b93e76 --- /dev/null +++ b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/ValueOverrides.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/in.xml b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/in.xml new file mode 100644 index 000000000..fbb84f60c --- /dev/null +++ b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/in.xml @@ -0,0 +1,15 @@ + + natuurlijk_persoon + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + BetrekkingOp:Precies + + 111111110 + J + Precies + + P + Pietje + m + 1901-01-01 + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml new file mode 100644 index 000000000..3442cee9c --- /dev/null +++ b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/mergeWith.xml @@ -0,0 +1,8 @@ + + lalala + + apple + banana + kiwi + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/out.xml b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/out.xml new file mode 100644 index 000000000..4cde24bd0 --- /dev/null +++ b/src/test/testtool/ValueOverrides/EmptyRootValueOverridesShouldMergeWithDefaultCondition/out.xml @@ -0,0 +1,16 @@ + + + J + 1901-01-01 + m + Precies + kiwi + 111111110 + P + Pietje + + + natuurlijk_persoon + BetrekkingOp:Precies + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue.properties b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue.properties new file mode 100644 index 000000000..53b5821f2 --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue.properties @@ -0,0 +1,19 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step1.zaakbrug.ApplyValueOverrides.read.param4.name = processAsArrayKeys +step1.zaakbrug.ApplyValueOverrides.read.param4.value = zgwRol.kenmerken +step2.zaakbrug.ApplyValueOverrides.write = NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/out.xml diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/ValueOverrides.xml b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/ValueOverrides.xml new file mode 100644 index 000000000..635b93e76 --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/ValueOverrides.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/in.xml b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/in.xml new file mode 100644 index 000000000..d05f1ba38 --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/in.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/mergeWith.xml b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/mergeWith.xml new file mode 100644 index 000000000..e30b2c9ac --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/mergeWith.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/out.xml b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/out.xml new file mode 100644 index 000000000..432d465aa --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseEmptyInputContextValue/out.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue.properties b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue.properties new file mode 100644 index 000000000..d71d5133d --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue.properties @@ -0,0 +1,19 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step1.zaakbrug.ApplyValueOverrides.read.param4.name = processAsArrayKeys +step1.zaakbrug.ApplyValueOverrides.read.param4.value = zgwRol.kenmerken +step2.zaakbrug.ApplyValueOverrides.write = NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/out.xml diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/ValueOverrides.xml b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/ValueOverrides.xml new file mode 100644 index 000000000..635b93e76 --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/ValueOverrides.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/in.xml b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/in.xml new file mode 100644 index 000000000..c8c547e8f --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/in.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/mergeWith.xml b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/mergeWith.xml new file mode 100644 index 000000000..e30b2c9ac --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/mergeWith.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/out.xml b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/out.xml new file mode 100644 index 000000000..25f0f1cdf --- /dev/null +++ b/src/test/testtool/ValueOverrides/NoValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseNilInputContextValue/out.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides.properties b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides.properties new file mode 100644 index 000000000..9141e0e1d --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides.properties @@ -0,0 +1,19 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step1.zaakbrug.ApplyValueOverrides.read.param4.name = processAsArrayKeys +step1.zaakbrug.ApplyValueOverrides.read.param4.value = zgwRol.kenmerken +step2.zaakbrug.ApplyValueOverrides.write = ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/out.xml diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/ValueOverrides.xml b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/ValueOverrides.xml new file mode 100644 index 000000000..bab80fbdb --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/ValueOverrides.xml @@ -0,0 +1,7 @@ + + + zgwRol.kenmerken + lalala + true() + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/in.xml b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/in.xml new file mode 100644 index 000000000..186035833 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/in.xml @@ -0,0 +1,23 @@ + + natuurlijk_persoon + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + BetrekkingOp:Precies + + 111111110 + J + Precies + + P + Pietje + m + 1901-01-01 + + + kenmerk1 + larva + + + kenmerk2 + larva + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/mergeWith.xml b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/mergeWith.xml new file mode 100644 index 000000000..470e5869a --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/mergeWith.xml @@ -0,0 +1,12 @@ + + lalala + + apple + banana + kiwi + + + kenmerk3 + larva + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/out.xml b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/out.xml new file mode 100644 index 000000000..5ec2aed91 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyShouldCopyElementsFromBothContextsAndIgnoreValueOverrides/out.xml @@ -0,0 +1,29 @@ + + + J + 1901-01-01 + m + Precies + kiwi + 111111110 + P + Pietje + + + natuurlijk_persoon + + kenmerk1 + larva + + + kenmerk2 + larva + + + kenmerk3 + larva + + BetrekkingOp:Precies + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError.properties b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError.properties new file mode 100644 index 000000000..382fa4d60 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError.properties @@ -0,0 +1,19 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step1.zaakbrug.ApplyValueOverrides.read.param4.name = processAsArrayKeys +step1.zaakbrug.ApplyValueOverrides.read.param4.value = zgwRol.imnotinthecontexts +step2.zaakbrug.ApplyValueOverrides.write = ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/out.xml diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/ValueOverrides.xml b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/ValueOverrides.xml new file mode 100644 index 000000000..4c3f9df59 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/ValueOverrides.xml @@ -0,0 +1,7 @@ + + + zgwRol.roltoelichting + lalala + true() + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/in.xml b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/in.xml new file mode 100644 index 000000000..fbb84f60c --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/in.xml @@ -0,0 +1,15 @@ + + natuurlijk_persoon + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + BetrekkingOp:Precies + + 111111110 + J + Precies + + P + Pietje + m + 1901-01-01 + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/mergeWith.xml b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/mergeWith.xml new file mode 100644 index 000000000..95cb727b0 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/mergeWith.xml @@ -0,0 +1,8 @@ + + lalala + + apple + banana + kiwi + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/out.xml b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/out.xml new file mode 100644 index 000000000..37a720196 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ProcessAsArrayKeyWithElementAbsentInContextsShouldNotThrowError/out.xml @@ -0,0 +1,16 @@ + + + J + 1901-01-01 + m + Precies + kiwi + 111111110 + P + Pietje + + + natuurlijk_persoon + lalala + http://open-zaak.nginx:9001/catalogi/api/v1/roltypen/91d7e379-06a8-42c6-bcec-19990dccbc9a + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue.properties b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue.properties new file mode 100644 index 000000000..265b1ac8e --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue.properties @@ -0,0 +1,17 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step2.zaakbrug.ApplyValueOverrides.write = ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/out.xml diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/ValueOverrides.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/ValueOverrides.xml new file mode 100644 index 000000000..329dfeee1 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/ValueOverrides.xml @@ -0,0 +1,6 @@ + + + zgwRol.betrokkeneIdentificatie.voornamen + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/in.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/in.xml new file mode 100644 index 000000000..079f8fb56 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/in.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/mergeWith.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/mergeWith.xml new file mode 100644 index 000000000..c564a8f65 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/mergeWith.xml @@ -0,0 +1,5 @@ + + + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/out.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/out.xml new file mode 100644 index 000000000..c564a8f65 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextAbsentShouldUseMergeWithContextValue/out.xml @@ -0,0 +1,5 @@ + + + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue.properties b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue.properties new file mode 100644 index 000000000..56b76feb2 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue.properties @@ -0,0 +1,19 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step1.zaakbrug.ApplyValueOverrides.read.param4.name = processAsArrayKeys +step1.zaakbrug.ApplyValueOverrides.read.param4.value = zgwRol.kenmerken +step2.zaakbrug.ApplyValueOverrides.write = ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/out.xml diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/ValueOverrides.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/ValueOverrides.xml new file mode 100644 index 000000000..329dfeee1 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/ValueOverrides.xml @@ -0,0 +1,6 @@ + + + zgwRol.betrokkeneIdentificatie.voornamen + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/in.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/in.xml new file mode 100644 index 000000000..d05f1ba38 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/in.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/mergeWith.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/mergeWith.xml new file mode 100644 index 000000000..c564a8f65 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/mergeWith.xml @@ -0,0 +1,5 @@ + + + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/out.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/out.xml new file mode 100644 index 000000000..c564a8f65 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextEmptyShouldUseMergeWithContextValue/out.xml @@ -0,0 +1,5 @@ + + + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue.properties b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue.properties new file mode 100644 index 000000000..5152aa6ff --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue.properties @@ -0,0 +1,17 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step2.zaakbrug.ApplyValueOverrides.write = ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/out.xml diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/ValueOverrides.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/ValueOverrides.xml new file mode 100644 index 000000000..329dfeee1 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/ValueOverrides.xml @@ -0,0 +1,6 @@ + + + zgwRol.betrokkeneIdentificatie.voornamen + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/in.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/in.xml new file mode 100644 index 000000000..222bb8c9c --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/in.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/mergeWith.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/mergeWith.xml new file mode 100644 index 000000000..c564a8f65 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/mergeWith.xml @@ -0,0 +1,5 @@ + + + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/out.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/out.xml new file mode 100644 index 000000000..7adc035d2 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNilShouldUseMergeWithContextValue/out.xml @@ -0,0 +1,5 @@ + + + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue.properties b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue.properties new file mode 100644 index 000000000..3f1fd7a0b --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue.properties @@ -0,0 +1,19 @@ +scenario.description = + +include =../common.properties + +zaakbrug.ApplyValueOverrides.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ApplyValueOverrides.filename = Translate/Common/xsl/ApplyValueOverrides.xslt + +step1.zaakbrug.ApplyValueOverrides.read = ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/in.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.name = valueOverrides +step1.zaakbrug.ApplyValueOverrides.read.param1.valuefile = ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/ValueOverrides.xml +step1.zaakbrug.ApplyValueOverrides.read.param1.type = node +step1.zaakbrug.ApplyValueOverrides.read.param2.name = mergeWith +step1.zaakbrug.ApplyValueOverrides.read.param2.valuefile = ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/mergeWith.xml +step1.zaakbrug.ApplyValueOverrides.read.param2.type = domdoc +step1.zaakbrug.ApplyValueOverrides.read.param3.name = debug +step1.zaakbrug.ApplyValueOverrides.read.param3.value = false +step1.zaakbrug.ApplyValueOverrides.read.param4.name = processAsArrayKeys +step1.zaakbrug.ApplyValueOverrides.read.param4.value = zgwRol.kenmerken +step2.zaakbrug.ApplyValueOverrides.write = ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/out.xml diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/ValueOverrides.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/ValueOverrides.xml new file mode 100644 index 000000000..329dfeee1 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/ValueOverrides.xml @@ -0,0 +1,6 @@ + + + zgwRol.betrokkeneIdentificatie.voornamen + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/in.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/in.xml new file mode 100644 index 000000000..58365a313 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/in.xml @@ -0,0 +1,5 @@ + + + nonEmptyInputContextValue + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/mergeWith.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/mergeWith.xml new file mode 100644 index 000000000..c564a8f65 --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/mergeWith.xml @@ -0,0 +1,5 @@ + + + valueFromOverride + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/out.xml b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/out.xml new file mode 100644 index 000000000..a44b021df --- /dev/null +++ b/src/test/testtool/ValueOverrides/ValueOverrideWithDefaultConditionAndElementInInputContextNonEmptyShouldUseInputContextValue/out.xml @@ -0,0 +1,5 @@ + + + nonEmptyInputContextValue + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement.properties b/src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement.properties new file mode 100644 index 000000000..5dd07ee97 --- /dev/null +++ b/src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement.properties @@ -0,0 +1,13 @@ +scenario.description = DuplicateKeyShouldResultInDuplicateElement + +include =../common.properties + +zaakbrug.DuplicateKeyShouldResultInDuplicateElement.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.DuplicateKeyShouldResultInDuplicateElement.filename = Translate/Common/xsl/ValueOverridesDepthFirstUnflatten.xslt + +step1.zaakbrug.DuplicateKeyShouldResultInDuplicateElement.read = DuplicateKeyShouldResultInDuplicateElement/ValueOverrides.xml +step1.zaakbrug.DuplicateKeyShouldResultInDuplicateElement.read.param1.name = valueOverrides +step1.zaakbrug.DuplicateKeyShouldResultInDuplicateElement.read.param1.valuefile = DuplicateKeyShouldResultInDuplicateElement/ValueOverrides.xml +step1.zaakbrug.DuplicateKeyShouldResultInDuplicateElement.read.param1.type = node +step2.zaakbrug.DuplicateKeyShouldResultInDuplicateElement.write = DuplicateKeyShouldResultInDuplicateElement/out.xml + diff --git a/src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement/ValueOverrides.xml b/src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement/ValueOverrides.xml new file mode 100644 index 000000000..e0c204807 --- /dev/null +++ b/src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement/ValueOverrides.xml @@ -0,0 +1,37 @@ + + + zgwRol.roltoelichting + lalala + true() + + + zgwRol.betrokkeneIdentificatie.inpBsn + apple + true() + + + zgwRol.betrokkeneIdentificatie.geslachtsnaam + banana + true() + + + zgwRol.betrokkeneIdentificatie.idontexist + kiwi + + + zgwRol.kenmerken.kenmerk + kenmerk1 + + + zgwRol.kenmerken.bron + larva + + + zgwRol.kenmerken.kenmerk + kenmerk2 + + + zgwRol.kenmerken.bron + larva + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement/out.xml b/src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement/out.xml new file mode 100644 index 000000000..3442cee9c --- /dev/null +++ b/src/test/testtool/ValueOverridesDepthFirstUnflatten/DuplicateKeyShouldResultInDuplicateElement/out.xml @@ -0,0 +1,8 @@ + + lalala + + apple + banana + kiwi + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten.properties b/src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten.properties new file mode 100644 index 000000000..f8483f4cc --- /dev/null +++ b/src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten.properties @@ -0,0 +1,14 @@ +scenario.description = ValueOverridesDepthFirstUnflatten + +include =../common.properties + +zaakbrug.ValueOverridesDepthFirstUnflatten.className = nl.nn.adapterframework.testtool.XsltProviderListener +zaakbrug.ValueOverridesDepthFirstUnflatten.filename = Translate/Common/xsl/ValueOverridesDepthFirstUnflatten.xslt + +# step1.zaakbrug.ValueOverridesDepthFirstUnflatten.read = ../dummy.xml +step1.zaakbrug.ValueOverridesDepthFirstUnflatten.read = ValueOverridesDepthFirstUnflatten/ValueOverrides.xml +step1.zaakbrug.ValueOverridesDepthFirstUnflatten.read.param1.name = valueOverrides +step1.zaakbrug.ValueOverridesDepthFirstUnflatten.read.param1.valuefile = ValueOverridesDepthFirstUnflatten/ValueOverrides.xml +step1.zaakbrug.ValueOverridesDepthFirstUnflatten.read.param1.type = node +step2.zaakbrug.ValueOverridesDepthFirstUnflatten.write = ValueOverridesDepthFirstUnflatten/out.xml + diff --git a/src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten/ValueOverrides.xml b/src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten/ValueOverrides.xml new file mode 100644 index 000000000..3bad7abca --- /dev/null +++ b/src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten/ValueOverrides.xml @@ -0,0 +1,21 @@ + + + zgwRol.roltoelichting + lalala + true() + + + zgwRol.betrokkeneIdentificatie.inpBsn + apple + true() + + + zgwRol.betrokkeneIdentificatie.geslachtsnaam + banana + true() + + + zgwRol.betrokkeneIdentificatie.idontexist + kiwi + + \ No newline at end of file diff --git a/src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten/out.xml b/src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten/out.xml new file mode 100644 index 000000000..3442cee9c --- /dev/null +++ b/src/test/testtool/ValueOverridesDepthFirstUnflatten/ValueOverridesDepthFirstUnflatten/out.xml @@ -0,0 +1,8 @@ + + lalala + + apple + banana + kiwi + + \ No newline at end of file From c842152ee0bea81e57b352826f0a16e1accb1edf Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 30 Aug 2024 10:12:32 +0000 Subject: [PATCH 18/27] chore(minor): release 1.21.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## [1.21.0](https://github.com/wearefrank/zaakbrug/compare/v1.20.2...v1.21.0) (2024-08-30) ### 🍕 Features * valueOverrides in the translation profiles can now also be applied to case roles ([17e9371](https://github.com/wearefrank/zaakbrug/commit/17e937132c1eafd3b942df7887ada0b197d083ef)) ### 🐛 Bug Fixes * case rol geboortedatum throws error when absent or empty in input message ([d11a769](https://github.com/wearefrank/zaakbrug/commit/d11a7697a22a01502183f3984db2b0a155147889)) * map annIdentificatie field from zds to zgw ([38378da](https://github.com/wearefrank/zaakbrug/commit/38378da451065f086911041ac54db7f30e2d6722)) ### 🧑‍💻 Code Refactoring * add omschrijving and omschrijvingGeneriek to case role zds to zgw translation to match the zaken api and to retain roltype information ([57b7625](https://github.com/wearefrank/zaakbrug/commit/57b7625d98d74872ea9af508baf6d528121ad30f)) * case role betrokkkeneInformatie translation removes empty elements only where appropriate now instead of skipping all empty element always ([0811ce7](https://github.com/wearefrank/zaakbrug/commit/0811ce702dc780f60d96a9ebc7666995999a018f)) * move zgw api envelope unwrap to the adapter responsible for making the api call ([8113511](https://github.com/wearefrank/zaakbrug/commit/81135115daa3609fb5f96d8953c0c84e35b47259)) * rewrite of xslt responsible for merging the 2 object updateZaak variant to the 1 object variant ([667abae](https://github.com/wearefrank/zaakbrug/commit/667abae49d1b5ecda6159129face40b3c9e6594d)) * xsd for correctly converting a case from xml to json changed to contain only the element which it, so that the ordering of elements is no longer neccesary ([babe98b](https://github.com/wearefrank/zaakbrug/commit/babe98bd79bbad3350dcd6d58707b7d1bae98cc0)) * xsd's for correctly converting xml to json changed to contain element which require it, so that the ordering of elements in no longer necessary ([522acf3](https://github.com/wearefrank/zaakbrug/commit/522acf348da434665158a7096e7a0478fa3aed03)) ### ✅ Tests * e2e testcases for valueOverrides system ([a8206cf](https://github.com/wearefrank/zaakbrug/commit/a8206cf02ab5c8aa9689e53181a145cdf7588357)) * larva testcases for validating valueOverrides related adapters and xslt's ([9f3f960](https://github.com/wearefrank/zaakbrug/commit/9f3f9600e75b82eb0f8e3b2ba488dcb72db94a3a)) ### 🤖 Build System * **dependencies:** bump the docusaurus group across 1 directory with 6 updates ([#433](https://github.com/wearefrank/zaakbrug/issues/433)) ([9662a51](https://github.com/wearefrank/zaakbrug/commit/9662a51be17fd219ed50e2d6852c689d7a450fd9)) * **dependencies:** bump the github-actions group across 1 directory with 4 updates ([#435](https://github.com/wearefrank/zaakbrug/issues/435)) ([b044ba2](https://github.com/wearefrank/zaakbrug/commit/b044ba2cc832c05a867054387856bcbe3ea540eb)) --- CHANGELOG.md | 30 +++++++++++++++++++++++++ src/main/resources/BuildInfo.properties | 4 ++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 494d7d6a6..eb49d8c91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,35 @@ [![conventional commits](https://img.shields.io/badge/conventional%20commits-1.0.0-yellow.svg)](https://conventionalcommits.org) [![semantic versioning](https://img.shields.io/badge/semantic%20versioning-2.0.0-green.svg)](https://semver.org) +## [1.21.0](https://github.com/wearefrank/zaakbrug/compare/v1.20.2...v1.21.0) (2024-08-30) + +### 🍕 Features + +* valueOverrides in the translation profiles can now also be applied to case roles ([17e9371](https://github.com/wearefrank/zaakbrug/commit/17e937132c1eafd3b942df7887ada0b197d083ef)) + +### 🐛 Bug Fixes + +* case rol geboortedatum throws error when absent or empty in input message ([d11a769](https://github.com/wearefrank/zaakbrug/commit/d11a7697a22a01502183f3984db2b0a155147889)) +* map annIdentificatie field from zds to zgw ([38378da](https://github.com/wearefrank/zaakbrug/commit/38378da451065f086911041ac54db7f30e2d6722)) + +### 🧑‍💻 Code Refactoring + +* add omschrijving and omschrijvingGeneriek to case role zds to zgw translation to match the zaken api and to retain roltype information ([57b7625](https://github.com/wearefrank/zaakbrug/commit/57b7625d98d74872ea9af508baf6d528121ad30f)) +* case role betrokkkeneInformatie translation removes empty elements only where appropriate now instead of skipping all empty element always ([0811ce7](https://github.com/wearefrank/zaakbrug/commit/0811ce702dc780f60d96a9ebc7666995999a018f)) +* move zgw api envelope unwrap to the adapter responsible for making the api call ([8113511](https://github.com/wearefrank/zaakbrug/commit/81135115daa3609fb5f96d8953c0c84e35b47259)) +* rewrite of xslt responsible for merging the 2 object updateZaak variant to the 1 object variant ([667abae](https://github.com/wearefrank/zaakbrug/commit/667abae49d1b5ecda6159129face40b3c9e6594d)) +* xsd for correctly converting a case from xml to json changed to contain only the element which it, so that the ordering of elements is no longer neccesary ([babe98b](https://github.com/wearefrank/zaakbrug/commit/babe98bd79bbad3350dcd6d58707b7d1bae98cc0)) +* xsd's for correctly converting xml to json changed to contain element which require it, so that the ordering of elements in no longer necessary ([522acf3](https://github.com/wearefrank/zaakbrug/commit/522acf348da434665158a7096e7a0478fa3aed03)) + +### ✅ Tests + +* e2e testcases for valueOverrides system ([a8206cf](https://github.com/wearefrank/zaakbrug/commit/a8206cf02ab5c8aa9689e53181a145cdf7588357)) +* larva testcases for validating valueOverrides related adapters and xslt's ([9f3f960](https://github.com/wearefrank/zaakbrug/commit/9f3f9600e75b82eb0f8e3b2ba488dcb72db94a3a)) + +### 🤖 Build System + +* **dependencies:** bump the docusaurus group across 1 directory with 6 updates ([#433](https://github.com/wearefrank/zaakbrug/issues/433)) ([9662a51](https://github.com/wearefrank/zaakbrug/commit/9662a51be17fd219ed50e2d6852c689d7a450fd9)) +* **dependencies:** bump the github-actions group across 1 directory with 4 updates ([#435](https://github.com/wearefrank/zaakbrug/issues/435)) ([b044ba2](https://github.com/wearefrank/zaakbrug/commit/b044ba2cc832c05a867054387856bcbe3ea540eb)) + ## [1.20.2](https://github.com/wearefrank/zaakbrug/compare/v1.20.1...v1.20.2) (2024-07-26) ### 🤖 Build System diff --git a/src/main/resources/BuildInfo.properties b/src/main/resources/BuildInfo.properties index 45edb36c0..c8365b18b 100644 --- a/src/main/resources/BuildInfo.properties +++ b/src/main/resources/BuildInfo.properties @@ -1,2 +1,2 @@ -instance.version=1.20.2 -versionDate_ddmmyyyy=26/07/2024 +instance.version=1.21.0 +versionDate_ddmmyyyy=30/08/2024 From ac0cadea0d99fcf3ab8d0c2d5fc5a1a66d5bf297 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Tue, 3 Sep 2024 14:56:57 +0200 Subject: [PATCH 19/27] test: change delete&add roles testcase to use initiator instead so that order of operation is checked aswell --- e2e/SoapUI/zaakbrug-e2e-soapui-project.xml | 47 ++++++++++++++-------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/e2e/SoapUI/zaakbrug-e2e-soapui-project.xml b/e2e/SoapUI/zaakbrug-e2e-soapui-project.xml index 0c85b4c7c..ddff7e0a2 100644 --- a/e2e/SoapUI/zaakbrug-e2e-soapui-project.xml +++ b/e2e/SoapUI/zaakbrug-e2e-soapui-project.xml @@ -21708,13 +21708,6 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' \r zaak object omschrijving\r \r - - - - 111111110 - - - \r \r \r @@ -21836,13 +21829,35 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' \r \r \r - - + + 111111110 + J + Precies + + P.J. + Piet Je + V + 19500101 + + 0091200000046730 + J + Sneek + Marktstraat + Marktstraat + 8601CR + 15 + + + + - + B1210 + Rolomschrijving + Roltoelichting + \r \r ${Properties#ZaakIdentificatie}\r @@ -21860,7 +21875,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' \r \r \r - + 000021774684 @@ -21880,7 +21895,7 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + \r \r \r @@ -21946,18 +21961,18 @@ testRunner.testCase.getTestStepByName("Properties").setPropertyValue( 'JwtToken' - + - string-length(//*:object/*:heeftAlsBelanghebbende/*:gerelateerde/*:natuurlijkPersoon/*:inp.bsn) + string-length(//*:object/*:heeftAlsInitiator/*:gerelateerde/*:natuurlijkPersoon/*:inp.bsn) 0 false false false - + - //*:object/*:heeftAlsBelanghebbende/*:gerelateerde/*:vestiging/*:vestigingsNummer + //*:object/*:heeftAlsInitiator/*:gerelateerde/*:vestiging/*:vestigingsNummer 000021774684 false false From 34ff319fd990a824b885bcd473ff4fe8160537a6 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Tue, 3 Sep 2024 15:01:40 +0200 Subject: [PATCH 20/27] fix: updateZaak when deleting an existing gerelateerde and add new one back on the same role performs add action before delete action resulting in an error when only 1 of that roltype is allowed --- .../Translate/Configuration_RolHandler.xml | 21 ++++++++++++-- .../Configuration_UpdateZaak_LK01.xml | 29 ++++++++++++++++--- 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/src/main/configurations/Translate/Configuration_RolHandler.xml b/src/main/configurations/Translate/Configuration_RolHandler.xml index ba7de7831..cc6429c67 100644 --- a/src/main/configurations/Translate/Configuration_RolHandler.xml +++ b/src/main/configurations/Translate/Configuration_RolHandler.xml @@ -32,11 +32,26 @@ skipEmptyTags="true" styleSheetName="UpdateZaak_LK01/xsl/SetRoles.xsl" > - + - + + + + + + + + - + - + + + + + + + + + + + + + - + Date: Tue, 3 Sep 2024 14:23:02 +0000 Subject: [PATCH 21/27] chore(patch): release 1.21.1 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## [1.21.1](https://github.com/wearefrank/zaakbrug/compare/v1.21.0...v1.21.1) (2024-09-03) ### 🐛 Bug Fixes * updateZaak when deleting an existing gerelateerde and add new one back on the same role performs add action before delete action resulting in an error when only 1 of that roltype is allowed ([34ff319](https://github.com/wearefrank/zaakbrug/commit/34ff319fd990a824b885bcd473ff4fe8160537a6)) ### ✅ Tests * change delete&add roles testcase to use initiator instead so that order of operation is checked aswell ([ac0cade](https://github.com/wearefrank/zaakbrug/commit/ac0cadea0d99fcf3ab8d0c2d5fc5a1a66d5bf297)) --- CHANGELOG.md | 10 ++++++++++ src/main/resources/BuildInfo.properties | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb49d8c91..5c2e70c86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ [![conventional commits](https://img.shields.io/badge/conventional%20commits-1.0.0-yellow.svg)](https://conventionalcommits.org) [![semantic versioning](https://img.shields.io/badge/semantic%20versioning-2.0.0-green.svg)](https://semver.org) +## [1.21.1](https://github.com/wearefrank/zaakbrug/compare/v1.21.0...v1.21.1) (2024-09-03) + +### 🐛 Bug Fixes + +* updateZaak when deleting an existing gerelateerde and add new one back on the same role performs add action before delete action resulting in an error when only 1 of that roltype is allowed ([34ff319](https://github.com/wearefrank/zaakbrug/commit/34ff319fd990a824b885bcd473ff4fe8160537a6)) + +### ✅ Tests + +* change delete&add roles testcase to use initiator instead so that order of operation is checked aswell ([ac0cade](https://github.com/wearefrank/zaakbrug/commit/ac0cadea0d99fcf3ab8d0c2d5fc5a1a66d5bf297)) + ## [1.21.0](https://github.com/wearefrank/zaakbrug/compare/v1.20.2...v1.21.0) (2024-08-30) ### 🍕 Features diff --git a/src/main/resources/BuildInfo.properties b/src/main/resources/BuildInfo.properties index c8365b18b..76ea16b6e 100644 --- a/src/main/resources/BuildInfo.properties +++ b/src/main/resources/BuildInfo.properties @@ -1,2 +1,2 @@ -instance.version=1.21.0 -versionDate_ddmmyyyy=30/08/2024 +instance.version=1.21.1 +versionDate_ddmmyyyy=03/09/2024 From c3343e12eb52bf059b25a459c6f78e7e2d64de5a Mon Sep 17 00:00:00 2001 From: MLenterman Date: Wed, 4 Sep 2024 13:20:47 +0200 Subject: [PATCH 22/27] refactor: skip empty query parameters in GetRolByZaakUrlAndRolTypeUrl adapter --- .../Translate/Configuration_GetRolByZaakUrlAndRolTypeUrl.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/configurations/Translate/Configuration_GetRolByZaakUrlAndRolTypeUrl.xml b/src/main/configurations/Translate/Configuration_GetRolByZaakUrlAndRolTypeUrl.xml index 6b349da80..e3a9f9ae4 100644 --- a/src/main/configurations/Translate/Configuration_GetRolByZaakUrlAndRolTypeUrl.xml +++ b/src/main/configurations/Translate/Configuration_GetRolByZaakUrlAndRolTypeUrl.xml @@ -31,6 +31,7 @@ methodType="GET" headersParams="Authorization,Accept-Crs" timeout="${zaakbrug.zgw.zaken-api.timeout}" + parametersToSkipWhenEmpty="*" /> From 322feac925eb65ef657b05acc0270f690d7ea60a Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 4 Sep 2024 11:32:10 +0000 Subject: [PATCH 23/27] chore(patch): release 1.21.2 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## [1.21.2](https://github.com/wearefrank/zaakbrug/compare/v1.21.1...v1.21.2) (2024-09-04) ### 🧑‍💻 Code Refactoring * skip empty query parameters in GetRolByZaakUrlAndRolTypeUrl adapter ([c3343e1](https://github.com/wearefrank/zaakbrug/commit/c3343e12eb52bf059b25a459c6f78e7e2d64de5a)) --- CHANGELOG.md | 6 ++++++ src/main/resources/BuildInfo.properties | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c2e70c86..9959b9a14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ [![conventional commits](https://img.shields.io/badge/conventional%20commits-1.0.0-yellow.svg)](https://conventionalcommits.org) [![semantic versioning](https://img.shields.io/badge/semantic%20versioning-2.0.0-green.svg)](https://semver.org) +## [1.21.2](https://github.com/wearefrank/zaakbrug/compare/v1.21.1...v1.21.2) (2024-09-04) + +### 🧑‍💻 Code Refactoring + +* skip empty query parameters in GetRolByZaakUrlAndRolTypeUrl adapter ([c3343e1](https://github.com/wearefrank/zaakbrug/commit/c3343e12eb52bf059b25a459c6f78e7e2d64de5a)) + ## [1.21.1](https://github.com/wearefrank/zaakbrug/compare/v1.21.0...v1.21.1) (2024-09-03) ### 🐛 Bug Fixes diff --git a/src/main/resources/BuildInfo.properties b/src/main/resources/BuildInfo.properties index 76ea16b6e..edf524f10 100644 --- a/src/main/resources/BuildInfo.properties +++ b/src/main/resources/BuildInfo.properties @@ -1,2 +1,2 @@ -instance.version=1.21.1 -versionDate_ddmmyyyy=03/09/2024 +instance.version=1.21.2 +versionDate_ddmmyyyy=04/09/2024 From 56cef55ae6b0807c0f629454f66e743cd3397443 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 11:50:23 +0200 Subject: [PATCH 24/27] build(dependencies): bump the github-actions group across 1 directory with 2 updates (#439) [skip ci] Bumps the github-actions group with 2 updates in the / directory: [wearefrank/ci-cd-templates](https://github.com/wearefrank/ci-cd-templates) and [actions/upload-artifact](https://github.com/actions/upload-artifact). Updates `wearefrank/ci-cd-templates` from 1.0.6 to 1.0.8 - [Release notes](https://github.com/wearefrank/ci-cd-templates/releases) - [Changelog](https://github.com/wearefrank/ci-cd-templates/blob/main/CHANGELOG.md) - [Commits](https://github.com/wearefrank/ci-cd-templates/compare/b55abddef13517a0a6c8625b7913e232b7f5c2df...df1db1b1a73abf2e733f3a5e77b87db7693980c0) Updates `actions/upload-artifact` from 4.3.6 to 4.4.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/834a144ee995460fba8ed112a2fc961b36a5ec5a...50769540e7f4bd5e21e526ee35c689e35e0d6874) --- updated-dependencies: - dependency-name: wearefrank/ci-cd-templates dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/bump-ff-version.yml | 2 +- .github/workflows/ci.yml | 6 +++--- .github/workflows/release.yml | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/bump-ff-version.yml b/.github/workflows/bump-ff-version.yml index 9fb73f575..5474db4aa 100644 --- a/.github/workflows/bump-ff-version.yml +++ b/.github/workflows/bump-ff-version.yml @@ -12,7 +12,7 @@ on: jobs: bump-ff-version: - uses: wearefrank/ci-cd-templates/.github/workflows/ff-version-auto-bumper.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df # 1.0.6 + uses: wearefrank/ci-cd-templates/.github/workflows/ff-version-auto-bumper.yml@df1db1b1a73abf2e733f3a5e77b87db7693980c0 # 1.0.8 secrets: token: ${{ secrets.WEAREFRANK_BOT_PAT }} dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b09097ff3..46fd67958 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,10 +27,10 @@ jobs: - name: Next Reference id: reference - uses: wearefrank/ci-cd-templates/next-reference@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 + uses: wearefrank/ci-cd-templates/next-reference@df1db1b1a73abf2e733f3a5e77b87db7693980c0 #1.0.8 ci: - uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 + uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@df1db1b1a73abf2e733f3a5e77b87db7693980c0 #1.0.8 needs: - version-next secrets: @@ -104,7 +104,7 @@ jobs: fi - name: Upload SoapUI testreports as artifact - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a #4.3.6 + uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 #4.4.0 if: always() with: name: reports-soapui-testreports diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8bd27c870..417f30570 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,7 +40,7 @@ jobs: GH_TOKEN: ${{ secrets.WEAREFRANK_BOT_PAT }} ci: - uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 + uses: wearefrank/ci-cd-templates/.github/workflows/ci-generic.yml@df1db1b1a73abf2e733f3a5e77b87db7693980c0 #1.0.8 needs: analyze-commits secrets: token: ${{ secrets.GITHUB_TOKEN }} @@ -114,7 +114,7 @@ jobs: fi - name: Upload SoapUI testreports as artifact - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a #4.3.6 + uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 #4.4.0 if: always() with: name: reports-soapui-testreports @@ -163,7 +163,7 @@ jobs: GH_TOKEN: ${{ secrets.WEAREFRANK_BOT_PAT }} docker-release: - uses: wearefrank/ci-cd-templates/.github/workflows/docker-release-generic.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 + uses: wearefrank/ci-cd-templates/.github/workflows/docker-release-generic.yml@df1db1b1a73abf2e733f3a5e77b87db7693980c0 #1.0.8 needs: - analyze-commits - release @@ -193,4 +193,4 @@ jobs: - release # Set to true to enable Docusaurus publishing to GitHub Pages if: true - uses: wearefrank/ci-cd-templates/.github/workflows/docusaurus-release.yml@b55abddef13517a0a6c8625b7913e232b7f5c2df #1.0.6 + uses: wearefrank/ci-cd-templates/.github/workflows/docusaurus-release.yml@df1db1b1a73abf2e733f3a5e77b87db7693980c0 #1.0.8 From c4bca52ae5d501a710d48c2e60f79a30365a7b4b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 11:51:16 +0200 Subject: [PATCH 25/27] build(dependencies): bump prism-react-renderer (#437) [skip ci] Bumps the docusaurus group in /docusaurus with 1 update: [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer). Updates `prism-react-renderer` from 2.3.1 to 2.4.0 - [Release notes](https://github.com/FormidableLabs/prism-react-renderer/releases) - [Commits](https://github.com/FormidableLabs/prism-react-renderer/compare/prism-react-renderer@2.3.1...prism-react-renderer@2.4.0) --- updated-dependencies: - dependency-name: prism-react-renderer dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docusaurus/package-lock.json | 8 ++++---- docusaurus/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docusaurus/package-lock.json b/docusaurus/package-lock.json index 0b181e0dc..4bd435ebb 100644 --- a/docusaurus/package-lock.json +++ b/docusaurus/package-lock.json @@ -12,7 +12,7 @@ "@docusaurus/preset-classic": "^3.5.2", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", - "prism-react-renderer": "^2.3.0", + "prism-react-renderer": "^2.4.0", "react": "^18.0.0", "react-dom": "^18.0.0" }, @@ -11627,9 +11627,9 @@ } }, "node_modules/prism-react-renderer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", - "integrity": "sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.0.tgz", + "integrity": "sha512-327BsVCD/unU4CNLZTWVHyUHKnsqcvj2qbPlQ8MiBE2eq2rgctjigPA1Gp9HLF83kZ20zNN6jgizHJeEsyFYOw==", "dependencies": { "@types/prismjs": "^1.26.0", "clsx": "^2.0.0" diff --git a/docusaurus/package.json b/docusaurus/package.json index 758844fb4..9e377ee63 100644 --- a/docusaurus/package.json +++ b/docusaurus/package.json @@ -19,7 +19,7 @@ "@docusaurus/preset-classic": "^3.5.2", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", - "prism-react-renderer": "^2.3.0", + "prism-react-renderer": "^2.4.0", "react": "^18.0.0", "react-dom": "^18.0.0" }, From 0e1f8e4f31c27897f745bcdd04d558e7626622a7 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Fri, 19 Jul 2024 10:15:46 +0000 Subject: [PATCH 26/27] build(dependencies): bump f!f version to 8.2.0-20240711.042331 --- Dockerfile | 2 +- docker-compose.zaakbrug.dev.yml | 2 +- frank-runner.properties | 2 +- src/main/FrankConfig.xsd | 1602 ++++++++++++++--------- src/main/configurations/FrankConfig.xsd | 1602 ++++++++++++++--------- 5 files changed, 1939 insertions(+), 1271 deletions(-) diff --git a/Dockerfile b/Dockerfile index bc68382dc..ac10ca863 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # Keep in sync with version in frank-runner.properties. Detailed instructions can be found in CONTRIBUTING.md. # Check whether java-orig files have changed in F!F and update custom code (java and java-orig files) accordingly -ARG FF_VERSION=8.1.0-20240404.042328 +ARG FF_VERSION=8.2.0-20240711.042331 FROM docker.io/frankframework/frankframework:${FF_VERSION} as ff-base # Copy dependencies diff --git a/docker-compose.zaakbrug.dev.yml b/docker-compose.zaakbrug.dev.yml index 9ae6064c1..3a7f7f84d 100644 --- a/docker-compose.zaakbrug.dev.yml +++ b/docker-compose.zaakbrug.dev.yml @@ -17,7 +17,7 @@ services: build: context: . args: - FF_VERSION: ${FF_VERSION:-8.1.0-20240404.042328} + FF_VERSION: ${FF_VERSION:-8.2.0-20240711.042331} image: wearefrank/zaakbrug:${ZAAKBRUG_VERSION:-latest} container_name: zaakbrug.dev environment: diff --git a/frank-runner.properties b/frank-runner.properties index 3f023f1a7..745d605b0 100644 --- a/frank-runner.properties +++ b/frank-runner.properties @@ -1,4 +1,4 @@ classloader.type=ScanningDirectoryClassLoader # Keep in sync with version in Dockerfile. Detailed instructions can be found in CONTRIBUTING.md. -ff.version=8.1.0-20240404.042328 \ No newline at end of file +ff.version=8.2.0-20240711.042331 \ No newline at end of file diff --git a/src/main/FrankConfig.xsd b/src/main/FrankConfig.xsd index d2917c351..8b5f8c138 100644 --- a/src/main/FrankConfig.xsd +++ b/src/main/FrankConfig.xsd @@ -1,5 +1,5 @@ - + Container of Adapters that belong together. @@ -41,7 +41,12 @@ - An Adapter receives a specific type of messages and processes them. It has Receivers + The Adapter is the central manager in the framework. It has knowledge of both + Receivers as well as the PipeLine and statistics. + The Adapter is the class that is responsible for configuring, initializing and + accessing/activating Receivers, Pipelines, statistics etc. + <br/> + An Adapter receives a specific type of messages and processes them. It has Receivers that receive the messages and a PipeLine that transforms the incoming messages. Each adapter is part of a Configuration. <br/> If an adapter can receive its messages through multiple channels (e.g. RESTful HTTP requests, incoming files, etc), @@ -294,7 +299,7 @@ - Regular expression to mask strings in the errorStore/logStore. Every character between to the strings in this expression will be replaced by a '*'. For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every character between keys &lt;party&gt; and &lt;/party&gt; + Regular expression to mask strings in the errorStore/logStore and logfiles. Every character between to the strings in this expression will be replaced by a '*'. For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every character between keys &lt;party&gt; and &lt;/party&gt; @@ -329,77 +334,31 @@ - Generic parameter definition. - - A parameter resembles an attribute. However, while attributes get their value at configuration-time, - parameters get their value at the time of processing the message. Value can be retrieved from the message itself, - a fixed value, or from the pipelineSession. If this does not result in a value (or if neither of these is specified), a default value - can be specified. If an XPathExpression or stylesheet is specified, it will be applied to the message, the value retrieved - from the pipelineSession or the fixed value specified. If the transformation produces no output, the default value - of the parameter is taken if provided. - <br/><br/> - Examples: - <pre><code> - stored under SessionKey 'TransportInfo': - &lt;transportinfo&gt; - &lt;to&gt;***@zonnet.nl&lt;/to&gt; - &lt;to&gt;***@zonnet.nl&lt;/to&gt; - &lt;cc&gt;***@zonnet.nl&lt;/cc&gt; - &lt;/transportinfo&gt; - - to obtain all 'to' addressees as a parameter: - sessionKey="TransportInfo" - xpathExpression="transportinfo/to" - type="xml" - - Result: - &lt;to&gt;***@zonnet.nl&lt;/to&gt; - &lt;to&gt;***@zonnet.nl&lt;/to&gt; - </code></pre> - - N.B. to obtain a fixed value: a non-existing 'dummy' <code>sessionKey</code> in combination with the fixed value in <code>defaultValue</code> is used traditionally. - The current version of parameter supports the 'value' attribute, that is sufficient to set a fixed value. + Placeholder class to allow legacy configuration notations <code>&lt;param type='number' /&gt;</code> in the new Frank!Config XSD. + <p> + The attribute <code>type</code> has been removed in favor of explicit ParameterTypes such as: <code>NumberParameter</code>, <code>DateParameter</code> and <code>BooleanParameter</code>. + Using the new elements enables the use of auto-completion for the specified type. - + - - - Name of the parameter - - - The target data type of the parameter, related to the database or XSLT stylesheet to which the parameter is applied. + The target data type of the parameter, related to the database or XSLT stylesheet to which the parameter is applied. Default: STRING - - - The value of the parameter, or the base for transformation using xpathExpression or stylesheet, or formatting. - - - - - Key of a PipelineSession-variable. <br/>If specified, the value of the PipelineSession variable is used as input for - the xpathExpression or stylesheet, instead of the current input message. <br/>If no xpathExpression or stylesheet are - specified, the value itself is returned. <br/>If the value '*' is specified, all existing sessionkeys are added as - parameter of which the name starts with the name of this parameter. <br/>If also the name of the parameter has the - value '*' then all existing sessionkeys are added as parameter (except tsReceived) - - - - - key of message context variable to use as source, instead of the message found from input message or sessionKey itself - - - + - Instead of a fixed <code>sessionKey</code> it's also possible to use a XPath expression applied to the input message to extract the name of the session-variable. + Name of the parameter + + + + URL to a stylesheet that wil be applied to the contents of the message or the value of the session-variable. @@ -426,44 +385,9 @@ When set <code>true</code> namespaces (and prefixes) in the input message are removed before the stylesheet/xpathExpression is executed Default: <code>false</code> - - - If the result of sessionKey, xpathExpression and/or stylesheet returns null or an empty string, this value is returned - - - - - Comma separated list of methods (<code>defaultValue</code>, <code>sessionKey</code>, <code>pattern</code>, <code>value</code> or <code>input</code>) to use as default value. Used in the order they appear until a non-null value is found. Default: <code>defaultValue</code> - - - - - Value of parameter is determined using substitution and formatting, following MessageFormat syntax with named parameters. The expression can contain references - to <code>session-variables</code> or other <code>parameters</code> using the {name-of-parameter} and is formatted using java.text.MessageFormat. - <br/><b>NB: When referencing other <code>parameters</code> these MUST be defined before the parameter using pattern substitution.</b> - <br/> - <br/> - If for instance <code>fname</code> is a parameter or session-variable that resolves to Eric, then the pattern - 'Hi {fname}, how do you do?' resolves to 'Hi Eric, do you do?'.<br/> - The following predefined reference can be used in the expression too:<ul> - <li>{now}: the current system time</li> - <li>{uid}: an unique identifier, based on the IP address and java.rmi.server.UID</li> - <li>{uuid}: an unique identifier, based on the IP address and java.util.UUID</li> - <li>{hostname}: the name of the machine the application runs on</li> - <li>{username}: username from the credentials found using authAlias, or the username attribute</li> - <li>{password}: password from the credentials found using authAlias, or the password attribute</li> - <li>{fixeddate}: fake date, for testing only</li> - <li>{fixeduid}: fake uid, for testing only</li> - <li>{fixedhostname}: fake hostname, for testing only</li> - </ul> - A guid can be generated using {hostname}_{uid}, see also - <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/uid.html">http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/uid.html</a> for more information about (g)uid's or - <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/uuid.html">http://docs.oracle.com/javase/1.5.0/docs/api/java/util/uuid.html</a> for more information about uuid's. - <br/> - When combining a date or time <code>pattern</code> like {now} or {fixeddate} with a DATE, TIME, DATETIME or TIMESTAMP <code>type</code>, the effective value of the attribute - <code>formatString</code> must match the effective value of the formatString in the <code>pattern</code>. - - + + + Alias used to obtain username and password, used when a <code>pattern</code> containing {username} or {password} is specified @@ -479,65 +403,11 @@ Default password that is used when a <code>pattern</code> containing {password} is specified - - - If set <code>true</code> pattern elements that cannot be resolved to a parameter or sessionKey are silently resolved to an empty string - - - - - Used in combination with types <code>DATE</code>, <code>TIME</code>, <code>DATETIME</code> and <code>TIMESTAMP</code> to parse the raw parameter string data into an object of the respective type Default: depends on type - - - - - Used in combination with type <code>NUMBER</code> Default: system default - - - - - Used in combination with type <code>NUMBER</code> Default: system default - - - - - If set (>=0) and the length of the value of the parameter falls short of this minimum length, the value is padded Default: -1 - - - - - If set (>=0) and the length of the value of the parameter exceeds this maximum length, the length is trimmed to this maximum length Default: -1 - - - - - Used in combination with type <code>number</code>; if set and the value of the parameter exceeds this maximum value, this maximum value is taken - - - - - Used in combination with type <code>number</code>; if set and the value of the parameter falls short of this minimum value, this minimum value is taken - - - - - If set to <code>true</code>, the value of the parameter will not be shown in the log (replaced by asterisks) Default: <code>false</code> - - - - - Set the mode of the parameter, which determines if the parameter is an INPUT, OUTPUT, or INOUT. - This parameter only has effect for StoredProcedureQuerySender. - An OUTPUT parameter does not need to have a value specified, but does need to have the type specified. - Parameter values will not be updated, but output values will be put into the result of the - StoredProcedureQuerySender. - <b/> - If not specified, the default is INPUT. - - - - - + + + + + @@ -924,7 +794,8 @@ - time (with suffix 'd', 'h', 'm' or 's' in milliseconds) that must have passed at least before a file will be deleted Default: 30d + Minimum amount of time (with suffix 'd', 'h', 'm' or 's') that must have passed before a file will be deleted. + You may only use one suffix! Default: 30d @@ -1124,7 +995,7 @@ - + @@ -1136,6 +1007,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the parameter + + + + + + + + + URL to a stylesheet that wil be applied to the contents of the message or the value of the session-variable. + + + + + the XPath expression to extract the parameter value from the (xml formatted) input or session-variable. + + + + + If set to <code>2</code> or <code>3</code> a Saxon (net.sf.saxon) xslt processor 2.0 or 3.0 respectively will be used, otherwise xslt processor 1.0 (org.apache.xalan). <code>0</code> will auto-detect Default: 0 + + + + + Namespace definitions for xpathExpression. Must be in the form of a comma or space separated list of + <code>prefix=namespaceuri</code>-definitions. One entry can be without a prefix, that will define the default namespace. + + + + + When set <code>true</code> namespaces (and prefixes) in the input message are removed before the stylesheet/xpathExpression is executed Default: <code>false</code> + + + + + + + + Alias used to obtain username and password, used when a <code>pattern</code> containing {username} or {password} is specified + + + + + Default username that is used when a <code>pattern</code> containing {username} is specified + + + + + Default password that is used when a <code>pattern</code> containing {password} is specified + + + + + + + + + + + + + + + + + + + Used in combination with types <code>DATE</code>, <code>TIME</code>, <code>DATETIME</code> and <code>TIMESTAMP</code> to parse the raw parameter string data into an object of the respective type Default: depends on type + + + + + + + + + + + + + + + + + + + + + Separate the integer part from the fractional part of a number. Default: system default + + + + + In the United States, the comma is typically used for the grouping separator; however, several publication standards follow international standards in using either a space or a thin space character. Default: system default + + + + + Used in combination with type <code>number</code>; if set and the value of the parameter exceeds this maximum value, this maximum value is taken + + + + + Used in combination with type <code>number</code>; if set and the value of the parameter falls short of this minimum value, this minimum value is taken + + + + + + + @@ -1143,7 +1187,7 @@ Listener that allows a Receiver to receive messages as a REST webservice. Prepends the configured URI pattern with <code>api/</code>. The structure of REST messages is described by OpenAPI specifications. The Frank!Framework generates an OpenAPI specification for each ApiListener and - also an OpenAPI specification for all ApiListeners in all configurations. You can + for all ApiListeners in all configurations combined. You can find them in the Frank!Console under main menu item Webservices, heading Available ApiListeners. <p> The generated OpenAPI specifications have <code>servers</code> and <code>paths</code> objects and @@ -1151,19 +1195,19 @@ <p> It is possible to automatically generate eTags over the listener result. This can be controlled by globally setting the property <code>api.etag.enabled</code> or by setting the attribute <code>updateEtag="true"</code>. - When enabled the listener will respond to the 'if-match', 'if-none-match' headers and may return status code 304. + When enabled the listener will respond to the <code>If-Match</code>, <code>If-None-Match</code> headers and may return status code 304. <p> - In order to make eTags work across multiple nodes you must configure Memcached to store the eTags. + In order to enable eTags for multiple nodes you must configure Memcached to store the eTags. The following properties will need to be set: <ul> - <li>etag.cache.server=ip or hostname:port</li> - <li>etag.cache.type=memcached</li> + <li><code>etag.cache.server=ip or hostname:port</code></li> + <li><code>etag.cache.type=memcached</code></li> </ul> In case authentication, is required the following application properties can be used: <ul> - <li>etag.cache.username</li> - <li>etag.cache.password</li> - <li>etag.cache.authalias</li> + <li><code>etag.cache.username</code></li> + <li><code>etag.cache.password</code></li> + <li><code>etag.cache.authalias</code></li> </ul> @@ -1339,7 +1383,7 @@ <p>You can add parameters to the JmsListener, the values will be added as Headers to the JMS response message.</p> <p><b>Notice:</b> the JmsListener is ONLY capable of processing - javax.jms.TextMessages and javax.jms.BytesMessage<br/><br/> + jakarta.jms.TextMessages and jakarta.jms.BytesMessage<br/><br/> </p> @@ -1444,7 +1488,7 @@ whatever it is configured to.</p> </p> <p><b>Notice:</b> the JmsListener is ONLY capable of processing - <code>javax.jms.TextMessage</code>s <br/><br/> + <code>jakarta.jms.TextMessage</code>s <br/><br/> </p> @@ -1494,7 +1538,7 @@ whatever it is configured to.</p> <p><b>Notice:</b> the JmsListener is ONLY capable of processing - javax.jms.TextMessages and javax.jms.BytesMessage<br/><br/> + jakarta.jms.TextMessages and jakarta.jms.BytesMessage<br/><br/> </p> @@ -1625,19 +1669,22 @@ - + - HTTP method(s) to listen to, separated by comma Default: GET + HTTP method(s) to listen to. Inside XML Configurations: for multiple values, use a comma as separator. Default: GET + + + - URI pattern to register this listener on, eq. `/my-listener/{something}/here` + URI pattern to register this listener on, eq. <code>/my-listener/{something}/here</code> - The required contentType on requests, if it doesn't match a 415 Unsupported Media Type is replied Default: ANY + The required contentType on requests, if it doesn't match a <code>415 Unsupported Media Type</code> is replied. Default: ANY @@ -1645,7 +1692,8 @@ - The specified contentType on response. When <code>ANY</code> the response will determine the content type based on the return data. Default: ANY + The specified contentType on response. When <code>ANY</code> the response will determine the content-type when it's known and will never calculate it. If no match is found <code>*&#47;*</code> will be used. + When <code>DETECT</code> the framework attempts to detect the MimeType (as well as charset) when not known. Default: ANY @@ -1664,7 +1712,7 @@ - Enables security for this listener. If you wish to use the application servers authorisation roles [AUTHROLE], you need to enable them globally for all ApiListeners with the `servlet.ApiListenerServlet.securityRoles=IbisTester,IbisWebService` property Default: <code>NONE</code> + Enables security for this listener. If you wish to use the application servers authorization roles [AUTHROLE], you need to enable them globally for all ApiListeners with the <code>servlet.ApiListenerServlet.securityRoles=IbisTester,IbisWebService</code> property Default: <code>NONE</code> @@ -1672,7 +1720,7 @@ - Only active when AuthenticationMethod=AUTHROLE. Comma separated list of authorization roles which are granted for this service, eq. IbisTester,IbisObserver", ""}) + Only active when AuthenticationMethod=AUTHROLE. Comma separated list of authorization roles which are granted for this service, eq. <code>IbisTester,IbisObserver</code> @@ -1702,7 +1750,7 @@ - Session key that provides the Content-Disposition header in the response + Session key that provides the <code>Content-Disposition</code> header in the response @@ -1717,7 +1765,7 @@ - Header to extract JWT from + Header to extract JWT from Default: <code>Authorization</code> @@ -1727,22 +1775,22 @@ - Comma separated key value pairs to exactly match with JWT payload. e.g. "sub=UnitTest, aud=test" + Comma separated key value pairs to exactly match with JWT payload. e.g. <code>sub=UnitTest, aud=test</code> - Comma separated key value pairs to one-of match with JWT payload. e.g. "appid=a,appid=b" + Comma separated key value pairs to one-of match with JWT payload. e.g. <code>appid=a,appid=b</code> - Claim name which specifies the role + Claim name which specifies the role (maps to <code>IsUserInRolePipe</code>) - Claim name which specifies the principal name (maps to GetPrincipalPipe) + Claim name which specifies the principal name (maps to <code>GetPrincipalPipe</code>) @@ -1914,7 +1962,7 @@ - + @@ -2709,29 +2757,30 @@ - Field containing the status of the message. For optimal performance, and index should exist that starts with this field, contains all fields that are used with a fixed value in the select condition, and end with the orderField. + Field containing the status of the message. + <b>NB: For optimal performance, an index should exist that starts with this field, followed by all fields that are used with a fixed value in the select condition, and end with the <code>orderField</code>. - (optional) Field used to store the date and time of the last change of the statusField + (optional) Field used to store the date and time of the last change of the <code>statusField</code> - (optional) Field used to store the reason of the last change of the statusField + (optional) Field used to store the reason of the last change of the <code>statusField</code> - (optional) Value of statusField indicating row is available to be processed. If not specified, any row not having any of the other status values is considered available. + (optional) Value of <code>statusField</code> indicating row is available to be processed. If not specified, any row not having any of the other status values is considered available. - Value of statusField indicating the processing of the row resulted in an error + Value of <code>statusField</code> indicating the processing of the row resulted in an error @@ -2741,12 +2790,12 @@ - Value of status field indicating is being processed. Can be left emtpy if database has SKIP LOCKED functionality and the Receiver can be (and is) set to Required or RequiresNew. + Value of <code>statusField</code> indicating is being processed. Can be left emtpy if database has <code>SKIP LOCKED</code> functionality and the <code>transactionAttribute</code> of the <code>Receiver</code> can be (and is) set to <code>Required</code> or <code>RequiresNew</code>. - Value of status field indicating message is on Hold, temporarily + Value of <code>statusField</code> indicating message is on Hold, temporarily @@ -2818,17 +2867,18 @@ - Field containing the status of the message. For optimal performance, and index should exist that starts with this field, contains all fields that are used with a fixed value in the select condition, and end with the orderField. Default: TYPE + Field containing the status of the message. + <b>NB: For optimal performance, an index should exist that starts with this field, followed by all fields that are used with a fixed value in the select condition, and end with the <code>orderField</code>. Default: TYPE - (optional) Field used to store the date and time of the last change of the statusField Default: MESSAGEDATE + (optional) Field used to store the date and time of the last change of the <code>statusField</code> Default: MESSAGEDATE - (optional) Field used to store the reason of the last change of the statusField Default: COMMENTS + (optional) Field used to store the reason of the last change of the <code>statusField</code> Default: COMMENTS @@ -2843,7 +2893,7 @@ - Value of statusField indicating the processing of the row resulted in an error Default: <code>E</code> + Value of <code>statusField</code> indicating the processing of the row resulted in an error Default: <code>E</code> @@ -2980,11 +3030,6 @@ Can be either <code>/rest</code> or <code>/rest-public</code> and must correspond with the available RestListenerServlet path(s). - - - Indicates whether this listener supports a view (and a link should be put in the ibis console) Default: if <code>method=get</code> then <code>true</code>, else <code>false</code> - - Comma separated list of authorization roles which are granted for this rest service Default: IbisAdmin,IbisDataAdmin,IbisTester,IbisObserver,IbisWebService @@ -3023,6 +3068,12 @@ If set to true the ibis will automatically create an etag Default: false + + + Uses an JsonPipe to convert the json-input to xml, and xml-output to json. + Use with caution, a properly configured Input/Output-wrapper can do much more and is more robust! Default: true + + @@ -3338,7 +3389,7 @@ - + @@ -3424,7 +3475,7 @@ - If <code>true</code>, the the cache is reloaded after the JVM restarts Default: false + If <code>true</code>, the cache is stored on disk and survives configuration reloads & JVM restarts. Default: false @@ -3525,7 +3576,16 @@ - Sender to work with Amazon S3. + Sender to work with the Amazon S3 Filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom user-metadata on S3 files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> @@ -3901,8 +3961,7 @@ - Requires the net.bankid.merchant.library V1.06+. - Compile with Java 1.7+ + Requires the net.bankid.merchant.library V1.2.9 @@ -3932,15 +3991,15 @@ - Sender used to run JavaScript code using J2V8 + Sender used to run JavaScript code using `JavascriptEngine` implementations. <p> - This sender can execute a function of a given javascript file, the result of the function will be the output of the sender. - The parameters of the javascript function to run are given as parameters by the adapter configuration + This sender can execute a function of a given Javascript file, the result of the function will be the output of the sender. + The parameters of the Javascript function to run are given as parameters by the adapter configuration The sender doesn't accept nor uses the given input, instead for each argument for the #jsFunctionName method, you will need to create a parameter on the sender. </p> <p> - The result of the javascript function should be of type String, or directly convertible to String from a primitive type + The result of the Javascript function should be of type String, or directly convertible to String from a primitive type or an array of primitive types / strings, as the output of the sender will be of type String. </p> <p> @@ -4076,6 +4135,18 @@ + + Sender to work with the server local filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom extended attributes on files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> + @@ -4414,7 +4485,7 @@ Collection of Senders, that are executed all at the same time. Once the results are processed, all results will be sent to the resultSender, - while the original sender will return it's result to the pipeline. + while the original sender will return its result to the pipeline. <p>Multiple sub-senders can be configured within the ShadowSender, the minimum amount of senders is 2 (originalSender + resultSender)</p> @@ -4447,7 +4518,7 @@ </p> <p> All stored procedure parameters that are not fixed, so specified in the query with a {@code ?}, should - have a corresponding Parameter entry. Output parameters should have {@code mode="OUTPUT"}, or + have a corresponding IParameter entry. Output parameters should have {@code mode="OUTPUT"}, or {@code mode="INOUT"} depending on how the stored procedure is defined. </p> <p> @@ -4531,31 +4602,19 @@ - + - Sender that sends a message via a WebService based on NTLM authentication. + Sender that sends a message via a WebService. - + - - - Sender that sends a message via a WebService. - - - - - - - - - - + XCom client voor het versturen van files via XCom. @@ -4837,7 +4896,7 @@ - + @@ -4875,7 +4934,7 @@ - If set <code>true</code>, the folder to create, write, move or copy the file to is created if it does not exist Default: false + If <code>true</code>: if a non-existing folder is part of the fileName, it will be created. Default: false @@ -4936,6 +4995,14 @@ + + + Filter for action <code>list</code>. Specify <code>FILES_ONLY</code>, <code>FOLDERS_ONLY</code> or <code>FILES_AND_FOLDERS</code>. Default: FILES_ONLY + + + + + @@ -4962,7 +5029,8 @@ - The connection timeout in seconds Default: 10 + READ_TIMEOUT timeout in MS. + Defaults to 10000, inherited from HttpSender#setTimeout. Default: 10000 @@ -5202,7 +5270,7 @@ - + @@ -5423,7 +5491,7 @@ - + @@ -5921,7 +5989,7 @@ - + @@ -5950,7 +6018,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -6015,7 +6083,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -6116,11 +6184,6 @@ The set of available sessionKeys to be returned might be limited by the returnedSessionKeys attribute of the corresponding JavaListener. - - - Currently used to mimic the HttpSender when it is stubbed locally. It could be useful in other situations too although currently the response string is used which isn't streamed, it would be better to pass the multipart as an input stream in the context map in which case content type and charset could also be passed Default: false - - Set to 'DLL' to make the dispatcher communicate with a DLL set on the classpath @@ -6189,7 +6252,11 @@ - + + + + + This is the contract number for iDIN the Merchant received from its Acquirer after registration, @@ -6264,7 +6331,7 @@ has the file extension .cer,.crt or .pem. - + This is the certificate owned by the Merchant. Its public key is used by the Issuer to encrypt information. The Merchant can then use the private key to decrypt that information. The SAML certificate must be in @@ -6285,6 +6352,13 @@ + + + + + Load configuration from XML. Attributes may overwrite this 'default'. + + @@ -6297,7 +6371,7 @@ - + @@ -6393,7 +6467,7 @@ - the name of the JavaScript engine to be used. Default: J2V8 + the name of the JavaScript engine to use. Default: J2V8 @@ -6654,7 +6728,7 @@ - + @@ -6727,7 +6801,13 @@ - Optional base folder, that serves as root for all other folders + Path to the folder that serves as the root of this virtual filesystem. All specifications of folders or files are relative to this root. + When the root is left unspecified, absolute paths to files and folders can be used + + + + + Whether the LocalFileSystem tries to create the root folder if it doesn't exist yet. @@ -6823,7 +6903,7 @@ - + @@ -6837,10 +6917,17 @@ If set to <code>true</code>, the message is stored only if the MessageId is not present in the store yet. Default: <code>true</code> + + + Set the slotId, an identifier to keep separate the messages inserted + by different MessageStoreSenders. + <br/> + This field should be set. + + - @@ -6866,7 +6953,15 @@ - + + + Set the slotId, an identifier to keep separate the messages inserted + by different JdbcTransactionalStorage instances. + <br/> + This field is optional, unless the attribute #onlyStoreWhenMessageIdUnique is + set to {@code true}. + + @@ -6968,7 +7063,14 @@ - Regular expression to mask strings in the errorStore/logStore. Every character between to the strings in this expression will be replaced by a '*'. For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every character between keys &lt;party&gt; and &lt;/party&gt; + Regular expression to mask strings in the errorStore/logStore. + Every character between to the strings in this expression will be replaced by a '*'. + <br/> + For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every + character between keys &lt;party&gt; and &lt;/party&gt; + <br/> + When no hideRegex is configured on the errorStore / logStore but is configured on the org.frankframework.receivers.Receiver#setHideRegex(String), + then the Receiver's hideRegex is used for the errorStore / logStore. @@ -7053,7 +7155,7 @@ - + @@ -7075,7 +7177,7 @@ NetStorage action to be used - + @@ -7142,7 +7244,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -7471,7 +7573,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -7851,64 +7953,6 @@ - - - - - - - - - content-type of the request Default: text/html; charset=utf-8 - - - - - url or base of url to be used - - - - - timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 - - - - - the maximum number of concurrent connections Default: 10 - - - - - alias used to obtain credentials for authentication to host - - - - - username used in authentication to host - - - - - password used to authenticate with the host - - - - - - - Default: 80 - - - - - the soapactionuri to be set in the requestheader - - - - - - - @@ -8000,7 +8044,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -8209,15 +8253,9 @@ - - - - - - @@ -8318,7 +8356,7 @@ - + @@ -8347,7 +8385,16 @@ - Sender to work with Amazon S3. + Sender to work with the Amazon S3 Filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom user-metadata on S3 files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> @@ -8723,8 +8770,7 @@ - Requires the net.bankid.merchant.library V1.06+. - Compile with Java 1.7+ + Requires the net.bankid.merchant.library V1.2.9 @@ -8754,15 +8800,15 @@ - Sender used to run JavaScript code using J2V8 + Sender used to run JavaScript code using `JavascriptEngine` implementations. <p> - This sender can execute a function of a given javascript file, the result of the function will be the output of the sender. - The parameters of the javascript function to run are given as parameters by the adapter configuration + This sender can execute a function of a given Javascript file, the result of the function will be the output of the sender. + The parameters of the Javascript function to run are given as parameters by the adapter configuration The sender doesn't accept nor uses the given input, instead for each argument for the #jsFunctionName method, you will need to create a parameter on the sender. </p> <p> - The result of the javascript function should be of type String, or directly convertible to String from a primitive type + The result of the Javascript function should be of type String, or directly convertible to String from a primitive type or an array of primitive types / strings, as the output of the sender will be of type String. </p> <p> @@ -8898,6 +8944,18 @@ + + Sender to work with the server local filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom extended attributes on files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> + @@ -9236,7 +9294,7 @@ Collection of Senders, that are executed all at the same time. Once the results are processed, all results will be sent to the resultSender, - while the original sender will return it's result to the pipeline. + while the original sender will return its result to the pipeline. <p>Multiple sub-senders can be configured within the ShadowSender, the minimum amount of senders is 2 (originalSender + resultSender)</p> @@ -9269,7 +9327,7 @@ </p> <p> All stored procedure parameters that are not fixed, so specified in the query with a {@code ?}, should - have a corresponding Parameter entry. Output parameters should have {@code mode="OUTPUT"}, or + have a corresponding IParameter entry. Output parameters should have {@code mode="OUTPUT"}, or {@code mode="INOUT"} depending on how the stored procedure is defined. </p> <p> @@ -9353,18 +9411,6 @@ - - - Sender that sends a message via a WebService based on NTLM authentication. - - - - - - - - - Sender that sends a message via a WebService. @@ -9730,7 +9776,14 @@ - Regular expression to mask strings in the errorStore/logStore. Every character between to the strings in this expression will be replaced by a '*'. For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every character between keys &lt;party&gt; and &lt;/party&gt; + Regular expression to mask strings in the errorStore/logStore. + Every character between to the strings in this expression will be replaced by a '*'. + <br/> + For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every + character between keys &lt;party&gt; and &lt;/party&gt; + <br/> + When no hideRegex is configured on the errorStore / logStore but is configured on the org.frankframework.receivers.Receiver#setHideRegex(String), + then the Receiver's hideRegex is used for the errorStore / logStore. @@ -9987,7 +10040,7 @@ - + @@ -10157,7 +10210,7 @@ - + @@ -10723,7 +10776,7 @@ - + @@ -10883,7 +10936,7 @@ - + @@ -11290,6 +11343,11 @@ If true, the password is sent digested; Otherwise it is sent in clear text Default: true + + + For direction=<code>wrap</code> only: When false, adds an XML declaration to the output message. Default: true + + The functional name of this pipe. Can be referenced by the <code>path</code> attribute of a PipeForward. @@ -11428,7 +11486,7 @@ - + @@ -11738,7 +11796,7 @@ - + @@ -11757,7 +11815,7 @@ - + @@ -11808,7 +11866,7 @@ whatever it is configured to.</p> </p> <p><b>Notice:</b> the JmsListener is ONLY capable of processing - <code>javax.jms.TextMessage</code>s <br/><br/> + <code>jakarta.jms.TextMessage</code>s <br/><br/> </p> @@ -12499,8 +12557,149 @@ - Produces a fixed result that does not depend on the input message. It may return the contents of a file - when <code>filename</code> or <code>filenameSessionKey</code> is specified. Otherwise the + This Pipe opens and returns a file from the classpath. The filename is a mandatory parameter to use. You can + provide this by using the <code>filename</code> attribute or with a <code>param</code> element to be able to + use a sessionKey for instance. + + <h2>Migrating from deprecated features</h2> + The FixedResultPipe was a jack of all trades. You could use it to read a file (only text) and/or use + a 'resultString' to find / replace values in. The following migrations are available: + + <h3>For using a 'resultString'</h3> + You can use the EchoPipe for a static value. This looked like this before: + + <pre> + {@code + <pipe name="HelloWorld" className="org.frankframework.pipes.FixedResult" returnString="Hello World"> + <forward name="success" path="EXIT"/> + </pipe> + } + </pre> + Becomes: + <pre> + {@code + <pipe name="HelloWorld" className="org.frankframework.pipes.EchoPipe" getInputFromFixedValue="Hello World"> + <forward name="success" path="EXIT"/> + </pipe> + } + </pre> + + <h3>For replacing a value</h3> + You can use the ReplacerPipe to replace a value in multiple ways. First, when you need to replace a placeholder with a parameter. + This looked like: + <pre> + {@code + <pipe name="make unique message" className="org.frankframework.pipes.FixedResultPipe" + returnString="&lt;msg mid=&quot;MID&quot; action=&quot;ACTION&quot; /&gt;" replaceFixedParams="true"> + <param name="MID" sessionKey="mid" /> + <param name="ACTION" xpathExpression="request/@action" /> + </pipe> + } + </pre> + + And can now be written like this (note the ?{..} syntax): + <pre> + {@code + <pipe name="make unique message" className="org.frankframework.pipes.ReplacerPipe" + getInputFromFixedValue="&lt;msg mid=&quot;?{MID}&quot; action=&quot;?{ACTION}&quot; /&gt;"> + <param name="MID" sessionKey="mid" /> + <param name="ACTION" xpathExpression="request/@action" /> + </pipe> + } + </pre> + + When you need to replace a fixed value use the ReplacerPipe with find and replace. This looked like this: + <pre> + {@code + <FixedResultPipe name="InputValidateError" + filename="ManageFileSystem/xml/ErrorMessage.xml" + replaceFrom="%reasonCode" replaceTo="NOT_WELL_FORMED_XML"> + <forward name="success" path="EXIT" /> + </FixedResultPipe> + } + </pre> + + And now should be solved like this: + <pre> + {@code + <FixedResultPipe name="InputValidateError" + filename="ManageFileSystem/xml/ErrorMessage.xml"> + <forward name="success" path="replaceReasonCode" /> + </FixedResultPipe> + <ReplacerPipe name="replaceReasonCode" + find="%reasonCode" + replace="NOT_WELL_FORMED_XML"> + <forward name="success" path="EXIT" /> + </ReplacerPipe> + } + </pre> + This is also an example of now using two pipes to achieve the same result. Each pipe has its own responsibility. + + <h2>More complex configurations</h2> + In some cases, a combination of the above is needed to achieve what worked before. In some cases, FixedResultPipe + was also used to store information in the session. For example, a port of configuration in the JMS listener sender configuration looked like this: + <pre> + {@code + <CompareStringPipe name="compareIdAndCid" > + <param name="operand1" sessionKey="id"/> + <param name="operand2" sessionKey="cid"/> + <forward name="equals" path="IdAndCidSame" /> + <forward name="lessthan" path="IdAndCidDifferent" /> + <forward name="greaterthan" path="IdAndCidDifferent" /> + </CompareStringPipe> + <FixedResultPipe name="IdAndCidSame" returnString="true" storeResultInSessionKey="IdAndCidSame"> + <forward name="success" path="displayKeys" /> + </FixedResultPipe> + <FixedResultPipe name="IdAndCidDifferent" returnString="false" storeResultInSessionKey="IdAndCidSame"> + <forward name="success" path="displayKeys" /> + </FixedResultPipe> + + <pipe name="displayKeys" className="org.frankframework.pipes.FixedResultPipe" + returnString="branch [BRANCH] Orignal Id [MID] cid [CID] id=cid [SAME]" replaceFixedParams="true"> + <param name="BRANCH" sessionKey="originalMessage" xpathExpression="*&#47;@branch" /> + <param name="MID" sessionKey="id" /> + <param name="CID" sessionKey="cid" /> + <param name="SAME" sessionKey="IdAndCidSame" /> + <forward name="success" path="EXIT" /> + </pipe> + } + </pre> + + Was rewritten to the following: + <pre> + {@code + <CompareStringPipe name="compareIdAndCid" > + <param name="operand1" sessionKey="id"/> + <param name="operand2" sessionKey="cid"/> + <forward name="equals" path="IdAndCidSame" /> + <forward name="lessthan" path="IdAndCidDifferent" /> + <forward name="greaterthan" path="IdAndCidDifferent" /> + </CompareStringPipe> + + <PutInSessionPipe name="IdAndCidSame" value="true" sessionKey="IdAndCidSame"> + <forward name="success" path="putOriginalMessageInSession" /> + </PutInSessionPipe> + <PutInSessionPipe name="IdAndCidDifferent" value="false" sessionKey="IdAndCidSame"> + <forward name="success" path="putOriginalMessageInSession" /> + </PutInSessionPipe> + + <PutInSessionPipe name="putOriginalMessageInSession" sessionKey="incomingMessage"/> + + <pipe name="displayKeys" className="org.frankframework.pipes.ReplacerPipe" + getInputFromFixedValue="branch [?{BRANCH}] Original Id [?{MID}] cid [?{CID}] id=cid [?{SAME}]"> + <param name="BRANCH" sessionKey="originalMessage" xpathExpression="*&#47;@branch" /> + <param name="MID" sessionKey="id" /> + <param name="CID" sessionKey="cid" /> + <param name="SAME" sessionKey="IdAndCidSame" /> + <forward name="success" path="EXIT" /> + </pipe> + } + </pre> + <p> + + <h2>The features/documentation of the deprecated features</h2> + Produces a fixed result that does not depend on the input message. It may return the contents of a file + when <code>filename</code> or <code>filenameSessionKey</code> is specified. Otherwise, the value of attribute <code>returnString</code> is returned. <br/><br/> Using parameters and the attributes of this pipe, it is possible to substitute values. This pipe @@ -12508,11 +12707,13 @@ <ol> <li>During execution, this pipe first obtains a string based on attributes <code>returnString</code>, <code>filename</code> or <code>filenameSessionKey</code>.</li> <li>The resulting string is transformed according to attributes <code>replaceFrom</code> and <code>replaceTo</code> if set. - Please note that the plain value of attribute <code>replaceFrom</code> is matched, no <code>${...}</code> here.</li> + Please note that the plain value of attribute <code>replaceFrom</code> is matched, no <code>?{...}</code> here.</li> + <li>The resulting string is substituted based on the parameters of this pipe. This step depends on attribute <code>replaceFixedParams</code>. Assume that there is a parameter with name <code>xyz</code>. If <code>replaceFixedParams</code> is <code>false</code>, then - each occurrence of <code>${xyz}</code> is replaced by the parameter's value. Otherwise, the text <code>xyz</code> + each occurrence of <code>?{xyz}</code> is replaced by the parameter's value. Otherwise, the text <code>xyz</code> is substituted. See Parameter to see how parameter values are determined.</li> + <li>If attribute <code>substituteVars</code> is <code>true</code>, then expressions <code>${...}</code> are substituted using system properties, pipelinesession variables and application properties. Please note that no <code>${...}</code> patterns are left if the initial string came from attribute <code>returnString</code>, because @@ -12646,19 +12847,6 @@ - - - Selects an exitState, based on the content-type of a httpServletRequest - object as input. - - - - - - - - - Pipe that increases the integer value of a session variable. @@ -12897,6 +13085,21 @@ + + Pipe to work with the server local filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom extended attributes on files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> + <p> + If extended attributes actually can be written depends on the underlying OS / filesystem. + </p> + @@ -12984,7 +13187,7 @@ - Returns random password. + Generates a random password. @@ -13101,8 +13304,18 @@ - Replaces all occurrences of one string with another. - Optionally strips or replaces XML non-printable characters. + This Pipe is used to replace values in a few ways. The following steps are performed: + <ol> + <li>If <code>find</code> is provided, it will be replaced by <code>replace</code></li> + <li>The resulting string is substituted based on the parameters of this pipe. It will replace values in the input enclosed + with ?{}, for instance: ?{parameterOne}, with parameters of this pipe. If a parameter for the given value is not found, it + will not be replaced and the '?{parameterOne}' value will remain in the output. + <p> + See Parameter to see how parameter values are determined.</li> + <p> + <li>If attribute <code>substituteVars</code> is <code>true</code>, then expressions <code>${...}</code> are substituted using + system properties, session variables and application properties. Please note that no <code>${...}</code> patterns are left in the input. </li> + </ol> @@ -13239,7 +13452,7 @@ - Skip a number of bytes or characters from the input. + Skip a number of bytes or characters from the input message. @@ -13439,7 +13652,7 @@ - Selects an forward, based on XPath evaluation + Selects a forward, based on XPath evaluation @@ -13667,7 +13880,11 @@ Alternatively: xpath-expression to create stylesheet from - + + + Namespace defintions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. For some use other cases (NOT xpathExpression), one entry can be without a prefix, that will define the default namespace. + + Only valid for xpathexpression Default: text @@ -14004,7 +14221,11 @@ Alternatively: xpath-expression to create stylesheet from - + + + Namespace defintions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. For some use other cases (NOT xpathExpression), one entry can be without a prefix, that will define the default namespace. + + Only valid for xpathexpression Default: text @@ -14096,29 +14317,14 @@ if <code>true</code> the pipe compresses, otherwise it decompress Default: false - - - required if result is a file, the pattern for the result filename. Can be set with variables e.g. {file}.{ext}.zip in this example the {file} and {ext} variables are resolved with sessionKeys with the same name - - flag indicates whether the message is the content or the path to a file with the contents. for multiple files use ';' as delimiter Default: false - - - required if result is a file, the directory in which to store the result file - - - flag indicates whether the result must be written to the message or to a file (filename = message) Default: false - - - - - the pattern for the zipentry name in case a zipfile is read or written + flag indicates whether the result must be written to the message or to a file (filename = message) Default: true when outputDirectory is not set. @@ -14345,47 +14551,11 @@ - - - Should values between ${ and } be resolved. If true, the search order of replacement values is: - system properties (1), pipelinesession variables (2), application properties (3). Default: false - - Name of the file containing the result message. - - - Name of the session key containing the file name of the file containing the result message. - - - - - Returned message. - - - - - If set, every occurrence of this attribute's value is replaced by the value of <code>replaceTo</code>. - - - - - See <code>replaceFrom</code>. - - - - - File name of XSLT stylesheet to apply. - - - - - When set <code>true</code>, parameter replacement matches <code>name-of-parameter</code>, not <code>${name-of-parameter}</code> Default: false - - @@ -14575,19 +14745,6 @@ - - - - - - - - - - - - - @@ -14633,7 +14790,7 @@ - forward returned when <code>'true'</code> Default: then + forward returned when <code>true</code> Default: then @@ -14969,10 +15126,13 @@ The scenario sub directory to execute - + the larva log level: one of [debug], [pipeline messages prepared for diff], [pipeline messages], [wrong pipeline messages prepared for diff], [wrong pipeline messages], [step passed/failed], [scenario passed/failed], [scenario failed], [totals], [error] Default: wrong pipeline messages + + + @@ -15102,7 +15262,13 @@ - the folder that serves as the root of this virtual filesystem + Path to the folder that serves as the root of this virtual filesystem. All specifications of folders or files are relative to this root. + When the root is left unspecified, absolute paths to files and folders can be used + + + + + Whether the LocalFileSystem tries to create the root folder if it doesn't exist yet. @@ -15136,7 +15302,7 @@ - If set <code>true</code>, the folder to create, write, move or copy the file to is created if it does not exist Default: false + If <code>true</code>: if a non-existing folder is part of the fileName, it will be created. Default: false @@ -15197,6 +15363,14 @@ + + + Filter for action <code>list</code>. Specify <code>FILES_ONLY</code>, <code>FOLDERS_ONLY</code> or <code>FILES_AND_FOLDERS</code>. Default: FILES_ONLY + + + + + @@ -15300,49 +15474,44 @@ - - - whether the securerandom algorithm is to be used (slower) Default: true - - - the lowercase characters to use Default: ('a'..'z') + The lowercase characters to use. Default: ('a'..'z') - the uppercase characters to use Default: ('A'..'Z') + The uppercase characters to use. Default: ('A'..'Z') - the numbers to use Default: ('0'..'9') + The numbers to use. Default: ('0'..'9') - the signs to use Default: (;:_%$#@!&gt;&lt;) + The signs to use. Default: (;:_%$#@!&gt;&lt;) - the number of lowercase characters in the generated password Default: 2 + The number of lowercase characters in the generated password. Default: 2 - the number of digits in the generated password Default: 2 + The number of digits in the generated password. Default: 2 - the number of sign characters in the generated password Default: 2 + The number of sign characters in the generated password. Default: 2 - the number of uppercase characters in the generated password Default: 2 + The number of uppercase characters in the generated password. Default: 2 @@ -15658,7 +15827,7 @@ Sets the string that will replace each of the occurrences of the find-string. Newlines can be represented - * by the #setLineSeparatorSymbol(String). + * by the #setLineSeparatorSymbol(String). @@ -15669,11 +15838,11 @@ Replace all characters that are non-printable according to the XML specification with - the value specified in #setReplaceNonXmlChar(String). + the value specified in #setNonXmlReplacementCharacter(String). <p> - <b>NB:</b> This will only replace or remove characters considered non-printable. This - will not check if a given character is valid in the particular way it is used. Thus it will - not remove or replace, for instance, a single {@code '&'} character. + <b>NB:</b> This will only replace or remove characters considered non-printable. This + will not check if a given character is valid in the particular way it is used. Thus it will + not remove or replace, for instance, a single {@code '&'} character. </p> <p> See also: @@ -15684,9 +15853,9 @@ </p> Default: false - + - character that will replace each non valid xml character (empty string is also possible) (use &amp;#x00bf; for inverted question mark) Default: empty string + character that will replace each non-valid xml character (empty string is also possible) (use &amp;#x00bf; for inverted question mark) Default: empty string @@ -15694,6 +15863,11 @@ Whether to allow Unicode supplementary characters (like a smiley) during replaceNonValidXmlCharacters Default: false + + + Should properties (values between <code>${</code> and <code>}</code>) be resolved. Default: false + + @@ -16030,7 +16204,7 @@ - Number of bytes (for binary input) or characters (for character input) to skip. An empty byte array or string is returned when skip is larger then the length of the input Default: 0 + Number of bytes (for binary input) or characters (for character input) to skip. An empty byte array or string is returned when skip is larger than the length of the input. Default: 0 @@ -16288,17 +16462,17 @@ - a string to compare the result of the xpathexpression (or the input-message itself) to. if not specified, a non-empty result leads to the 'then'-forward, an empty result to 'else'-forward + a string to compare the result of the xpathExpression (or the input-message itself) to. If not specified, a non-empty result leads to the 'then'-forward, an empty result to 'else'-forward - forward returned when <code>'true'</code> Default: then + forward returned when output is <code>true</code> Default: then - forward returned when 'false' Default: else + forward returned when output is <code>false</code> Default: else @@ -16308,7 +16482,8 @@ - regular expression to be applied to the input-message (ignored if xpathexpression is specified). the input-message matching the given regular expression leads to the 'then'-forward + Regular expression to be applied to the input-message (ignored if <code>xpathExpression</code> is specified). + The input-message <b>fully</b> matching the given regular expression leads to the 'then'-forward @@ -16318,7 +16493,7 @@ - namespace defintions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. + namespace definitions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. @@ -16413,11 +16588,6 @@ Charset used when reading the contents of the entry (only used if streamingContents=false) Default: utf-8 - - - If set to <code>true</code>, a possible bytes order mark (BOM) at the start of the file is skipped (only used for encoding uft-8) Default: false - - @@ -16479,6 +16649,15 @@ + + + + + + + + + @@ -16515,15 +16694,6 @@ - - - - - - - - - 1. This method first stores all database jobs that can are found in the Quartz Scheduler in a Map. @@ -16562,11 +16732,37 @@ - + - - + + + + + + + + + + + Configuration on which job operates + + + + + Adapter on which job operates + + + + + Receiver on which job operates + + + + + + + @@ -16612,6 +16808,11 @@ + + + + + @@ -16670,37 +16871,6 @@ - - - - - - - - - - - - - - Configuration on which job operates - - - - - Adapter on which job operates - - - - - Receiver on which job operates - - - - - - - @@ -16935,7 +17105,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -17016,100 +17186,6 @@ - - - - - Renders the contents of the first node (in combination with xslt or xpath). Please note that - if there are child nodes, only the contents are returned, use <code>XML</code> if the xml tags are required - - - - - Renders an xml-nodeset as an xml-string (in combination with xslt or xpath). This will include the xml tags - - - - - Renders the CONTENTS of the first node as a nodeset - that can be used as such when passed as xslt-parameter (only for XSLT 1.0). - Please note that the nodeset may contain multiple nodes, without a common root node. - N.B. The result is the set of children of what you might expect it to be... - - - - - Renders XML as a DOM document; similar to <code>node</code> - with the distinction that there is always a common root node (required for XSLT 2.0) - - - - - Converts the result to a Date, by default using formatString <code>yyyy-MM-dd</code>. - When applied as a JDBC parameter, the method setDate() is used - - - - - Converts the result to a Date, by default using formatString <code>HH:mm:ss</code>. - When applied as a JDBC parameter, the method setTime() is used - - - - - Converts the result to a Date, by default using formatString <code>yyyy-MM-dd HH:mm:ss</code>. - When applied as a JDBC parameter, the method setTimestamp() is used - - - - - Similar to <code>DATETIME</code>, except for the formatString that is <code>yyyy-MM-dd HH:mm:ss.SSS</code> by default - - - - - Converts the result from a XML formatted dateTime to a Date. - When applied as a JDBC parameter, the method setTimestamp() is used - - - - - Converts the result to a Number, using decimalSeparator and groupingSeparator. - When applied as a JDBC parameter, the method setDouble() is used - - - - - Converts the result to an Integer - - - - - Converts the result to a Boolean - - - - - Forces the parameter value to be treated as binary data (e.g. when using a SQL BLOB field). - When applied as a JDBC parameter, the method setBinaryStream() or setBytes() is used - - - - - Forces the parameter value to be treated as character data (e.g. when using a SQL CLOB field). - When applied as a JDBC parameter, the method setCharacterStream() or setString() is used - - - - - Used for StoredProcedure OUT parameters when the database type is a {@code CURSOR} or java.sql.JDBCType#REF_CURSOR. - See also org.frankframework.jdbc.StoredProcedureQuerySender. - <br/> - DEPRECATED: Type LIST can also be used in larva test to Convert a List to an xml-string (&lt;items&gt;&lt;item&gt;...&lt;/item&gt;&lt;item&gt;...&lt;/item&gt;&lt;/items&gt;) - - - - @@ -17117,6 +17193,15 @@ + + + + + + + + + @@ -17131,11 +17216,7 @@ - - - (Only for produces) Attempts to detect the MimeType as well as charset when not known - - + @@ -17144,6 +17225,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17186,7 +17309,7 @@ - Automatically determine the type of the outgoing javax.jms.Message based + Automatically determine the type of the outgoing jakarta.jms.Message based on the value of Message#isBinary(). @@ -17416,6 +17539,13 @@ + + + + + + + @@ -17570,9 +17700,17 @@ + + + + + + + + @@ -17719,7 +17857,7 @@ - + @@ -17826,6 +17964,100 @@ + + + + + Renders the contents of the first node (in combination with xslt or xpath). Please note that + if there are child nodes, only the contents are returned, use <code>XML</code> if the xml tags are required + + + + + Renders an xml-nodeset as an xml-string (in combination with xslt or xpath). This will include the xml tags + + + + + Renders the CONTENTS of the first node as a nodeset + that can be used as such when passed as xslt-parameter (only for XSLT 1.0). + Please note that the nodeset may contain multiple nodes, without a common root node. + N.B. The result is the set of children of what you might expect it to be... + + + + + Renders XML as a DOM document; similar to <code>node</code> + with the distinction that there is always a common root node (required for XSLT 2.0) + + + + + Converts the result to a Date, by default using formatString <code>yyyy-MM-dd</code>. + When applied as a JDBC parameter, the method setDate() is used + + + + + Converts the result to a Date, by default using formatString <code>HH:mm:ss</code>. + When applied as a JDBC parameter, the method setTime() is used + + + + + Converts the result to a Date, by default using formatString <code>yyyy-MM-dd HH:mm:ss</code>. + When applied as a JDBC parameter, the method setTimestamp() is used + + + + + Similar to <code>DATETIME</code>, except for the formatString that is <code>yyyy-MM-dd HH:mm:ss.SSS</code> by default + + + + + Converts the result from a XML formatted dateTime to a Date. + When applied as a JDBC parameter, the method setTimestamp() is used + + + + + Converts the result to a Number, using decimalSeparator and groupingSeparator. + When applied as a JDBC parameter, the method setDouble() is used + + + + + Converts the result to an Integer + + + + + Converts the result to a Boolean + + + + + Forces the parameter value to be treated as binary data (e.g. when using a SQL BLOB field). + When applied as a JDBC parameter, the method setBinaryStream() or setBytes() is used + + + + + Forces the parameter value to be treated as character data (e.g. when using a SQL CLOB field). + When applied as a JDBC parameter, the method setCharacterStream() or setString() is used + + + + + Used for StoredProcedure OUT parameters when the database type is a {@code CURSOR} or java.sql.JDBCType#REF_CURSOR. + See also org.frankframework.jdbc.StoredProcedureQuerySender. + <br/> + DEPRECATED: Type LIST can also be used in larva test to Convert a List to an xml-string (&lt;items&gt;&lt;item&gt;...&lt;/item&gt;&lt;item&gt;...&lt;/item&gt;&lt;/items&gt;) + + + + @@ -17980,6 +18212,20 @@ + + + + + + + + + + + + + + @@ -18101,7 +18347,7 @@ - + @@ -18138,6 +18384,102 @@ + + + The value of the parameter, or the base for transformation using xpathExpression or stylesheet, or formatting. + + + + + Key of a PipelineSession-variable. <br/>If specified, the value of the PipelineSession variable is used as input for + the xpathExpression or stylesheet, instead of the current input message. <br/>If no xpathExpression or stylesheet are + specified, the value itself is returned. <br/>If the value '*' is specified, all existing sessionkeys are added as + parameter of which the name starts with the name of this parameter. <br/>If also the name of the parameter has the + value '*' then all existing sessionkeys are added as parameter (except tsReceived) + + + + + key of message context variable to use as source, instead of the message found from input message or sessionKey itself + + + + + Instead of a fixed <code>sessionKey</code> it's also possible to use a XPath expression applied to the input message to extract the name of the session-variable. + + + + + If the result of sessionKey, xpathExpression and/or stylesheet returns null or an empty string, this value is returned + + + + + Comma separated list of methods (<code>defaultValue</code>, <code>sessionKey</code>, <code>pattern</code>, <code>value</code> or <code>input</code>) to use as default value. Used in the order they appear until a non-null value is found. Default: <code>defaultValue</code> + + + + + Value of parameter is determined using substitution and formatting, following MessageFormat syntax with named parameters. The expression can contain references + to <code>session-variables</code> or other <code>parameters</code> using the {name-of-parameter} and is formatted using java.text.MessageFormat. + <br/><b>NB: When referencing other <code>parameters</code> these MUST be defined before the parameter using pattern substitution.</b> + <br/> + <br/> + If for instance <code>fname</code> is a parameter or session-variable that resolves to Eric, then the pattern + 'Hi {fname}, how do you do?' resolves to 'Hi Eric, do you do?'.<br/> + The following predefined reference can be used in the expression too:<ul> + <li>{now}: the current system time</li> + <li>{uid}: an unique identifier, based on the IP address and java.rmi.server.UID</li> + <li>{uuid}: an unique identifier, based on the IP address and java.util.UUID</li> + <li>{hostname}: the name of the machine the application runs on</li> + <li>{username}: username from the credentials found using authAlias, or the username attribute</li> + <li>{password}: password from the credentials found using authAlias, or the password attribute</li> + <li>{fixeddate}: fake date, for testing only</li> + <li>{fixeduid}: fake uid, for testing only</li> + <li>{fixedhostname}: fake hostname, for testing only</li> + </ul> + A guid can be generated using {hostname}_{uid}, see also + <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/uid.html">http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/uid.html</a> for more information about (g)uid's or + <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/uuid.html">http://docs.oracle.com/javase/1.5.0/docs/api/java/util/uuid.html</a> for more information about uuid's. + <br/> + When combining a date or time <code>pattern</code> like {now} or {fixeddate} with a DATE, TIME, DATETIME or TIMESTAMP <code>type</code>, the effective value of the attribute + <code>formatString</code> must match the effective value of the formatString in the <code>pattern</code>. + + + + + If set <code>true</code> pattern elements that cannot be resolved to a parameter or sessionKey are silently resolved to an empty string + + + + + If set (>=0) and the length of the value of the parameter falls short of this minimum length, the value is padded Default: -1 + + + + + If set (>=0) and the length of the value of the parameter exceeds this maximum length, the length is trimmed to this maximum length Default: -1 + + + + + If set to <code>true</code>, the value of the parameter will not be shown in the log (replaced by asterisks) Default: <code>false</code> + + + + + Set the mode of the parameter, which determines if the parameter is an INPUT, OUTPUT, or INOUT. + This parameter only has effect for StoredProcedureQuerySender. + An OUTPUT parameter does not need to have a value specified, but does need to have the type specified. + Parameter values will not be updated, but output values will be put into the result of the + StoredProcedureQuerySender. + <b/> + If not specified, the default is INPUT. + + + + + Folder that is scanned for files. If not set, the root is scanned @@ -18262,7 +18604,7 @@ - The JMS javax.jms.Message class for the outgoing message. + The JMS jakarta.jms.Message class for the outgoing message. Currently supported are MessageClass#TEXT for JMS TextMessage, MessageClass#BYTES for JMS BytesMessage, or MessageClass#AUTO for auto-determination based on whether the input Message is binary or character. @@ -18460,7 +18802,7 @@ - Controls wheter the returned package content is db2 format or xml format. + Controls if the returned package content is db2 format or xml format. Possible values: <ul> <li>select:</li> xml content s expected @@ -18899,11 +19241,6 @@ Comma separated list of domains to which mails can be send, domains not on the list are filtered out. Empty allows all domains - - - Optional identifier for this storage, to be able to share the physical storage between a number of receivers and pipes. - - Possible values are <code>E</code> (error store), <code>M</code> (message store), <code>L</code> (message log for Pipe) or <code>A</code> (message log for Receiver).<br/> @@ -19089,7 +19426,9 @@ Regular expression to mask strings in the log. For example, the regular expression <code>(?&lt;=&lt;password&gt;).*?(?=&lt;/password&gt;)</code> will replace every character between keys '&lt;password&gt;' and '&lt;/password&gt;'. <b>note:</b> this feature is used at adapter level, - so one pipe affects all pipes in the pipeline (and multiple values in different pipes are merged) + so a {@code hideRegex} set on one pipe affects all pipes in the pipeline (and multiple values in different pipes are combined into a single regex). + The regular expressions are matched against part of the log lines. See int) + with {@code mode = 0} for how regular expressions are matched and replaced. @@ -19227,11 +19566,6 @@ Session key for retrieving a schema - - - Namespace defintions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. For some use other cases (NOT xpathExpression), one entry can be without a prefix, that will define the default namespace. - - Key of session variable to store number of items processed, i.e. the position or index in the set of items to be processed. When handling the first item, the value will be 1. diff --git a/src/main/configurations/FrankConfig.xsd b/src/main/configurations/FrankConfig.xsd index d2917c351..8b5f8c138 100644 --- a/src/main/configurations/FrankConfig.xsd +++ b/src/main/configurations/FrankConfig.xsd @@ -1,5 +1,5 @@ - + Container of Adapters that belong together. @@ -41,7 +41,12 @@ - An Adapter receives a specific type of messages and processes them. It has Receivers + The Adapter is the central manager in the framework. It has knowledge of both + Receivers as well as the PipeLine and statistics. + The Adapter is the class that is responsible for configuring, initializing and + accessing/activating Receivers, Pipelines, statistics etc. + <br/> + An Adapter receives a specific type of messages and processes them. It has Receivers that receive the messages and a PipeLine that transforms the incoming messages. Each adapter is part of a Configuration. <br/> If an adapter can receive its messages through multiple channels (e.g. RESTful HTTP requests, incoming files, etc), @@ -294,7 +299,7 @@ - Regular expression to mask strings in the errorStore/logStore. Every character between to the strings in this expression will be replaced by a '*'. For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every character between keys &lt;party&gt; and &lt;/party&gt; + Regular expression to mask strings in the errorStore/logStore and logfiles. Every character between to the strings in this expression will be replaced by a '*'. For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every character between keys &lt;party&gt; and &lt;/party&gt; @@ -329,77 +334,31 @@ - Generic parameter definition. - - A parameter resembles an attribute. However, while attributes get their value at configuration-time, - parameters get their value at the time of processing the message. Value can be retrieved from the message itself, - a fixed value, or from the pipelineSession. If this does not result in a value (or if neither of these is specified), a default value - can be specified. If an XPathExpression or stylesheet is specified, it will be applied to the message, the value retrieved - from the pipelineSession or the fixed value specified. If the transformation produces no output, the default value - of the parameter is taken if provided. - <br/><br/> - Examples: - <pre><code> - stored under SessionKey 'TransportInfo': - &lt;transportinfo&gt; - &lt;to&gt;***@zonnet.nl&lt;/to&gt; - &lt;to&gt;***@zonnet.nl&lt;/to&gt; - &lt;cc&gt;***@zonnet.nl&lt;/cc&gt; - &lt;/transportinfo&gt; - - to obtain all 'to' addressees as a parameter: - sessionKey="TransportInfo" - xpathExpression="transportinfo/to" - type="xml" - - Result: - &lt;to&gt;***@zonnet.nl&lt;/to&gt; - &lt;to&gt;***@zonnet.nl&lt;/to&gt; - </code></pre> - - N.B. to obtain a fixed value: a non-existing 'dummy' <code>sessionKey</code> in combination with the fixed value in <code>defaultValue</code> is used traditionally. - The current version of parameter supports the 'value' attribute, that is sufficient to set a fixed value. + Placeholder class to allow legacy configuration notations <code>&lt;param type='number' /&gt;</code> in the new Frank!Config XSD. + <p> + The attribute <code>type</code> has been removed in favor of explicit ParameterTypes such as: <code>NumberParameter</code>, <code>DateParameter</code> and <code>BooleanParameter</code>. + Using the new elements enables the use of auto-completion for the specified type. - + - - - Name of the parameter - - - The target data type of the parameter, related to the database or XSLT stylesheet to which the parameter is applied. + The target data type of the parameter, related to the database or XSLT stylesheet to which the parameter is applied. Default: STRING - - - The value of the parameter, or the base for transformation using xpathExpression or stylesheet, or formatting. - - - - - Key of a PipelineSession-variable. <br/>If specified, the value of the PipelineSession variable is used as input for - the xpathExpression or stylesheet, instead of the current input message. <br/>If no xpathExpression or stylesheet are - specified, the value itself is returned. <br/>If the value '*' is specified, all existing sessionkeys are added as - parameter of which the name starts with the name of this parameter. <br/>If also the name of the parameter has the - value '*' then all existing sessionkeys are added as parameter (except tsReceived) - - - - - key of message context variable to use as source, instead of the message found from input message or sessionKey itself - - - + - Instead of a fixed <code>sessionKey</code> it's also possible to use a XPath expression applied to the input message to extract the name of the session-variable. + Name of the parameter + + + + URL to a stylesheet that wil be applied to the contents of the message or the value of the session-variable. @@ -426,44 +385,9 @@ When set <code>true</code> namespaces (and prefixes) in the input message are removed before the stylesheet/xpathExpression is executed Default: <code>false</code> - - - If the result of sessionKey, xpathExpression and/or stylesheet returns null or an empty string, this value is returned - - - - - Comma separated list of methods (<code>defaultValue</code>, <code>sessionKey</code>, <code>pattern</code>, <code>value</code> or <code>input</code>) to use as default value. Used in the order they appear until a non-null value is found. Default: <code>defaultValue</code> - - - - - Value of parameter is determined using substitution and formatting, following MessageFormat syntax with named parameters. The expression can contain references - to <code>session-variables</code> or other <code>parameters</code> using the {name-of-parameter} and is formatted using java.text.MessageFormat. - <br/><b>NB: When referencing other <code>parameters</code> these MUST be defined before the parameter using pattern substitution.</b> - <br/> - <br/> - If for instance <code>fname</code> is a parameter or session-variable that resolves to Eric, then the pattern - 'Hi {fname}, how do you do?' resolves to 'Hi Eric, do you do?'.<br/> - The following predefined reference can be used in the expression too:<ul> - <li>{now}: the current system time</li> - <li>{uid}: an unique identifier, based on the IP address and java.rmi.server.UID</li> - <li>{uuid}: an unique identifier, based on the IP address and java.util.UUID</li> - <li>{hostname}: the name of the machine the application runs on</li> - <li>{username}: username from the credentials found using authAlias, or the username attribute</li> - <li>{password}: password from the credentials found using authAlias, or the password attribute</li> - <li>{fixeddate}: fake date, for testing only</li> - <li>{fixeduid}: fake uid, for testing only</li> - <li>{fixedhostname}: fake hostname, for testing only</li> - </ul> - A guid can be generated using {hostname}_{uid}, see also - <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/uid.html">http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/uid.html</a> for more information about (g)uid's or - <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/uuid.html">http://docs.oracle.com/javase/1.5.0/docs/api/java/util/uuid.html</a> for more information about uuid's. - <br/> - When combining a date or time <code>pattern</code> like {now} or {fixeddate} with a DATE, TIME, DATETIME or TIMESTAMP <code>type</code>, the effective value of the attribute - <code>formatString</code> must match the effective value of the formatString in the <code>pattern</code>. - - + + + Alias used to obtain username and password, used when a <code>pattern</code> containing {username} or {password} is specified @@ -479,65 +403,11 @@ Default password that is used when a <code>pattern</code> containing {password} is specified - - - If set <code>true</code> pattern elements that cannot be resolved to a parameter or sessionKey are silently resolved to an empty string - - - - - Used in combination with types <code>DATE</code>, <code>TIME</code>, <code>DATETIME</code> and <code>TIMESTAMP</code> to parse the raw parameter string data into an object of the respective type Default: depends on type - - - - - Used in combination with type <code>NUMBER</code> Default: system default - - - - - Used in combination with type <code>NUMBER</code> Default: system default - - - - - If set (>=0) and the length of the value of the parameter falls short of this minimum length, the value is padded Default: -1 - - - - - If set (>=0) and the length of the value of the parameter exceeds this maximum length, the length is trimmed to this maximum length Default: -1 - - - - - Used in combination with type <code>number</code>; if set and the value of the parameter exceeds this maximum value, this maximum value is taken - - - - - Used in combination with type <code>number</code>; if set and the value of the parameter falls short of this minimum value, this minimum value is taken - - - - - If set to <code>true</code>, the value of the parameter will not be shown in the log (replaced by asterisks) Default: <code>false</code> - - - - - Set the mode of the parameter, which determines if the parameter is an INPUT, OUTPUT, or INOUT. - This parameter only has effect for StoredProcedureQuerySender. - An OUTPUT parameter does not need to have a value specified, but does need to have the type specified. - Parameter values will not be updated, but output values will be put into the result of the - StoredProcedureQuerySender. - <b/> - If not specified, the default is INPUT. - - - - - + + + + + @@ -924,7 +794,8 @@ - time (with suffix 'd', 'h', 'm' or 's' in milliseconds) that must have passed at least before a file will be deleted Default: 30d + Minimum amount of time (with suffix 'd', 'h', 'm' or 's') that must have passed before a file will be deleted. + You may only use one suffix! Default: 30d @@ -1124,7 +995,7 @@ - + @@ -1136,6 +1007,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of the parameter + + + + + + + + + URL to a stylesheet that wil be applied to the contents of the message or the value of the session-variable. + + + + + the XPath expression to extract the parameter value from the (xml formatted) input or session-variable. + + + + + If set to <code>2</code> or <code>3</code> a Saxon (net.sf.saxon) xslt processor 2.0 or 3.0 respectively will be used, otherwise xslt processor 1.0 (org.apache.xalan). <code>0</code> will auto-detect Default: 0 + + + + + Namespace definitions for xpathExpression. Must be in the form of a comma or space separated list of + <code>prefix=namespaceuri</code>-definitions. One entry can be without a prefix, that will define the default namespace. + + + + + When set <code>true</code> namespaces (and prefixes) in the input message are removed before the stylesheet/xpathExpression is executed Default: <code>false</code> + + + + + + + + Alias used to obtain username and password, used when a <code>pattern</code> containing {username} or {password} is specified + + + + + Default username that is used when a <code>pattern</code> containing {username} is specified + + + + + Default password that is used when a <code>pattern</code> containing {password} is specified + + + + + + + + + + + + + + + + + + + Used in combination with types <code>DATE</code>, <code>TIME</code>, <code>DATETIME</code> and <code>TIMESTAMP</code> to parse the raw parameter string data into an object of the respective type Default: depends on type + + + + + + + + + + + + + + + + + + + + + Separate the integer part from the fractional part of a number. Default: system default + + + + + In the United States, the comma is typically used for the grouping separator; however, several publication standards follow international standards in using either a space or a thin space character. Default: system default + + + + + Used in combination with type <code>number</code>; if set and the value of the parameter exceeds this maximum value, this maximum value is taken + + + + + Used in combination with type <code>number</code>; if set and the value of the parameter falls short of this minimum value, this minimum value is taken + + + + + + + @@ -1143,7 +1187,7 @@ Listener that allows a Receiver to receive messages as a REST webservice. Prepends the configured URI pattern with <code>api/</code>. The structure of REST messages is described by OpenAPI specifications. The Frank!Framework generates an OpenAPI specification for each ApiListener and - also an OpenAPI specification for all ApiListeners in all configurations. You can + for all ApiListeners in all configurations combined. You can find them in the Frank!Console under main menu item Webservices, heading Available ApiListeners. <p> The generated OpenAPI specifications have <code>servers</code> and <code>paths</code> objects and @@ -1151,19 +1195,19 @@ <p> It is possible to automatically generate eTags over the listener result. This can be controlled by globally setting the property <code>api.etag.enabled</code> or by setting the attribute <code>updateEtag="true"</code>. - When enabled the listener will respond to the 'if-match', 'if-none-match' headers and may return status code 304. + When enabled the listener will respond to the <code>If-Match</code>, <code>If-None-Match</code> headers and may return status code 304. <p> - In order to make eTags work across multiple nodes you must configure Memcached to store the eTags. + In order to enable eTags for multiple nodes you must configure Memcached to store the eTags. The following properties will need to be set: <ul> - <li>etag.cache.server=ip or hostname:port</li> - <li>etag.cache.type=memcached</li> + <li><code>etag.cache.server=ip or hostname:port</code></li> + <li><code>etag.cache.type=memcached</code></li> </ul> In case authentication, is required the following application properties can be used: <ul> - <li>etag.cache.username</li> - <li>etag.cache.password</li> - <li>etag.cache.authalias</li> + <li><code>etag.cache.username</code></li> + <li><code>etag.cache.password</code></li> + <li><code>etag.cache.authalias</code></li> </ul> @@ -1339,7 +1383,7 @@ <p>You can add parameters to the JmsListener, the values will be added as Headers to the JMS response message.</p> <p><b>Notice:</b> the JmsListener is ONLY capable of processing - javax.jms.TextMessages and javax.jms.BytesMessage<br/><br/> + jakarta.jms.TextMessages and jakarta.jms.BytesMessage<br/><br/> </p> @@ -1444,7 +1488,7 @@ whatever it is configured to.</p> </p> <p><b>Notice:</b> the JmsListener is ONLY capable of processing - <code>javax.jms.TextMessage</code>s <br/><br/> + <code>jakarta.jms.TextMessage</code>s <br/><br/> </p> @@ -1494,7 +1538,7 @@ whatever it is configured to.</p> <p><b>Notice:</b> the JmsListener is ONLY capable of processing - javax.jms.TextMessages and javax.jms.BytesMessage<br/><br/> + jakarta.jms.TextMessages and jakarta.jms.BytesMessage<br/><br/> </p> @@ -1625,19 +1669,22 @@ - + - HTTP method(s) to listen to, separated by comma Default: GET + HTTP method(s) to listen to. Inside XML Configurations: for multiple values, use a comma as separator. Default: GET + + + - URI pattern to register this listener on, eq. `/my-listener/{something}/here` + URI pattern to register this listener on, eq. <code>/my-listener/{something}/here</code> - The required contentType on requests, if it doesn't match a 415 Unsupported Media Type is replied Default: ANY + The required contentType on requests, if it doesn't match a <code>415 Unsupported Media Type</code> is replied. Default: ANY @@ -1645,7 +1692,8 @@ - The specified contentType on response. When <code>ANY</code> the response will determine the content type based on the return data. Default: ANY + The specified contentType on response. When <code>ANY</code> the response will determine the content-type when it's known and will never calculate it. If no match is found <code>*&#47;*</code> will be used. + When <code>DETECT</code> the framework attempts to detect the MimeType (as well as charset) when not known. Default: ANY @@ -1664,7 +1712,7 @@ - Enables security for this listener. If you wish to use the application servers authorisation roles [AUTHROLE], you need to enable them globally for all ApiListeners with the `servlet.ApiListenerServlet.securityRoles=IbisTester,IbisWebService` property Default: <code>NONE</code> + Enables security for this listener. If you wish to use the application servers authorization roles [AUTHROLE], you need to enable them globally for all ApiListeners with the <code>servlet.ApiListenerServlet.securityRoles=IbisTester,IbisWebService</code> property Default: <code>NONE</code> @@ -1672,7 +1720,7 @@ - Only active when AuthenticationMethod=AUTHROLE. Comma separated list of authorization roles which are granted for this service, eq. IbisTester,IbisObserver", ""}) + Only active when AuthenticationMethod=AUTHROLE. Comma separated list of authorization roles which are granted for this service, eq. <code>IbisTester,IbisObserver</code> @@ -1702,7 +1750,7 @@ - Session key that provides the Content-Disposition header in the response + Session key that provides the <code>Content-Disposition</code> header in the response @@ -1717,7 +1765,7 @@ - Header to extract JWT from + Header to extract JWT from Default: <code>Authorization</code> @@ -1727,22 +1775,22 @@ - Comma separated key value pairs to exactly match with JWT payload. e.g. "sub=UnitTest, aud=test" + Comma separated key value pairs to exactly match with JWT payload. e.g. <code>sub=UnitTest, aud=test</code> - Comma separated key value pairs to one-of match with JWT payload. e.g. "appid=a,appid=b" + Comma separated key value pairs to one-of match with JWT payload. e.g. <code>appid=a,appid=b</code> - Claim name which specifies the role + Claim name which specifies the role (maps to <code>IsUserInRolePipe</code>) - Claim name which specifies the principal name (maps to GetPrincipalPipe) + Claim name which specifies the principal name (maps to <code>GetPrincipalPipe</code>) @@ -1914,7 +1962,7 @@ - + @@ -2709,29 +2757,30 @@ - Field containing the status of the message. For optimal performance, and index should exist that starts with this field, contains all fields that are used with a fixed value in the select condition, and end with the orderField. + Field containing the status of the message. + <b>NB: For optimal performance, an index should exist that starts with this field, followed by all fields that are used with a fixed value in the select condition, and end with the <code>orderField</code>. - (optional) Field used to store the date and time of the last change of the statusField + (optional) Field used to store the date and time of the last change of the <code>statusField</code> - (optional) Field used to store the reason of the last change of the statusField + (optional) Field used to store the reason of the last change of the <code>statusField</code> - (optional) Value of statusField indicating row is available to be processed. If not specified, any row not having any of the other status values is considered available. + (optional) Value of <code>statusField</code> indicating row is available to be processed. If not specified, any row not having any of the other status values is considered available. - Value of statusField indicating the processing of the row resulted in an error + Value of <code>statusField</code> indicating the processing of the row resulted in an error @@ -2741,12 +2790,12 @@ - Value of status field indicating is being processed. Can be left emtpy if database has SKIP LOCKED functionality and the Receiver can be (and is) set to Required or RequiresNew. + Value of <code>statusField</code> indicating is being processed. Can be left emtpy if database has <code>SKIP LOCKED</code> functionality and the <code>transactionAttribute</code> of the <code>Receiver</code> can be (and is) set to <code>Required</code> or <code>RequiresNew</code>. - Value of status field indicating message is on Hold, temporarily + Value of <code>statusField</code> indicating message is on Hold, temporarily @@ -2818,17 +2867,18 @@ - Field containing the status of the message. For optimal performance, and index should exist that starts with this field, contains all fields that are used with a fixed value in the select condition, and end with the orderField. Default: TYPE + Field containing the status of the message. + <b>NB: For optimal performance, an index should exist that starts with this field, followed by all fields that are used with a fixed value in the select condition, and end with the <code>orderField</code>. Default: TYPE - (optional) Field used to store the date and time of the last change of the statusField Default: MESSAGEDATE + (optional) Field used to store the date and time of the last change of the <code>statusField</code> Default: MESSAGEDATE - (optional) Field used to store the reason of the last change of the statusField Default: COMMENTS + (optional) Field used to store the reason of the last change of the <code>statusField</code> Default: COMMENTS @@ -2843,7 +2893,7 @@ - Value of statusField indicating the processing of the row resulted in an error Default: <code>E</code> + Value of <code>statusField</code> indicating the processing of the row resulted in an error Default: <code>E</code> @@ -2980,11 +3030,6 @@ Can be either <code>/rest</code> or <code>/rest-public</code> and must correspond with the available RestListenerServlet path(s). - - - Indicates whether this listener supports a view (and a link should be put in the ibis console) Default: if <code>method=get</code> then <code>true</code>, else <code>false</code> - - Comma separated list of authorization roles which are granted for this rest service Default: IbisAdmin,IbisDataAdmin,IbisTester,IbisObserver,IbisWebService @@ -3023,6 +3068,12 @@ If set to true the ibis will automatically create an etag Default: false + + + Uses an JsonPipe to convert the json-input to xml, and xml-output to json. + Use with caution, a properly configured Input/Output-wrapper can do much more and is more robust! Default: true + + @@ -3338,7 +3389,7 @@ - + @@ -3424,7 +3475,7 @@ - If <code>true</code>, the the cache is reloaded after the JVM restarts Default: false + If <code>true</code>, the cache is stored on disk and survives configuration reloads & JVM restarts. Default: false @@ -3525,7 +3576,16 @@ - Sender to work with Amazon S3. + Sender to work with the Amazon S3 Filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom user-metadata on S3 files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> @@ -3901,8 +3961,7 @@ - Requires the net.bankid.merchant.library V1.06+. - Compile with Java 1.7+ + Requires the net.bankid.merchant.library V1.2.9 @@ -3932,15 +3991,15 @@ - Sender used to run JavaScript code using J2V8 + Sender used to run JavaScript code using `JavascriptEngine` implementations. <p> - This sender can execute a function of a given javascript file, the result of the function will be the output of the sender. - The parameters of the javascript function to run are given as parameters by the adapter configuration + This sender can execute a function of a given Javascript file, the result of the function will be the output of the sender. + The parameters of the Javascript function to run are given as parameters by the adapter configuration The sender doesn't accept nor uses the given input, instead for each argument for the #jsFunctionName method, you will need to create a parameter on the sender. </p> <p> - The result of the javascript function should be of type String, or directly convertible to String from a primitive type + The result of the Javascript function should be of type String, or directly convertible to String from a primitive type or an array of primitive types / strings, as the output of the sender will be of type String. </p> <p> @@ -4076,6 +4135,18 @@ + + Sender to work with the server local filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom extended attributes on files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> + @@ -4414,7 +4485,7 @@ Collection of Senders, that are executed all at the same time. Once the results are processed, all results will be sent to the resultSender, - while the original sender will return it's result to the pipeline. + while the original sender will return its result to the pipeline. <p>Multiple sub-senders can be configured within the ShadowSender, the minimum amount of senders is 2 (originalSender + resultSender)</p> @@ -4447,7 +4518,7 @@ </p> <p> All stored procedure parameters that are not fixed, so specified in the query with a {@code ?}, should - have a corresponding Parameter entry. Output parameters should have {@code mode="OUTPUT"}, or + have a corresponding IParameter entry. Output parameters should have {@code mode="OUTPUT"}, or {@code mode="INOUT"} depending on how the stored procedure is defined. </p> <p> @@ -4531,31 +4602,19 @@ - + - Sender that sends a message via a WebService based on NTLM authentication. + Sender that sends a message via a WebService. - + - - - Sender that sends a message via a WebService. - - - - - - - - - - + XCom client voor het versturen van files via XCom. @@ -4837,7 +4896,7 @@ - + @@ -4875,7 +4934,7 @@ - If set <code>true</code>, the folder to create, write, move or copy the file to is created if it does not exist Default: false + If <code>true</code>: if a non-existing folder is part of the fileName, it will be created. Default: false @@ -4936,6 +4995,14 @@ + + + Filter for action <code>list</code>. Specify <code>FILES_ONLY</code>, <code>FOLDERS_ONLY</code> or <code>FILES_AND_FOLDERS</code>. Default: FILES_ONLY + + + + + @@ -4962,7 +5029,8 @@ - The connection timeout in seconds Default: 10 + READ_TIMEOUT timeout in MS. + Defaults to 10000, inherited from HttpSender#setTimeout. Default: 10000 @@ -5202,7 +5270,7 @@ - + @@ -5423,7 +5491,7 @@ - + @@ -5921,7 +5989,7 @@ - + @@ -5950,7 +6018,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -6015,7 +6083,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -6116,11 +6184,6 @@ The set of available sessionKeys to be returned might be limited by the returnedSessionKeys attribute of the corresponding JavaListener. - - - Currently used to mimic the HttpSender when it is stubbed locally. It could be useful in other situations too although currently the response string is used which isn't streamed, it would be better to pass the multipart as an input stream in the context map in which case content type and charset could also be passed Default: false - - Set to 'DLL' to make the dispatcher communicate with a DLL set on the classpath @@ -6189,7 +6252,11 @@ - + + + + + This is the contract number for iDIN the Merchant received from its Acquirer after registration, @@ -6264,7 +6331,7 @@ has the file extension .cer,.crt or .pem. - + This is the certificate owned by the Merchant. Its public key is used by the Issuer to encrypt information. The Merchant can then use the private key to decrypt that information. The SAML certificate must be in @@ -6285,6 +6352,13 @@ + + + + + Load configuration from XML. Attributes may overwrite this 'default'. + + @@ -6297,7 +6371,7 @@ - + @@ -6393,7 +6467,7 @@ - the name of the JavaScript engine to be used. Default: J2V8 + the name of the JavaScript engine to use. Default: J2V8 @@ -6654,7 +6728,7 @@ - + @@ -6727,7 +6801,13 @@ - Optional base folder, that serves as root for all other folders + Path to the folder that serves as the root of this virtual filesystem. All specifications of folders or files are relative to this root. + When the root is left unspecified, absolute paths to files and folders can be used + + + + + Whether the LocalFileSystem tries to create the root folder if it doesn't exist yet. @@ -6823,7 +6903,7 @@ - + @@ -6837,10 +6917,17 @@ If set to <code>true</code>, the message is stored only if the MessageId is not present in the store yet. Default: <code>true</code> + + + Set the slotId, an identifier to keep separate the messages inserted + by different MessageStoreSenders. + <br/> + This field should be set. + + - @@ -6866,7 +6953,15 @@ - + + + Set the slotId, an identifier to keep separate the messages inserted + by different JdbcTransactionalStorage instances. + <br/> + This field is optional, unless the attribute #onlyStoreWhenMessageIdUnique is + set to {@code true}. + + @@ -6968,7 +7063,14 @@ - Regular expression to mask strings in the errorStore/logStore. Every character between to the strings in this expression will be replaced by a '*'. For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every character between keys &lt;party&gt; and &lt;/party&gt; + Regular expression to mask strings in the errorStore/logStore. + Every character between to the strings in this expression will be replaced by a '*'. + <br/> + For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every + character between keys &lt;party&gt; and &lt;/party&gt; + <br/> + When no hideRegex is configured on the errorStore / logStore but is configured on the org.frankframework.receivers.Receiver#setHideRegex(String), + then the Receiver's hideRegex is used for the errorStore / logStore. @@ -7053,7 +7155,7 @@ - + @@ -7075,7 +7177,7 @@ NetStorage action to be used - + @@ -7142,7 +7244,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -7471,7 +7573,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -7851,64 +7953,6 @@ - - - - - - - - - content-type of the request Default: text/html; charset=utf-8 - - - - - url or base of url to be used - - - - - timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 - - - - - the maximum number of concurrent connections Default: 10 - - - - - alias used to obtain credentials for authentication to host - - - - - username used in authentication to host - - - - - password used to authenticate with the host - - - - - - - Default: 80 - - - - - the soapactionuri to be set in the requestheader - - - - - - - @@ -8000,7 +8044,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -8209,15 +8253,9 @@ - - - - - - @@ -8318,7 +8356,7 @@ - + @@ -8347,7 +8385,16 @@ - Sender to work with Amazon S3. + Sender to work with the Amazon S3 Filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom user-metadata on S3 files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> @@ -8723,8 +8770,7 @@ - Requires the net.bankid.merchant.library V1.06+. - Compile with Java 1.7+ + Requires the net.bankid.merchant.library V1.2.9 @@ -8754,15 +8800,15 @@ - Sender used to run JavaScript code using J2V8 + Sender used to run JavaScript code using `JavascriptEngine` implementations. <p> - This sender can execute a function of a given javascript file, the result of the function will be the output of the sender. - The parameters of the javascript function to run are given as parameters by the adapter configuration + This sender can execute a function of a given Javascript file, the result of the function will be the output of the sender. + The parameters of the Javascript function to run are given as parameters by the adapter configuration The sender doesn't accept nor uses the given input, instead for each argument for the #jsFunctionName method, you will need to create a parameter on the sender. </p> <p> - The result of the javascript function should be of type String, or directly convertible to String from a primitive type + The result of the Javascript function should be of type String, or directly convertible to String from a primitive type or an array of primitive types / strings, as the output of the sender will be of type String. </p> <p> @@ -8898,6 +8944,18 @@ + + Sender to work with the server local filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom extended attributes on files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> + @@ -9236,7 +9294,7 @@ Collection of Senders, that are executed all at the same time. Once the results are processed, all results will be sent to the resultSender, - while the original sender will return it's result to the pipeline. + while the original sender will return its result to the pipeline. <p>Multiple sub-senders can be configured within the ShadowSender, the minimum amount of senders is 2 (originalSender + resultSender)</p> @@ -9269,7 +9327,7 @@ </p> <p> All stored procedure parameters that are not fixed, so specified in the query with a {@code ?}, should - have a corresponding Parameter entry. Output parameters should have {@code mode="OUTPUT"}, or + have a corresponding IParameter entry. Output parameters should have {@code mode="OUTPUT"}, or {@code mode="INOUT"} depending on how the stored procedure is defined. </p> <p> @@ -9353,18 +9411,6 @@ - - - Sender that sends a message via a WebService based on NTLM authentication. - - - - - - - - - Sender that sends a message via a WebService. @@ -9730,7 +9776,14 @@ - Regular expression to mask strings in the errorStore/logStore. Every character between to the strings in this expression will be replaced by a '*'. For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every character between keys &lt;party&gt; and &lt;/party&gt; + Regular expression to mask strings in the errorStore/logStore. + Every character between to the strings in this expression will be replaced by a '*'. + <br/> + For example, the regular expression (?&lt;=&lt;party&gt;).*?(?=&lt;/party&gt;) will replace every + character between keys &lt;party&gt; and &lt;/party&gt; + <br/> + When no hideRegex is configured on the errorStore / logStore but is configured on the org.frankframework.receivers.Receiver#setHideRegex(String), + then the Receiver's hideRegex is used for the errorStore / logStore. @@ -9987,7 +10040,7 @@ - + @@ -10157,7 +10210,7 @@ - + @@ -10723,7 +10776,7 @@ - + @@ -10883,7 +10936,7 @@ - + @@ -11290,6 +11343,11 @@ If true, the password is sent digested; Otherwise it is sent in clear text Default: true + + + For direction=<code>wrap</code> only: When false, adds an XML declaration to the output message. Default: true + + The functional name of this pipe. Can be referenced by the <code>path</code> attribute of a PipeForward. @@ -11428,7 +11486,7 @@ - + @@ -11738,7 +11796,7 @@ - + @@ -11757,7 +11815,7 @@ - + @@ -11808,7 +11866,7 @@ whatever it is configured to.</p> </p> <p><b>Notice:</b> the JmsListener is ONLY capable of processing - <code>javax.jms.TextMessage</code>s <br/><br/> + <code>jakarta.jms.TextMessage</code>s <br/><br/> </p> @@ -12499,8 +12557,149 @@ - Produces a fixed result that does not depend on the input message. It may return the contents of a file - when <code>filename</code> or <code>filenameSessionKey</code> is specified. Otherwise the + This Pipe opens and returns a file from the classpath. The filename is a mandatory parameter to use. You can + provide this by using the <code>filename</code> attribute or with a <code>param</code> element to be able to + use a sessionKey for instance. + + <h2>Migrating from deprecated features</h2> + The FixedResultPipe was a jack of all trades. You could use it to read a file (only text) and/or use + a 'resultString' to find / replace values in. The following migrations are available: + + <h3>For using a 'resultString'</h3> + You can use the EchoPipe for a static value. This looked like this before: + + <pre> + {@code + <pipe name="HelloWorld" className="org.frankframework.pipes.FixedResult" returnString="Hello World"> + <forward name="success" path="EXIT"/> + </pipe> + } + </pre> + Becomes: + <pre> + {@code + <pipe name="HelloWorld" className="org.frankframework.pipes.EchoPipe" getInputFromFixedValue="Hello World"> + <forward name="success" path="EXIT"/> + </pipe> + } + </pre> + + <h3>For replacing a value</h3> + You can use the ReplacerPipe to replace a value in multiple ways. First, when you need to replace a placeholder with a parameter. + This looked like: + <pre> + {@code + <pipe name="make unique message" className="org.frankframework.pipes.FixedResultPipe" + returnString="&lt;msg mid=&quot;MID&quot; action=&quot;ACTION&quot; /&gt;" replaceFixedParams="true"> + <param name="MID" sessionKey="mid" /> + <param name="ACTION" xpathExpression="request/@action" /> + </pipe> + } + </pre> + + And can now be written like this (note the ?{..} syntax): + <pre> + {@code + <pipe name="make unique message" className="org.frankframework.pipes.ReplacerPipe" + getInputFromFixedValue="&lt;msg mid=&quot;?{MID}&quot; action=&quot;?{ACTION}&quot; /&gt;"> + <param name="MID" sessionKey="mid" /> + <param name="ACTION" xpathExpression="request/@action" /> + </pipe> + } + </pre> + + When you need to replace a fixed value use the ReplacerPipe with find and replace. This looked like this: + <pre> + {@code + <FixedResultPipe name="InputValidateError" + filename="ManageFileSystem/xml/ErrorMessage.xml" + replaceFrom="%reasonCode" replaceTo="NOT_WELL_FORMED_XML"> + <forward name="success" path="EXIT" /> + </FixedResultPipe> + } + </pre> + + And now should be solved like this: + <pre> + {@code + <FixedResultPipe name="InputValidateError" + filename="ManageFileSystem/xml/ErrorMessage.xml"> + <forward name="success" path="replaceReasonCode" /> + </FixedResultPipe> + <ReplacerPipe name="replaceReasonCode" + find="%reasonCode" + replace="NOT_WELL_FORMED_XML"> + <forward name="success" path="EXIT" /> + </ReplacerPipe> + } + </pre> + This is also an example of now using two pipes to achieve the same result. Each pipe has its own responsibility. + + <h2>More complex configurations</h2> + In some cases, a combination of the above is needed to achieve what worked before. In some cases, FixedResultPipe + was also used to store information in the session. For example, a port of configuration in the JMS listener sender configuration looked like this: + <pre> + {@code + <CompareStringPipe name="compareIdAndCid" > + <param name="operand1" sessionKey="id"/> + <param name="operand2" sessionKey="cid"/> + <forward name="equals" path="IdAndCidSame" /> + <forward name="lessthan" path="IdAndCidDifferent" /> + <forward name="greaterthan" path="IdAndCidDifferent" /> + </CompareStringPipe> + <FixedResultPipe name="IdAndCidSame" returnString="true" storeResultInSessionKey="IdAndCidSame"> + <forward name="success" path="displayKeys" /> + </FixedResultPipe> + <FixedResultPipe name="IdAndCidDifferent" returnString="false" storeResultInSessionKey="IdAndCidSame"> + <forward name="success" path="displayKeys" /> + </FixedResultPipe> + + <pipe name="displayKeys" className="org.frankframework.pipes.FixedResultPipe" + returnString="branch [BRANCH] Orignal Id [MID] cid [CID] id=cid [SAME]" replaceFixedParams="true"> + <param name="BRANCH" sessionKey="originalMessage" xpathExpression="*&#47;@branch" /> + <param name="MID" sessionKey="id" /> + <param name="CID" sessionKey="cid" /> + <param name="SAME" sessionKey="IdAndCidSame" /> + <forward name="success" path="EXIT" /> + </pipe> + } + </pre> + + Was rewritten to the following: + <pre> + {@code + <CompareStringPipe name="compareIdAndCid" > + <param name="operand1" sessionKey="id"/> + <param name="operand2" sessionKey="cid"/> + <forward name="equals" path="IdAndCidSame" /> + <forward name="lessthan" path="IdAndCidDifferent" /> + <forward name="greaterthan" path="IdAndCidDifferent" /> + </CompareStringPipe> + + <PutInSessionPipe name="IdAndCidSame" value="true" sessionKey="IdAndCidSame"> + <forward name="success" path="putOriginalMessageInSession" /> + </PutInSessionPipe> + <PutInSessionPipe name="IdAndCidDifferent" value="false" sessionKey="IdAndCidSame"> + <forward name="success" path="putOriginalMessageInSession" /> + </PutInSessionPipe> + + <PutInSessionPipe name="putOriginalMessageInSession" sessionKey="incomingMessage"/> + + <pipe name="displayKeys" className="org.frankframework.pipes.ReplacerPipe" + getInputFromFixedValue="branch [?{BRANCH}] Original Id [?{MID}] cid [?{CID}] id=cid [?{SAME}]"> + <param name="BRANCH" sessionKey="originalMessage" xpathExpression="*&#47;@branch" /> + <param name="MID" sessionKey="id" /> + <param name="CID" sessionKey="cid" /> + <param name="SAME" sessionKey="IdAndCidSame" /> + <forward name="success" path="EXIT" /> + </pipe> + } + </pre> + <p> + + <h2>The features/documentation of the deprecated features</h2> + Produces a fixed result that does not depend on the input message. It may return the contents of a file + when <code>filename</code> or <code>filenameSessionKey</code> is specified. Otherwise, the value of attribute <code>returnString</code> is returned. <br/><br/> Using parameters and the attributes of this pipe, it is possible to substitute values. This pipe @@ -12508,11 +12707,13 @@ <ol> <li>During execution, this pipe first obtains a string based on attributes <code>returnString</code>, <code>filename</code> or <code>filenameSessionKey</code>.</li> <li>The resulting string is transformed according to attributes <code>replaceFrom</code> and <code>replaceTo</code> if set. - Please note that the plain value of attribute <code>replaceFrom</code> is matched, no <code>${...}</code> here.</li> + Please note that the plain value of attribute <code>replaceFrom</code> is matched, no <code>?{...}</code> here.</li> + <li>The resulting string is substituted based on the parameters of this pipe. This step depends on attribute <code>replaceFixedParams</code>. Assume that there is a parameter with name <code>xyz</code>. If <code>replaceFixedParams</code> is <code>false</code>, then - each occurrence of <code>${xyz}</code> is replaced by the parameter's value. Otherwise, the text <code>xyz</code> + each occurrence of <code>?{xyz}</code> is replaced by the parameter's value. Otherwise, the text <code>xyz</code> is substituted. See Parameter to see how parameter values are determined.</li> + <li>If attribute <code>substituteVars</code> is <code>true</code>, then expressions <code>${...}</code> are substituted using system properties, pipelinesession variables and application properties. Please note that no <code>${...}</code> patterns are left if the initial string came from attribute <code>returnString</code>, because @@ -12646,19 +12847,6 @@ - - - Selects an exitState, based on the content-type of a httpServletRequest - object as input. - - - - - - - - - Pipe that increases the integer value of a session variable. @@ -12897,6 +13085,21 @@ + + Pipe to work with the server local filesystem. + <p> + In addition to regular parameters for filesystem senders, it is possible + to set custom extended attributes on files by prefixing parameter names with + FileAttribute.. + This prefix will be not be part of the actual metadata property name. + </p> + <p> + The string value of these parameters will be used as value of the custom metadata attribute. + </p> + <p> + If extended attributes actually can be written depends on the underlying OS / filesystem. + </p> + @@ -12984,7 +13187,7 @@ - Returns random password. + Generates a random password. @@ -13101,8 +13304,18 @@ - Replaces all occurrences of one string with another. - Optionally strips or replaces XML non-printable characters. + This Pipe is used to replace values in a few ways. The following steps are performed: + <ol> + <li>If <code>find</code> is provided, it will be replaced by <code>replace</code></li> + <li>The resulting string is substituted based on the parameters of this pipe. It will replace values in the input enclosed + with ?{}, for instance: ?{parameterOne}, with parameters of this pipe. If a parameter for the given value is not found, it + will not be replaced and the '?{parameterOne}' value will remain in the output. + <p> + See Parameter to see how parameter values are determined.</li> + <p> + <li>If attribute <code>substituteVars</code> is <code>true</code>, then expressions <code>${...}</code> are substituted using + system properties, session variables and application properties. Please note that no <code>${...}</code> patterns are left in the input. </li> + </ol> @@ -13239,7 +13452,7 @@ - Skip a number of bytes or characters from the input. + Skip a number of bytes or characters from the input message. @@ -13439,7 +13652,7 @@ - Selects an forward, based on XPath evaluation + Selects a forward, based on XPath evaluation @@ -13667,7 +13880,11 @@ Alternatively: xpath-expression to create stylesheet from - + + + Namespace defintions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. For some use other cases (NOT xpathExpression), one entry can be without a prefix, that will define the default namespace. + + Only valid for xpathexpression Default: text @@ -14004,7 +14221,11 @@ Alternatively: xpath-expression to create stylesheet from - + + + Namespace defintions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. For some use other cases (NOT xpathExpression), one entry can be without a prefix, that will define the default namespace. + + Only valid for xpathexpression Default: text @@ -14096,29 +14317,14 @@ if <code>true</code> the pipe compresses, otherwise it decompress Default: false - - - required if result is a file, the pattern for the result filename. Can be set with variables e.g. {file}.{ext}.zip in this example the {file} and {ext} variables are resolved with sessionKeys with the same name - - flag indicates whether the message is the content or the path to a file with the contents. for multiple files use ';' as delimiter Default: false - - - required if result is a file, the directory in which to store the result file - - - flag indicates whether the result must be written to the message or to a file (filename = message) Default: false - - - - - the pattern for the zipentry name in case a zipfile is read or written + flag indicates whether the result must be written to the message or to a file (filename = message) Default: true when outputDirectory is not set. @@ -14345,47 +14551,11 @@ - - - Should values between ${ and } be resolved. If true, the search order of replacement values is: - system properties (1), pipelinesession variables (2), application properties (3). Default: false - - Name of the file containing the result message. - - - Name of the session key containing the file name of the file containing the result message. - - - - - Returned message. - - - - - If set, every occurrence of this attribute's value is replaced by the value of <code>replaceTo</code>. - - - - - See <code>replaceFrom</code>. - - - - - File name of XSLT stylesheet to apply. - - - - - When set <code>true</code>, parameter replacement matches <code>name-of-parameter</code>, not <code>${name-of-parameter}</code> Default: false - - @@ -14575,19 +14745,6 @@ - - - - - - - - - - - - - @@ -14633,7 +14790,7 @@ - forward returned when <code>'true'</code> Default: then + forward returned when <code>true</code> Default: then @@ -14969,10 +15126,13 @@ The scenario sub directory to execute - + the larva log level: one of [debug], [pipeline messages prepared for diff], [pipeline messages], [wrong pipeline messages prepared for diff], [wrong pipeline messages], [step passed/failed], [scenario passed/failed], [scenario failed], [totals], [error] Default: wrong pipeline messages + + + @@ -15102,7 +15262,13 @@ - the folder that serves as the root of this virtual filesystem + Path to the folder that serves as the root of this virtual filesystem. All specifications of folders or files are relative to this root. + When the root is left unspecified, absolute paths to files and folders can be used + + + + + Whether the LocalFileSystem tries to create the root folder if it doesn't exist yet. @@ -15136,7 +15302,7 @@ - If set <code>true</code>, the folder to create, write, move or copy the file to is created if it does not exist Default: false + If <code>true</code>: if a non-existing folder is part of the fileName, it will be created. Default: false @@ -15197,6 +15363,14 @@ + + + Filter for action <code>list</code>. Specify <code>FILES_ONLY</code>, <code>FOLDERS_ONLY</code> or <code>FILES_AND_FOLDERS</code>. Default: FILES_ONLY + + + + + @@ -15300,49 +15474,44 @@ - - - whether the securerandom algorithm is to be used (slower) Default: true - - - the lowercase characters to use Default: ('a'..'z') + The lowercase characters to use. Default: ('a'..'z') - the uppercase characters to use Default: ('A'..'Z') + The uppercase characters to use. Default: ('A'..'Z') - the numbers to use Default: ('0'..'9') + The numbers to use. Default: ('0'..'9') - the signs to use Default: (;:_%$#@!&gt;&lt;) + The signs to use. Default: (;:_%$#@!&gt;&lt;) - the number of lowercase characters in the generated password Default: 2 + The number of lowercase characters in the generated password. Default: 2 - the number of digits in the generated password Default: 2 + The number of digits in the generated password. Default: 2 - the number of sign characters in the generated password Default: 2 + The number of sign characters in the generated password. Default: 2 - the number of uppercase characters in the generated password Default: 2 + The number of uppercase characters in the generated password. Default: 2 @@ -15658,7 +15827,7 @@ Sets the string that will replace each of the occurrences of the find-string. Newlines can be represented - * by the #setLineSeparatorSymbol(String). + * by the #setLineSeparatorSymbol(String). @@ -15669,11 +15838,11 @@ Replace all characters that are non-printable according to the XML specification with - the value specified in #setReplaceNonXmlChar(String). + the value specified in #setNonXmlReplacementCharacter(String). <p> - <b>NB:</b> This will only replace or remove characters considered non-printable. This - will not check if a given character is valid in the particular way it is used. Thus it will - not remove or replace, for instance, a single {@code '&'} character. + <b>NB:</b> This will only replace or remove characters considered non-printable. This + will not check if a given character is valid in the particular way it is used. Thus it will + not remove or replace, for instance, a single {@code '&'} character. </p> <p> See also: @@ -15684,9 +15853,9 @@ </p> Default: false - + - character that will replace each non valid xml character (empty string is also possible) (use &amp;#x00bf; for inverted question mark) Default: empty string + character that will replace each non-valid xml character (empty string is also possible) (use &amp;#x00bf; for inverted question mark) Default: empty string @@ -15694,6 +15863,11 @@ Whether to allow Unicode supplementary characters (like a smiley) during replaceNonValidXmlCharacters Default: false + + + Should properties (values between <code>${</code> and <code>}</code>) be resolved. Default: false + + @@ -16030,7 +16204,7 @@ - Number of bytes (for binary input) or characters (for character input) to skip. An empty byte array or string is returned when skip is larger then the length of the input Default: 0 + Number of bytes (for binary input) or characters (for character input) to skip. An empty byte array or string is returned when skip is larger than the length of the input. Default: 0 @@ -16288,17 +16462,17 @@ - a string to compare the result of the xpathexpression (or the input-message itself) to. if not specified, a non-empty result leads to the 'then'-forward, an empty result to 'else'-forward + a string to compare the result of the xpathExpression (or the input-message itself) to. If not specified, a non-empty result leads to the 'then'-forward, an empty result to 'else'-forward - forward returned when <code>'true'</code> Default: then + forward returned when output is <code>true</code> Default: then - forward returned when 'false' Default: else + forward returned when output is <code>false</code> Default: else @@ -16308,7 +16482,8 @@ - regular expression to be applied to the input-message (ignored if xpathexpression is specified). the input-message matching the given regular expression leads to the 'then'-forward + Regular expression to be applied to the input-message (ignored if <code>xpathExpression</code> is specified). + The input-message <b>fully</b> matching the given regular expression leads to the 'then'-forward @@ -16318,7 +16493,7 @@ - namespace defintions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. + namespace definitions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. @@ -16413,11 +16588,6 @@ Charset used when reading the contents of the entry (only used if streamingContents=false) Default: utf-8 - - - If set to <code>true</code>, a possible bytes order mark (BOM) at the start of the file is skipped (only used for encoding uft-8) Default: false - - @@ -16479,6 +16649,15 @@ + + + + + + + + + @@ -16515,15 +16694,6 @@ - - - - - - - - - 1. This method first stores all database jobs that can are found in the Quartz Scheduler in a Map. @@ -16562,11 +16732,37 @@ - + - - + + + + + + + + + + + Configuration on which job operates + + + + + Adapter on which job operates + + + + + Receiver on which job operates + + + + + + + @@ -16612,6 +16808,11 @@ + + + + + @@ -16670,37 +16871,6 @@ - - - - - - - - - - - - - - Configuration on which job operates - - - - - Adapter on which job operates - - - - - Receiver on which job operates - - - - - - - @@ -16935,7 +17105,7 @@ - Timeout in ms of obtaining a connection/result. 0 means no timeout Default: 10000 + Timeout in ms of obtaining a connection/result. Default: 10000 @@ -17016,100 +17186,6 @@ - - - - - Renders the contents of the first node (in combination with xslt or xpath). Please note that - if there are child nodes, only the contents are returned, use <code>XML</code> if the xml tags are required - - - - - Renders an xml-nodeset as an xml-string (in combination with xslt or xpath). This will include the xml tags - - - - - Renders the CONTENTS of the first node as a nodeset - that can be used as such when passed as xslt-parameter (only for XSLT 1.0). - Please note that the nodeset may contain multiple nodes, without a common root node. - N.B. The result is the set of children of what you might expect it to be... - - - - - Renders XML as a DOM document; similar to <code>node</code> - with the distinction that there is always a common root node (required for XSLT 2.0) - - - - - Converts the result to a Date, by default using formatString <code>yyyy-MM-dd</code>. - When applied as a JDBC parameter, the method setDate() is used - - - - - Converts the result to a Date, by default using formatString <code>HH:mm:ss</code>. - When applied as a JDBC parameter, the method setTime() is used - - - - - Converts the result to a Date, by default using formatString <code>yyyy-MM-dd HH:mm:ss</code>. - When applied as a JDBC parameter, the method setTimestamp() is used - - - - - Similar to <code>DATETIME</code>, except for the formatString that is <code>yyyy-MM-dd HH:mm:ss.SSS</code> by default - - - - - Converts the result from a XML formatted dateTime to a Date. - When applied as a JDBC parameter, the method setTimestamp() is used - - - - - Converts the result to a Number, using decimalSeparator and groupingSeparator. - When applied as a JDBC parameter, the method setDouble() is used - - - - - Converts the result to an Integer - - - - - Converts the result to a Boolean - - - - - Forces the parameter value to be treated as binary data (e.g. when using a SQL BLOB field). - When applied as a JDBC parameter, the method setBinaryStream() or setBytes() is used - - - - - Forces the parameter value to be treated as character data (e.g. when using a SQL CLOB field). - When applied as a JDBC parameter, the method setCharacterStream() or setString() is used - - - - - Used for StoredProcedure OUT parameters when the database type is a {@code CURSOR} or java.sql.JDBCType#REF_CURSOR. - See also org.frankframework.jdbc.StoredProcedureQuerySender. - <br/> - DEPRECATED: Type LIST can also be used in larva test to Convert a List to an xml-string (&lt;items&gt;&lt;item&gt;...&lt;/item&gt;&lt;item&gt;...&lt;/item&gt;&lt;/items&gt;) - - - - @@ -17117,6 +17193,15 @@ + + + + + + + + + @@ -17131,11 +17216,7 @@ - - - (Only for produces) Attempts to detect the MimeType as well as charset when not known - - + @@ -17144,6 +17225,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17186,7 +17309,7 @@ - Automatically determine the type of the outgoing javax.jms.Message based + Automatically determine the type of the outgoing jakarta.jms.Message based on the value of Message#isBinary(). @@ -17416,6 +17539,13 @@ + + + + + + + @@ -17570,9 +17700,17 @@ + + + + + + + + @@ -17719,7 +17857,7 @@ - + @@ -17826,6 +17964,100 @@ + + + + + Renders the contents of the first node (in combination with xslt or xpath). Please note that + if there are child nodes, only the contents are returned, use <code>XML</code> if the xml tags are required + + + + + Renders an xml-nodeset as an xml-string (in combination with xslt or xpath). This will include the xml tags + + + + + Renders the CONTENTS of the first node as a nodeset + that can be used as such when passed as xslt-parameter (only for XSLT 1.0). + Please note that the nodeset may contain multiple nodes, without a common root node. + N.B. The result is the set of children of what you might expect it to be... + + + + + Renders XML as a DOM document; similar to <code>node</code> + with the distinction that there is always a common root node (required for XSLT 2.0) + + + + + Converts the result to a Date, by default using formatString <code>yyyy-MM-dd</code>. + When applied as a JDBC parameter, the method setDate() is used + + + + + Converts the result to a Date, by default using formatString <code>HH:mm:ss</code>. + When applied as a JDBC parameter, the method setTime() is used + + + + + Converts the result to a Date, by default using formatString <code>yyyy-MM-dd HH:mm:ss</code>. + When applied as a JDBC parameter, the method setTimestamp() is used + + + + + Similar to <code>DATETIME</code>, except for the formatString that is <code>yyyy-MM-dd HH:mm:ss.SSS</code> by default + + + + + Converts the result from a XML formatted dateTime to a Date. + When applied as a JDBC parameter, the method setTimestamp() is used + + + + + Converts the result to a Number, using decimalSeparator and groupingSeparator. + When applied as a JDBC parameter, the method setDouble() is used + + + + + Converts the result to an Integer + + + + + Converts the result to a Boolean + + + + + Forces the parameter value to be treated as binary data (e.g. when using a SQL BLOB field). + When applied as a JDBC parameter, the method setBinaryStream() or setBytes() is used + + + + + Forces the parameter value to be treated as character data (e.g. when using a SQL CLOB field). + When applied as a JDBC parameter, the method setCharacterStream() or setString() is used + + + + + Used for StoredProcedure OUT parameters when the database type is a {@code CURSOR} or java.sql.JDBCType#REF_CURSOR. + See also org.frankframework.jdbc.StoredProcedureQuerySender. + <br/> + DEPRECATED: Type LIST can also be used in larva test to Convert a List to an xml-string (&lt;items&gt;&lt;item&gt;...&lt;/item&gt;&lt;item&gt;...&lt;/item&gt;&lt;/items&gt;) + + + + @@ -17980,6 +18212,20 @@ + + + + + + + + + + + + + + @@ -18101,7 +18347,7 @@ - + @@ -18138,6 +18384,102 @@ + + + The value of the parameter, or the base for transformation using xpathExpression or stylesheet, or formatting. + + + + + Key of a PipelineSession-variable. <br/>If specified, the value of the PipelineSession variable is used as input for + the xpathExpression or stylesheet, instead of the current input message. <br/>If no xpathExpression or stylesheet are + specified, the value itself is returned. <br/>If the value '*' is specified, all existing sessionkeys are added as + parameter of which the name starts with the name of this parameter. <br/>If also the name of the parameter has the + value '*' then all existing sessionkeys are added as parameter (except tsReceived) + + + + + key of message context variable to use as source, instead of the message found from input message or sessionKey itself + + + + + Instead of a fixed <code>sessionKey</code> it's also possible to use a XPath expression applied to the input message to extract the name of the session-variable. + + + + + If the result of sessionKey, xpathExpression and/or stylesheet returns null or an empty string, this value is returned + + + + + Comma separated list of methods (<code>defaultValue</code>, <code>sessionKey</code>, <code>pattern</code>, <code>value</code> or <code>input</code>) to use as default value. Used in the order they appear until a non-null value is found. Default: <code>defaultValue</code> + + + + + Value of parameter is determined using substitution and formatting, following MessageFormat syntax with named parameters. The expression can contain references + to <code>session-variables</code> or other <code>parameters</code> using the {name-of-parameter} and is formatted using java.text.MessageFormat. + <br/><b>NB: When referencing other <code>parameters</code> these MUST be defined before the parameter using pattern substitution.</b> + <br/> + <br/> + If for instance <code>fname</code> is a parameter or session-variable that resolves to Eric, then the pattern + 'Hi {fname}, how do you do?' resolves to 'Hi Eric, do you do?'.<br/> + The following predefined reference can be used in the expression too:<ul> + <li>{now}: the current system time</li> + <li>{uid}: an unique identifier, based on the IP address and java.rmi.server.UID</li> + <li>{uuid}: an unique identifier, based on the IP address and java.util.UUID</li> + <li>{hostname}: the name of the machine the application runs on</li> + <li>{username}: username from the credentials found using authAlias, or the username attribute</li> + <li>{password}: password from the credentials found using authAlias, or the password attribute</li> + <li>{fixeddate}: fake date, for testing only</li> + <li>{fixeduid}: fake uid, for testing only</li> + <li>{fixedhostname}: fake hostname, for testing only</li> + </ul> + A guid can be generated using {hostname}_{uid}, see also + <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/uid.html">http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/uid.html</a> for more information about (g)uid's or + <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/uuid.html">http://docs.oracle.com/javase/1.5.0/docs/api/java/util/uuid.html</a> for more information about uuid's. + <br/> + When combining a date or time <code>pattern</code> like {now} or {fixeddate} with a DATE, TIME, DATETIME or TIMESTAMP <code>type</code>, the effective value of the attribute + <code>formatString</code> must match the effective value of the formatString in the <code>pattern</code>. + + + + + If set <code>true</code> pattern elements that cannot be resolved to a parameter or sessionKey are silently resolved to an empty string + + + + + If set (>=0) and the length of the value of the parameter falls short of this minimum length, the value is padded Default: -1 + + + + + If set (>=0) and the length of the value of the parameter exceeds this maximum length, the length is trimmed to this maximum length Default: -1 + + + + + If set to <code>true</code>, the value of the parameter will not be shown in the log (replaced by asterisks) Default: <code>false</code> + + + + + Set the mode of the parameter, which determines if the parameter is an INPUT, OUTPUT, or INOUT. + This parameter only has effect for StoredProcedureQuerySender. + An OUTPUT parameter does not need to have a value specified, but does need to have the type specified. + Parameter values will not be updated, but output values will be put into the result of the + StoredProcedureQuerySender. + <b/> + If not specified, the default is INPUT. + + + + + Folder that is scanned for files. If not set, the root is scanned @@ -18262,7 +18604,7 @@ - The JMS javax.jms.Message class for the outgoing message. + The JMS jakarta.jms.Message class for the outgoing message. Currently supported are MessageClass#TEXT for JMS TextMessage, MessageClass#BYTES for JMS BytesMessage, or MessageClass#AUTO for auto-determination based on whether the input Message is binary or character. @@ -18460,7 +18802,7 @@ - Controls wheter the returned package content is db2 format or xml format. + Controls if the returned package content is db2 format or xml format. Possible values: <ul> <li>select:</li> xml content s expected @@ -18899,11 +19241,6 @@ Comma separated list of domains to which mails can be send, domains not on the list are filtered out. Empty allows all domains - - - Optional identifier for this storage, to be able to share the physical storage between a number of receivers and pipes. - - Possible values are <code>E</code> (error store), <code>M</code> (message store), <code>L</code> (message log for Pipe) or <code>A</code> (message log for Receiver).<br/> @@ -19089,7 +19426,9 @@ Regular expression to mask strings in the log. For example, the regular expression <code>(?&lt;=&lt;password&gt;).*?(?=&lt;/password&gt;)</code> will replace every character between keys '&lt;password&gt;' and '&lt;/password&gt;'. <b>note:</b> this feature is used at adapter level, - so one pipe affects all pipes in the pipeline (and multiple values in different pipes are merged) + so a {@code hideRegex} set on one pipe affects all pipes in the pipeline (and multiple values in different pipes are combined into a single regex). + The regular expressions are matched against part of the log lines. See int) + with {@code mode = 0} for how regular expressions are matched and replaced. @@ -19227,11 +19566,6 @@ Session key for retrieving a schema - - - Namespace defintions for xpathExpression. Must be in the form of a comma or space separated list of <code>prefix=namespaceuri</code>-definitions. For some use other cases (NOT xpathExpression), one entry can be without a prefix, that will define the default namespace. - - Key of session variable to store number of items processed, i.e. the position or index in the set of items to be processed. When handling the first item, the value will be 1. From 6b377ebdfb444a93a115271bc28c51f678f7d463 Mon Sep 17 00:00:00 2001 From: MLenterman Date: Mon, 22 Jul 2024 11:07:17 +0200 Subject: [PATCH 27/27] fix: replace restoreElementToMove with replacerPipe due to elementToMove not working on non-xml anymore --- .../Translate/Configuration_PutZgwZaakDocument.xml | 10 +++++----- ...nfiguration_SoapEndpointRouter_BeantwoordVraag.xml | 8 ++++---- ...onfiguration_SoapEndpointRouter_VrijeBerichten.xml | 8 ++++---- ...onfiguration_Zaken_PostZgwZaakInformatieObject.xml | 11 +++++++---- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/main/configurations/Translate/Configuration_PutZgwZaakDocument.xml b/src/main/configurations/Translate/Configuration_PutZgwZaakDocument.xml index 517f0d369..704f56987 100644 --- a/src/main/configurations/Translate/Configuration_PutZgwZaakDocument.xml +++ b/src/main/configurations/Translate/Configuration_PutZgwZaakDocument.xml @@ -33,17 +33,17 @@ - - - + + + - + - + - + - + - - - + + + +