diff --git a/.config/owasp-suppressions.xml b/.config/owasp-suppressions.xml
index 051a11d32b..d2636c8f4c 100644
--- a/.config/owasp-suppressions.xml
+++ b/.config/owasp-suppressions.xml
@@ -35,4 +35,11 @@
^pkg:maven/com.jayway.jsonpath/json-path@2.8.0$
CVE-2023-51074
+
+
+ ^pkg:maven/org.eclipse.edc.connector.core@0.6.0$
+ CVE-2024-4536
+
\ No newline at end of file
diff --git a/.github/workflows/cucumber-integration-test-DIL.yaml b/.github/workflows/cucumber-integration-test-DIL.yaml
index b3469503b0..53a8375ab4 100644
--- a/.github/workflows/cucumber-integration-test-DIL.yaml
+++ b/.github/workflows/cucumber-integration-test-DIL.yaml
@@ -9,7 +9,32 @@ concurrency:
cancel-in-progress: true
jobs:
+
+ check-config:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check if DIL_REGULAR_USER_API_KEY is defined
+ run: |
+ if [[ -z "${{ secrets.DIL_REGULAR_USER_API_KEY }}" ]]; then
+ echo "Error: Missing secret: Please configure DIL_REGULAR_USER_API_KEY."
+ exit 1
+ fi
+ - name: Check if DIL_ADMIN_USER_API_KEY is defined
+ run: |
+ if [[ -z "${{ secrets.DIL_ADMIN_USER_API_KEY }}" ]]; then
+ echo "Error: Missing secret: Please configure DIL_ADMIN_USER_API_KEY."
+ exit 1
+ fi
+ - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined
+ run: |
+ if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then
+ echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN."
+ exit 1
+ fi
+ shell: bash
+
trigger-integration-test:
+ needs: check-config
uses: ./.github/workflows/cucumber-integration-test.yaml
secrets:
regularUserApiKey: ${{ secrets.DIL_REGULAR_USER_API_KEY }}
diff --git a/.github/workflows/cucumber-integration-test-INT.yaml b/.github/workflows/cucumber-integration-test-INT.yaml
index 4e0ead9325..85ac6f3e04 100644
--- a/.github/workflows/cucumber-integration-test-INT.yaml
+++ b/.github/workflows/cucumber-integration-test-INT.yaml
@@ -9,7 +9,32 @@ concurrency:
cancel-in-progress: true
jobs:
+
+ check-config:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check if INT_REGULAR_USER_API_KEY is defined
+ run: |
+ if [[ -z "${{ secrets.INT_REGULAR_USER_API_KEY }}" ]]; then
+ echo "Error: Missing secret: Please configure INT_REGULAR_USER_API_KEY."
+ exit 1
+ fi
+ - name: Check if INT_ADMIN_USER_API_KEY is defined
+ run: |
+ if [[ -z "${{ secrets.INT_ADMIN_USER_API_KEY }}" ]]; then
+ echo "Error: Missing secret: Please configure INT_ADMIN_USER_API_KEY."
+ exit 1
+ fi
+ - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined
+ run: |
+ if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then
+ echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN."
+ exit 1
+ fi
+ shell: bash
+
trigger-integration-test:
+ needs: check-config
uses: ./.github/workflows/cucumber-integration-test.yaml
secrets:
regularUserApiKey: ${{ secrets.INT_REGULAR_USER_API_KEY }}
diff --git a/.github/workflows/cucumber-integration-test.yaml b/.github/workflows/cucumber-integration-test.yaml
index 6e417a74fe..07c7953ea1 100644
--- a/.github/workflows/cucumber-integration-test.yaml
+++ b/.github/workflows/cucumber-integration-test.yaml
@@ -15,6 +15,7 @@ on:
type: string
jobs:
+
build:
runs-on: ubuntu-latest
@@ -40,9 +41,16 @@ jobs:
ADMIN_USER_API_KEY: ${{ secrets.adminUserApiKey }}
ISSUE_FILTER: ${{ inputs.executionFilter }}
CUCUMBER_PUBLISH_TOKEN: ${{ secrets.cucumberPublishToken }}
- # workaround replacement since injecting the token via environment variable does not work
run: |
- sed -i "s/CUCUMBER_TOKEN_IRS_PLACEHOLDER/${CUCUMBER_PUBLISH_TOKEN}/g" irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java
+ if [ -z "${{ secrets.cucumberPublishToken }}" ]; then
+ echo "Publish cucumber report disabled"
+ sed -i "s/PUBLISH_ENABLED_FLAG/false/g" irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java
+ else
+ echo "Publish cucumber report enabled"
+ sed -i "s/PUBLISH_ENABLED_FLAG/true/g" irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java
+ # workaround replacement since injecting the token via environment variable does not work
+ sed -i "s/CUCUMBER_TOKEN_IRS_PLACEHOLDER/${CUCUMBER_PUBLISH_TOKEN}/g" irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java
+ fi
mvn clean verify -P cucumber -Dgroups="$ISSUE_FILTER" -pl irs-cucumber-tests -am --batch-mode 2> irs-cucumber-tests/report-banner.txt
diff --git a/.github/workflows/int-setup-testdata.yml b/.github/workflows/int-setup-testdata.yml
deleted file mode 100644
index c97771b16d..0000000000
--- a/.github/workflows/int-setup-testdata.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-name: Integration testdata setup
-
-on:
- workflow_dispatch:
- inputs:
- testfilePath:
- description: 'Path to Testdata file on GitHub'
- required: true
- type: string
- submodelUrls:
- description: 'Space-separated list of Submodel server URLs'
- required: true
- type: string
- aasUrl:
- description: 'Digital twin registry URL'
- required: true
- type: string
- edcUrls:
- description: 'Space-separated list of Provider control plane URLs'
- required: true
- type: string
- edcApiKey:
- description: 'API-Key for the provider control plane'
- required: true
- type: string
- esrUrl:
- description: 'ESR endpoint Url'
- required: false
- type: string
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
-
- - name: setup python
- uses: actions/setup-python@v5
- with:
- python-version: 3.8 #install the python needed
- cache: 'pip'
- - run: pip install -r local/testing/testdata/requirements.txt
-
- - name: Delete existing and setup new test data on provider EDC and Registry
- if: ${{ github.event.inputs.esrUrl == '' }}
- env:
- TESTFILE_PATH: ${{ github.event.inputs.testfilePath }}
- SUBMODEL_URLs: ${{ github.event.inputs.submodelUrls }}
- AAS_URL: ${{ github.event.inputs.aasUrl }}
- EDC_URLs: ${{ github.event.inputs.edcUrls }}
- EDC_API_KEY: ${{ github.event.inputs.edcApiKey }}
- run: |
- python local/testing/testdata/reset-env.py \
- -a $AAS_URL \
- -edc $EDC_URLs \
- -k $EDC_API_KEY
- python local/testing/testdata/transform-and-upload.py \
- -f $TESTFILE_PATH \
- -s $SUBMODEL_URLs \
- -a $AAS_URL \
- -edc $EDC_URLs \
- -k $EDC_API_KEY
-
- - name: Delete existing and setup new test data on provider EDC and Registry
- if: ${{ github.event.inputs.esrUrl != '' }}
- env:
- TESTFILE_PATH: ${{ github.event.inputs.testfilePath }}
- SUBMODEL_URLs: ${{ github.event.inputs.submodelUrls }}
- AAS_URL: ${{ github.event.inputs.aasUrl }}
- EDC_URLs: ${{ github.event.inputs.edcUrls }}
- EDC_API_KEY: ${{ github.event.inputs.edcApiKey }}
- ESR_URL: ${{ github.event.inputs.esrUrl }}
- run: |
- python local/testing/testdata/reset-env.py \
- -a $AAS_URL \
- -edc $EDC_URLs \
- -k $EDC_API_KEY
- python local/testing/testdata/transform-and-upload.py \
- -f $TESTFILE_PATH \
- -s $SUBMODEL_URLs \
- -a $AAS_URL \
- -edc $EDC_URLs \
- -k $EDC_API_KEY
- -e $ESR_URL
diff --git a/.github/workflows/integration-test-DEV.yaml b/.github/workflows/integration-test-DEV.yaml
index d2498bb84d..f314ec76b1 100644
--- a/.github/workflows/integration-test-DEV.yaml
+++ b/.github/workflows/integration-test-DEV.yaml
@@ -2,6 +2,11 @@ name: IRS DEV Cucumber Integration test execution
on:
workflow_dispatch: # Trigger manually
+ inputs:
+ executionFilter:
+ description: 'Execution filter'
+ required: false
+ default: '!Ignore & !INACTIVE & INTEGRATION_TEST & DEV'
push:
branches:
- 'main'
@@ -19,12 +24,40 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
+
+
+
jobs:
+
+ check-config:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check if DEV_REGULAR_USER_API_KEY is defined
+ run: |
+ if [[ -z "${{ secrets.DEV_REGULAR_USER_API_KEY }}" ]]; then
+ echo "Error: Missing secret: Please configure DEV_REGULAR_USER_API_KEY."
+ exit 1
+ fi
+ - name: Check if DEV_ADMIN_USER_API_KEY is defined
+ run: |
+ if [[ -z "${{ secrets.DEV_ADMIN_USER_API_KEY }}" ]]; then
+ echo "Error: Missing secret: Please configure DEV_ADMIN_USER_API_KEY."
+ exit 1
+ fi
+ - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined
+ run: |
+ if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then
+ echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN."
+ exit 1
+ fi
+ shell: bash
+
trigger-integration-test:
+ needs: check-config
uses: ./.github/workflows/cucumber-integration-test.yaml
secrets:
regularUserApiKey: ${{ secrets.DEV_REGULAR_USER_API_KEY }}
adminUserApiKey: ${{ secrets.DEV_ADMIN_USER_API_KEY }}
cucumberPublishToken: ${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}
with:
- executionFilter: "!Ignore & !INACTIVE & INTEGRATION_TEST & DEV"
+ executionFilter: ${{ github.event.inputs.executionFilter || '!Ignore & !INACTIVE & INTEGRATION_TEST & DEV' }}
diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml
index 662f321822..c35a59c501 100644
--- a/.github/workflows/irs-build.yml
+++ b/.github/workflows/irs-build.yml
@@ -19,8 +19,20 @@ on:
tags:
- '**'
-
jobs:
+ init:
+ runs-on: ubuntu-latest
+ outputs:
+ image_namespace: tractusx
+ image_name: irs-api
+ docker_hub_user: ${{ secrets.DOCKER_HUB_USER }}
+ # In order to skip sonar if not configured
+ sonar_configured: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }}
+ steps:
+ - run: |
+ echo "Preparing variables"
+ echo "sonar_configured: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }}"
+
build:
runs-on: ubuntu-latest
steps:
@@ -45,10 +57,12 @@ jobs:
mvn clean verify --batch-mode
analyze_with_Sonar:
+ needs: [init]
# No need to run if we cannot use the sonar token
if: >-
- (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) &&
- github.actor != 'dependabot[bot]'
+ needs.init.outputs.sonar_configured == 'true'
+ && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
+ && github.actor != 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -86,6 +100,7 @@ jobs:
-Dcheckstyle.skip -Dpmd.skip=true
build_images:
+ needs: [init]
strategy:
matrix:
image:
@@ -116,66 +131,30 @@ jobs:
echo VERSION=$VERSION
echo "::set-output name=image_tag::$VERSION"
- - name: Log in to registry
- env:
- DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
- if: >-
- env.DOCKER_HUB_USER == '' &&
- (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) &&
- github.actor != 'dependabot[bot]'
- # This is where you will update the PAT to GITHUB_TOKEN
- run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
-
- - name: Push image (GHCR)
- env:
- DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
- if: >-
- env.DOCKER_HUB_USER == '' &&
- (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) &&
- github.actor != 'dependabot[bot]'
- run: |
- IMAGE_ID=ghcr.io/${{ github.repository_owner }}/${{ matrix.image }}
- # Change all uppercase to lowercase
- IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
- echo IMAGE_ID=$IMAGE_ID
-
- docker tag ${{ matrix.image }} $IMAGE_ID:${{ steps.version.outputs.image_tag }}
- docker push $IMAGE_ID:${{ steps.version.outputs.image_tag }}
-
- docker tag ${{ matrix.image }} $IMAGE_ID:$GITHUB_SHA
- docker push $IMAGE_ID:$GITHUB_SHA
-
- name: Login to Docker Hub
- env:
- DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
- if: env.DOCKER_HUB_USER != ''
+ if: needs.init.outputs.docker_hub_user != ''
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
- name: Push image (DockerHub)
- env:
- DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
- IMAGE_NAMESPACE: tractusx
- IMAGE_NAME: irs-api
- if: env.DOCKER_HUB_USER != ''
+ if: needs.init.outputs.docker_hub_user != '' && github.event_name != 'pull_request'
run: |
- docker tag ${{ matrix.image }} ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.image_tag }}
- docker push ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.image_tag }}
+ docker tag ${{ matrix.image }} ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }}
+ docker push ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }}
+
+ docker tag ${{ matrix.image }} $IMAGE_ID:$GITHUB_SHA
+ docker push $IMAGE_ID:$GITHUB_SHA
# https://github.com/peter-evans/dockerhub-description
- name: Update Docker Hub description
- env:
- DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
- IMAGE_NAMESPACE: tractusx
- IMAGE_NAME: irs-api
- if: env.DOCKER_HUB_USER != '' && github.event_name != 'pull_request'
+ if: needs.init.outputs.docker_hub_user != '' && github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
- repository: ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}
+ repository: ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}
readme-filepath: ./DOCKER_NOTICE.md
trigger-trivy-image-scan:
@@ -184,3 +163,4 @@ jobs:
needs:
- build_images
uses: ./.github/workflows/trivy-docker-hub-scan.yml
+
diff --git a/.github/workflows/irs-load-test.yaml b/.github/workflows/irs-load-test.yaml
index 25fa75c633..8c3166c594 100644
--- a/.github/workflows/irs-load-test.yaml
+++ b/.github/workflows/irs-load-test.yaml
@@ -19,7 +19,32 @@ on:
required: false
jobs:
+
+ check-config:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check if OAUTH2_CLIENT_TOKEN_URI is defined
+ run: |
+ if [[ -z "${{ secrets.OAUTH2_CLIENT_TOKEN_URI }}" ]]; then
+ echo "Error: Missing secret: Please configure OAUTH2_CLIENT_TOKEN_URI."
+ exit 1
+ fi
+ - name: Check if OAUTH2_CLIENT_SECRET is defined
+ run: |
+ if [[ -z "${{ secrets.OAUTH2_CLIENT_SECRET }}" ]]; then
+ echo "Error: Missing secret: Please configure OAUTH2_CLIENT_SECRET."
+ exit 1
+ fi
+ - name: Check if OAUTH2_CLIENT_ID is defined
+ run: |
+ if [[ -z "${{ secrets.OAUTH2_CLIENT_ID }}" ]]; then
+ echo "Error: Missing secret: Please configure OAUTH2_CLIENT_ID."
+ exit 1
+ fi
+ shell: bash
+
gatling-test:
+ needs: check-config
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
diff --git a/.github/workflows/owasp.yml b/.github/workflows/owasp.yml
index 7fc31acbcf..6fb83925ab 100644
--- a/.github/workflows/owasp.yml
+++ b/.github/workflows/owasp.yml
@@ -1,6 +1,8 @@
name: "OWASP dependency scanner"
on:
+ workflow_dispatch: # Additionally allow to trigger manually
+
push:
branches: main
paths-ignore:
diff --git a/.github/workflows/int-test-automation.yml b/.github/workflows/smoketest.yml
similarity index 97%
rename from .github/workflows/int-test-automation.yml
rename to .github/workflows/smoketest.yml
index d9ac02bdff..e648281acb 100644
--- a/.github/workflows/int-test-automation.yml
+++ b/.github/workflows/smoketest.yml
@@ -1,4 +1,4 @@
-name: IRS integration tests
+name: IRS smoke tests
on:
workflow_dispatch:
diff --git a/.github/workflows/trivy-image-scan.yml b/.github/workflows/trivy-image-scan.yml
index bfaf93381d..f815896ca5 100644
--- a/.github/workflows/trivy-image-scan.yml
+++ b/.github/workflows/trivy-image-scan.yml
@@ -59,9 +59,11 @@ jobs:
image-ref: "localhost:5000/irs-api:testing"
format: "sarif"
output: "trivy-results2.sarif"
- exit-code: "1"
+ exit-code: "1" # Trivy exits with code 1 if vulnerabilities are found, causing the workflow step to fail.
severity: "CRITICAL,HIGH"
trivyignores: .config/.trivyignore
+ limit-severities-for-sarif: true
+
- name: Upload Trivy scan results to GitHub Security tab
if: always()
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 47c1cd3419..874cac105c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,10 +8,23 @@ _**For better traceability add the corresponding GitHub issue number in each cha
## [Unreleased]
+## [5.1.9] - 2024-06-27
+
+### Added
+
+- soemthing was added
+
+### Changed
+
+- and something else was changed
+
+## [5.1.5] - 2024-06-27
+
### Fixed
- Fixed ESS Investigation job processing not starting #579
- Policy store API returns 'rightOperand' without 'odrl:' prefix now (see traceability-foss/issues/970).
+- Fixed trivy workflow to fail only on CRITICAL, HIGH (according to https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/pull/949/files).
### Changed
@@ -697,7 +710,9 @@ _**For better traceability add the corresponding GitHub issue number in each cha
- **Select Aspects you need** You are able to select the needed aspects for which you want to collect the correct endpoint information.
-[Unreleased]: https://github.com/eclipse-tractusx/item-relationship-service/compare/5.1.4...HEAD
+[Unreleased]: https://github.com/eclipse-tractusx/item-relationship-service/compare/5.1.9...HEAD
+[5.1.9]: https://github.com/eclipse-tractusx/item-relationship-service/compare/5.1.5...5.1.9
+[5.1.5]: https://github.com/eclipse-tractusx/item-relationship-service/compare/5.1.4...5.1.5
[5.1.4]: https://github.com/eclipse-tractusx/item-relationship-service/compare/5.1.3...5.1.4
[5.1.3]: https://github.com/eclipse-tractusx/item-relationship-service/compare/5.1.2...5.1.3
[5.1.2]: https://github.com/eclipse-tractusx/item-relationship-service/compare/5.1.1...5.1.2
diff --git a/DEPENDENCIES b/DEPENDENCIES
index d6c721bf7f..d105b524ec 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -305,12 +305,12 @@ maven/mavencentral/org.eclipse.tractusx.edc/core-spi/0.6.0, Apache-2.0, approved
maven/mavencentral/org.eclipse.tractusx.edc/edr-api/0.6.0, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx.edc/edr-spi/0.6.0, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx.irs/irs-api/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
-maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
-maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
-maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
+maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
+maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
+maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.eclipse.tractusx.irs/irs-policy-store/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
-maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
-maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
+maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
+maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx
maven/mavencentral/org.glassfish/jakarta.json/2.0.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp
maven/mavencentral/org.hamcrest/hamcrest-core/2.2, BSD-3-Clause, approved, clearlydefined
maven/mavencentral/org.hamcrest/hamcrest/2.2, BSD-3-Clause, approved, clearlydefined
diff --git a/TESTS.md b/TESTS.md
index b7e9059acd..e19b86d9bc 100644
--- a/TESTS.md
+++ b/TESTS.md
@@ -47,7 +47,7 @@ Wiremock Tests and their corresponding utilities are marked by the suffix `Wirem
### Smoke Tests
- The smoke test can be found under `irs-integration-tests/src/test/java/org/eclipse/tractusx/irs/smoketest/ItemGraphSmokeTest.java`.
-- It is executed via the GitHub workflow [IRS integration tests](.github/workflows/int-test-automation.yml).
+- It is executed via the GitHub workflow [IRS integration tests](.github/workflows/smoketest.yml).
### Regression Tests
diff --git a/charts/item-relationship-service/CHANGELOG.md b/charts/item-relationship-service/CHANGELOG.md
index 3392764545..e5ab1537f2 100644
--- a/charts/item-relationship-service/CHANGELOG.md
+++ b/charts/item-relationship-service/CHANGELOG.md
@@ -6,6 +6,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [7.1.9] - 2024-06-27
+
+### Changed
+
+- Update IRS version to 5.1.9
+
+## [7.1.5] - 2024-06-27
+
+### Changed
+
+- Update IRS version to 5.1.5
+
## [7.1.4] - 2024-05-27
diff --git a/charts/item-relationship-service/Chart.yaml b/charts/item-relationship-service/Chart.yaml
index 5eb5360ab9..c93fb20be5 100644
--- a/charts/item-relationship-service/Chart.yaml
+++ b/charts/item-relationship-service/Chart.yaml
@@ -35,12 +35,12 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 7.1.4
+version: 7.1.9
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
-appVersion: "5.1.4"
+appVersion: "5.1.9"
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
diff --git a/docs/src/api/irs-api.yaml b/docs/src/api/irs-api.yaml
index 8580810ea0..a848b8b5fb 100644
--- a/docs/src/api/irs-api.yaml
+++ b/docs/src/api/irs-api.yaml
@@ -1,18 +1,16 @@
openapi: 3.0.1
info:
- description: The API of the Item Relationship Service (IRS) for retrieving item
- graphs along the value chain of CATENA-X partners.
+ description: The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.
title: IRS API
- version: 5.1.4
+ version: 5.1.9
servers:
-- url: http://localhost:8080
+ - url: http://localhost:8080
security:
-- api_key: []
+ - api_key: []
paths:
/ess/bpn/investigations:
post:
- description: Registers an IRS job to start an investigation if a given bpn is
- contained in a part chain of a given globalAssetId.
+ description: Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId.
operationId: registerBPNInvestigation
requestBody:
content:
@@ -58,24 +56,23 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Authorization refused by server.
security:
- - api_key: []
- summary: Registers an IRS job to start an investigation if a given bpn is contained
- in a part chain of a given globalAssetId.
+ - api_key: []
+ summary: Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId.
tags:
- - Environmental and Social Standards
+ - Environmental and Social Standards
/ess/bpn/investigations/{id}:
get:
description: Return job with additional supplyChainImpacted information.
operationId: getBPNInvestigation
parameters:
- - description: Id of the job.
- example: 6c311d29-5753-46d4-b32c-19b918ea93b0
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
+ - description: Id of the job.
+ example: 6c311d29-5753-46d4-b32c-19b918ea93b0
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
responses:
"200":
content:
@@ -123,14 +120,13 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Job with the requested jobId not found.
security:
- - api_key: []
+ - api_key: []
summary: Return job with additional supplyChainImpacted information.
tags:
- - Environmental and Social Standards
+ - Environmental and Social Standards
/ess/notification/receive:
post:
- description: Accepts notifications via EDC. Notifications are filtered by their
- type and processed accordingly.
+ description: Accepts notifications via EDC. Notifications are filtered by their type and processed accordingly.
operationId: receiveEdcNotification
requestBody:
content:
@@ -152,7 +148,7 @@ paths:
description: Notification malformed.
summary: Accepts notifications sent via EDC.
tags:
- - Environmental and Social Standards
+ - Environmental and Social Standards
/irs/aspectmodels:
get:
description: Get all available aspect models from semantic hub or local models.
@@ -186,14 +182,13 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Authorization refused by server.
security:
- - api_key: []
+ - api_key: []
summary: Get all available aspect models from semantic hub or local models.
tags:
- - Aspect Models
+ - Aspect Models
/irs/ess/orders:
post:
- description: "Registers an order for an ESS investigation with an array of {globalAssetIds}.\
- \ Each globalAssetId will be processed in an separate job, grouped in batches."
+ description: "Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches."
operationId: registerESSInvestigationOrder
requestBody:
content:
@@ -239,65 +234,62 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Authorization refused by server.
security:
- - api_key: []
- summary: "Registers an order for an ESS investigation with an array of {globalAssetIds}.\
- \ Each globalAssetId will be processed in an separate job, grouped in batches."
+ - api_key: []
+ summary: "Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches."
tags:
- - Environmental and Social Standards
+ - Environmental and Social Standards
/irs/jobs:
get:
description: Returns paginated jobs with state and execution times.
operationId: getJobsByJobStates
parameters:
- - description: Requested job states.
- explode: false
- in: query
- name: states
- required: false
- schema:
- type: array
- items:
- type: string
- enum:
- - UNSAVED
- - INITIAL
- - RUNNING
- - TRANSFERS_FINISHED
- - COMPLETED
- - CANCELED
- - ERROR
- maxItems: 2147483647
- - description: Zero-based page index (0..N)
- in: query
- name: page
- required: false
- schema:
- type: integer
- default: 0
- - description: The size of the page to be returned
- in: query
- name: size
- required: false
- schema:
- type: integer
- default: 20
- - description: "Sorting criteria in the format: property,(asc|desc). Default\
- \ sort order is ascending. Multiple sort criteria are supported."
- in: query
- name: sort
- required: false
- schema:
- type: array
- items:
- type: string
+ - description: Requested job states.
+ explode: false
+ in: query
+ name: states
+ required: false
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - UNSAVED
+ - INITIAL
+ - RUNNING
+ - TRANSFERS_FINISHED
+ - COMPLETED
+ - CANCELED
+ - ERROR
+ maxItems: 2147483647
+ - description: Zero-based page index (0..N)
+ in: query
+ name: page
+ required: false
+ schema:
+ type: integer
+ default: 0
+ - description: The size of the page to be returned
+ in: query
+ name: size
+ required: false
+ schema:
+ type: integer
+ default: 20
+ - description: "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported."
+ in: query
+ name: sort
+ required: false
+ schema:
+ type: array
+ items:
+ type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/PageResult'
- description: Paginated list of jobs with state and execution times for requested
- job states.
+ description: Paginated list of jobs with state and execution times for requested job states.
"400":
content:
application/json:
@@ -326,10 +318,10 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Authorization refused by server.
security:
- - api_key: []
+ - api_key: []
summary: Returns paginated jobs with state and execution times.
tags:
- - Item Relationship Service
+ - Item Relationship Service
post:
description: "Register an IRS job to retrieve an item graph for given {globalAssetId}."
operationId: registerJobForGlobalAssetId
@@ -377,34 +369,32 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Authorization refused by server.
security:
- - api_key: []
+ - api_key: []
summary: "Register an IRS job to retrieve an item graph for given {globalAssetId}."
tags:
- - Item Relationship Service
+ - Item Relationship Service
/irs/jobs/{id}:
get:
description: Return job with optional item graph result for requested id.
operationId: getJobForJobId
parameters:
- - description: Id of the job.
- example: 6c311d29-5753-46d4-b32c-19b918ea93b0
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- maxLength: 36
- minLength: 36
- - description: "\\ Return job with current processed item graph. \\\
- Return job with item graph if job is in state COMPLETED, otherwise\
- \ job."
- in: query
- name: returnUncompletedJob
- required: false
- schema:
- type: boolean
- default: true
+ - description: Id of the job.
+ example: 6c311d29-5753-46d4-b32c-19b918ea93b0
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ maxLength: 36
+ minLength: 36
+ - description: "\\ Return job with current processed item graph. \\ Return job with item graph if job is in state COMPLETED, otherwise job."
+ in: query
+ name: returnUncompletedJob
+ required: false
+ schema:
+ type: boolean
+ default: true
responses:
"200":
content:
@@ -423,8 +413,7 @@ paths:
$ref: '#/components/examples/partial-job-result'
schema:
$ref: '#/components/schemas/Jobs'
- description: Return job with current processed item graph for the requested
- id.
+ description: Return job with current processed item graph for the requested id.
"400":
content:
application/json:
@@ -462,24 +451,24 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Job with the requested jobId not found.
security:
- - api_key: []
+ - api_key: []
summary: Return job with optional item graph result for requested id.
tags:
- - Item Relationship Service
+ - Item Relationship Service
put:
description: Cancel job for requested jobId.
operationId: cancelJobByJobId
parameters:
- - description: Id of the job.
- example: 6c311d29-5753-46d4-b32c-19b918ea93b0
- in: path
- name: id
- required: true
- schema:
- type: string
- format: uuid
- maxLength: 36
- minLength: 36
+ - description: Id of the job.
+ example: 6c311d29-5753-46d4-b32c-19b918ea93b0
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ maxLength: 36
+ minLength: 36
responses:
"200":
content:
@@ -527,14 +516,13 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Job for requested jobId not found.
security:
- - api_key: []
+ - api_key: []
summary: Cancel job for requested jobId.
tags:
- - Item Relationship Service
+ - Item Relationship Service
/irs/orders:
post:
- description: "Registers an IRS order with an array of {globalAssetIds}. Each\
- \ globalAssetId will be processed in an IRS Job, grouped in batches."
+ description: "Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches."
operationId: registerOrder
requestBody:
content:
@@ -580,26 +568,25 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Authorization refused by server.
security:
- - api_key: []
- summary: "Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId\
- \ will be processed in an IRS Job, grouped in batches."
+ - api_key: []
+ summary: "Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches."
tags:
- - Item Relationship Service
+ - Item Relationship Service
/irs/orders/{orderId}:
get:
description: Get a batch order for a given orderId.
operationId: getBatchOrder
parameters:
- - description: Id of the order.
- example: 6c311d29-5753-46d4-b32c-19b918ea93b0
- in: path
- name: orderId
- required: true
- schema:
- type: string
- format: uuid
- maxLength: 36
- minLength: 36
+ - description: Id of the order.
+ example: 6c311d29-5753-46d4-b32c-19b918ea93b0
+ in: path
+ name: orderId
+ required: true
+ schema:
+ type: string
+ format: uuid
+ maxLength: 36
+ minLength: 36
responses:
"200":
content:
@@ -647,24 +634,24 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Batch Order with the requested orderId not found.
security:
- - api_key: []
+ - api_key: []
summary: Get a batch order for a given orderId.
tags:
- - Item Relationship Service
+ - Item Relationship Service
put:
description: Cancel a batch order for a given orderId.
operationId: cancelBatchOrder
parameters:
- - description: Id of the order.
- example: 6c311d29-5753-46d4-b32c-19b918ea93b0
- in: path
- name: orderId
- required: true
- schema:
- type: string
- format: uuid
- maxLength: 36
- minLength: 36
+ - description: Id of the order.
+ example: 6c311d29-5753-46d4-b32c-19b918ea93b0
+ in: path
+ name: orderId
+ required: true
+ schema:
+ type: string
+ format: uuid
+ maxLength: 36
+ minLength: 36
responses:
"200":
content:
@@ -712,35 +699,35 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Batch Order with the requested orderId not found.
security:
- - api_key: []
+ - api_key: []
summary: Cancel a batch order for a given orderId.
tags:
- - Item Relationship Service
+ - Item Relationship Service
/irs/orders/{orderId}/batches/{batchId}:
get:
description: Get a batch with a given batchId for a given orderId.
operationId: getBatch
parameters:
- - description: Id of the order.
- example: 6c311d29-5753-46d4-b32c-19b918ea93b0
- in: path
- name: orderId
- required: true
- schema:
- type: string
- format: uuid
- maxLength: 36
- minLength: 36
- - description: Id of the batch.
- example: 4bce40b8-64c7-41bf-9ca3-e9432c7fef98
- in: path
- name: batchId
- required: true
- schema:
- type: string
- format: uuid
- maxLength: 36
- minLength: 36
+ - description: Id of the order.
+ example: 6c311d29-5753-46d4-b32c-19b918ea93b0
+ in: path
+ name: orderId
+ required: true
+ schema:
+ type: string
+ format: uuid
+ maxLength: 36
+ minLength: 36
+ - description: Id of the batch.
+ example: 4bce40b8-64c7-41bf-9ca3-e9432c7fef98
+ in: path
+ name: batchId
+ required: true
+ schema:
+ type: string
+ format: uuid
+ maxLength: 36
+ minLength: 36
responses:
"200":
content:
@@ -788,51 +775,51 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Batch with the requested orderId and batchId not found.
security:
- - api_key: []
+ - api_key: []
summary: Get a batch with a given batchId for a given orderId.
tags:
- - Item Relationship Service
+ - Item Relationship Service
/irs/policies:
get:
description: Lists the registered policies that should be accepted in EDC negotiation.
operationId: getAllowedPoliciesByBpn
parameters:
- - description: List of business partner numbers.
- in: query
- name: businessPartnerNumbers
- required: false
- schema:
- type: array
- items:
- type: string
+ - description: List of business partner numbers.
+ in: query
+ name: businessPartnerNumbers
+ required: false
+ schema:
+ type: array
+ items:
+ type: string
responses:
"200":
content:
application/json:
example:
BPNL1234567890AB:
- - validUntil: 2025-12-12T23:59:59.999Z
- payload:
- '@context':
- odrl: http://www.w3.org/ns/odrl/2/
- '@id': e917f5f-8dac-49ac-8d10-5b4d254d2b48
- policy:
- policyId: e917f5f-8dac-49ac-8d10-5b4d254d2b48
- createdOn: 2024-03-28T03:34:42.9454448Z
- validUntil: 2025-12-12T23:59:59.999Z
- permissions:
- - action: use
- constraint:
- and:
- - leftOperand: Membership
- operator:
- '@id': eq
- rightOperand: active
- - leftOperand: PURPOSE
- operator:
- '@id': eq
- rightOperand: ID 3.1 Trace
- or: null
+ - validUntil: 2025-12-12T23:59:59.999Z
+ payload:
+ '@context':
+ odrl: http://www.w3.org/ns/odrl/2/
+ '@id': e917f5f-8dac-49ac-8d10-5b4d254d2b48
+ policy:
+ policyId: e917f5f-8dac-49ac-8d10-5b4d254d2b48
+ createdOn: 2024-03-28T03:34:42.9454448Z
+ validUntil: 2025-12-12T23:59:59.999Z
+ permissions:
+ - action: use
+ constraint:
+ and:
+ - leftOperand: Membership
+ operator:
+ '@id': eq
+ rightOperand: active
+ - leftOperand: PURPOSE
+ operator:
+ '@id': eq
+ rightOperand: ID 3.1 Trace
+ or: null
BPNA1234567890DF: []
schema:
type: string
@@ -857,10 +844,10 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Authorization refused by server.
security:
- - api_key: []
+ - api_key: []
summary: Lists the registered policies that should be accepted in EDC negotiation.
tags:
- - Item Relationship Service
+ - Item Relationship Service
post:
description: Register a policy that should be accepted in EDC negotiation.
operationId: registerAllowedPolicy
@@ -914,10 +901,10 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Policy registration failed due to an internal error.
security:
- - api_key: []
+ - api_key: []
summary: Register a policy that should be accepted in EDC negotiation.
tags:
- - Item Relationship Service
+ - Item Relationship Service
put:
description: Updates existing policies.
operationId: updateAllowedPolicy
@@ -967,20 +954,20 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Updating policies failed due to an internal error.
security:
- - api_key: []
+ - api_key: []
summary: Updates existing policies.
tags:
- - Item Relationship Service
+ - Item Relationship Service
/irs/policies/{policyId}:
delete:
description: Removes a policy that should no longer be accepted in EDC negotiation.
operationId: deleteAllowedPolicy
parameters:
- - in: path
- name: policyId
- required: true
- schema:
- type: string
+ - in: path
+ name: policyId
+ required: true
+ schema:
+ type: string
responses:
"200":
description: OK
@@ -1012,27 +999,26 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Authorization refused by server.
security:
- - api_key: []
+ - api_key: []
summary: Removes a policy that should no longer be accepted in EDC negotiation.
tags:
- - Item Relationship Service
+ - Item Relationship Service
/irs/policies/{policyId}/bpnl/{bpnl}:
delete:
- description: Removes a policy from BPNL that should no longer be accepted in
- EDC negotiation.
+ description: Removes a policy from BPNL that should no longer be accepted in EDC negotiation.
operationId: removeAllowedPolicyFromBpnl
parameters:
- - in: path
- name: policyId
- required: true
- schema:
- type: string
- - in: path
- name: bpnl
- required: true
- schema:
- type: string
- pattern: "(BPN)[LSA][\\w\\d]{10}[\\w\\d]{2}"
+ - in: path
+ name: policyId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: bpnl
+ required: true
+ schema:
+ type: string
+ pattern: "(BPN)[LSA][\\w\\d]{10}[\\w\\d]{2}"
responses:
"200":
description: OK
@@ -1064,27 +1050,26 @@ paths:
$ref: '#/components/schemas/ErrorResponse'
description: Authorization refused by server.
security:
- - api_key: []
- summary: Removes a policy from BPNL that should no longer be accepted in EDC
- negotiation.
+ - api_key: []
+ summary: Removes a policy from BPNL that should no longer be accepted in EDC negotiation.
tags:
- - Item Relationship Service
+ - Item Relationship Service
components:
examples:
aspect-models-list:
value:
lastUpdated: 2023-02-13T08:18:11.990659500Z
models:
- - name: SingleLevelBomAsBuilt
- status: RELEASED
- type: SAMM
- urn: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- version: 3.0.0
- - name: SerialPart
- status: RELEASED
- type: SAMM
- urn: urn:samm:io.catenax.serial_part:3.0.0#SerialPart
- version: 3.0.0
+ - name: SingleLevelBomAsBuilt
+ status: RELEASED
+ type: SAMM
+ urn: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ version: 3.0.0
+ - name: SerialPart
+ status: RELEASED
+ type: SAMM
+ urn: urn:samm:io.catenax.serial_part:3.0.0#SerialPart
+ version: 3.0.0
canceled-job-response:
value:
completedOn: 2022-02-03T14:48:54.709Z
@@ -1108,8 +1093,8 @@ components:
lastModifiedOn: 2022-02-03T14:48:54.709Z
parameter:
aspects:
- - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
+ - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
auditContractNegotiation: false
bomLifecycle: asBuilt
collectAspects: false
@@ -1134,10 +1119,10 @@ components:
batchTotal: 1
completedOn: 2022-02-03T14:48:54.709Z
jobs:
- - completedOn: 2022-02-03T14:48:54.709Z
- id: 6c311d29-5753-46d4-b32c-19b918ea93b0
- startedOn: 2022-02-03T14:48:54.709Z
- state: COMPLETED
+ - completedOn: 2022-02-03T14:48:54.709Z
+ id: 6c311d29-5753-46d4-b32c-19b918ea93b0
+ startedOn: 2022-02-03T14:48:54.709Z
+ state: COMPLETED
jobsInBatchChecksum: 1
orderId: f253718e-a270-4367-901b-9d50d9bd8462
startedOn: 2022-02-03T14:48:54.709Z
@@ -1145,8 +1130,8 @@ components:
complete-ess-job-result:
value:
bpns:
- - manufacturerId: BPNL00000003AAXX
- manufacturerName: AB CD
+ - manufacturerId: BPNL00000003AAXX
+ manufacturerName: AB CD
job:
completedOn: 2022-02-03T14:48:54.709Z
createdOn: 2022-02-03T14:48:54.709Z
@@ -1159,8 +1144,8 @@ components:
lastModifiedOn: 2022-02-03T14:48:54.709Z
parameter:
aspects:
- - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
+ - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
auditContractNegotiation: false
bomLifecycle: asBuilt
collectAspects: false
@@ -1175,92 +1160,92 @@ components:
failed: 0
running: 0
relationships:
- - catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
- linkedItem:
- assembledOn: 2022-02-03T14:48:54.709Z
- childCatenaXId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
- hasAlternatives: false
- lastModifiedOn: 2022-02-03T14:48:54.709Z
- lifecycleContext: asBuilt
- quantity:
- measurementUnit:
- datatypeURI: urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece
- lexicalValue: piece
- quantityNumber: 1.0
+ - catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
+ linkedItem:
+ assembledOn: 2022-02-03T14:48:54.709Z
+ childCatenaXId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
+ hasAlternatives: false
+ lastModifiedOn: 2022-02-03T14:48:54.709Z
+ lifecycleContext: asBuilt
+ quantity:
+ measurementUnit:
+ datatypeURI: urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece
+ lexicalValue: piece
+ quantityNumber: 1.0
shells:
- - contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
- payload:
- description:
- - language: en
- text: The shell for a vehicle
- globalAssetId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
- id: urn:uuid:882fc530-b69b-4707-95f6-5dbc5e9baaa8
- idShort: future concept x
- specificAssetIds:
- - name: engineserialid
- value: "12309481209312"
- submodelDescriptors:
- - description:
- - language: en
- text: Provides base vehicle information
- endpoints:
- - interface: HTTP
- protocolInformation:
- endpointProtocol: HTTPS
- endpointProtocolVersion:
- - "1.0"
- href: https://catena-x.net/vehicle/basedetails/
- subprotocol: DSP
- subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
- subprotocolBodyEncoding: plain
- id: urn:uuid:5d25a897-6571-4800-b98c-a3352fbf996d
- idShort: SingleLevelBomAsPlanned
- semanticId:
- keys:
- - type: ExternalReference
- value: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- type: ModelReference
- - description:
- - language: en
- text: Provides base vehicle information
- endpoints:
- - interface: HTTP
- protocolInformation:
- endpointProtocol: HTTPS
- endpointProtocolVersion:
- - "1.0"
- href: https://catena-x.net/vehicle/partdetails/
- subprotocol: DSP
- subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
- subprotocolBodyEncoding: plain
- id: urn:uuid:dae4d249-6d66-4818-b576-bf52f3b9ae90
- idShort: vehicle part details
- semanticId:
- keys:
- - type: Submodel
- value: urn:bamm:io.catenax.vehicle:0.1.1#PartDetails
- type: ModelReference
+ - contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
+ payload:
+ description:
+ - language: en
+ text: The shell for a vehicle
+ globalAssetId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
+ id: urn:uuid:882fc530-b69b-4707-95f6-5dbc5e9baaa8
+ idShort: future concept x
+ specificAssetIds:
+ - name: engineserialid
+ value: "12309481209312"
+ submodelDescriptors:
+ - description:
+ - language: en
+ text: Provides base vehicle information
+ endpoints:
+ - interface: HTTP
+ protocolInformation:
+ endpointProtocol: HTTPS
+ endpointProtocolVersion:
+ - "1.0"
+ href: https://catena-x.net/vehicle/basedetails/
+ subprotocol: DSP
+ subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
+ subprotocolBodyEncoding: plain
+ id: urn:uuid:5d25a897-6571-4800-b98c-a3352fbf996d
+ idShort: SingleLevelBomAsPlanned
+ semanticId:
+ keys:
+ - type: ExternalReference
+ value: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ type: ModelReference
+ - description:
+ - language: en
+ text: Provides base vehicle information
+ endpoints:
+ - interface: HTTP
+ protocolInformation:
+ endpointProtocol: HTTPS
+ endpointProtocolVersion:
+ - "1.0"
+ href: https://catena-x.net/vehicle/partdetails/
+ subprotocol: DSP
+ subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
+ subprotocolBodyEncoding: plain
+ id: urn:uuid:dae4d249-6d66-4818-b576-bf52f3b9ae90
+ idShort: vehicle part details
+ semanticId:
+ keys:
+ - type: Submodel
+ value: urn:bamm:io.catenax.vehicle:0.1.1#PartDetails
+ type: ModelReference
submodels:
- - aspectType: supply_chain_impacted
- contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
- identification: urn:uuid:fc784d2a-5506-4e61-8e34-21600f8cdeff
- payload:
- supplyChainImpacted: "YES"
+ - aspectType: supply_chain_impacted
+ contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
+ identification: urn:uuid:fc784d2a-5506-4e61-8e34-21600f8cdeff
+ payload:
+ supplyChainImpacted: "YES"
tombstones:
- - catenaXId: urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0
- endpointURL: https://catena-x.net/vehicle/partdetails/
- processingError:
- errorDetail: Details to reason of failure
- lastAttempt: 2022-02-03T14:48:54.709Z
- processStep: SchemaValidation
- retryCounter: 0
+ - catenaXId: urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0
+ endpointURL: https://catena-x.net/vehicle/partdetails/
+ processingError:
+ errorDetail: Details to reason of failure
+ lastAttempt: 2022-02-03T14:48:54.709Z
+ processStep: SchemaValidation
+ retryCounter: 0
complete-job-list-processing-state:
value:
content:
- - completedOn: 2022-02-03T14:48:54.709Z
- id: 6c311d29-5753-46d4-b32c-19b918ea93b0
- startedOn: 2022-02-03T14:48:54.709Z
- state: COMPLETED
+ - completedOn: 2022-02-03T14:48:54.709Z
+ id: 6c311d29-5753-46d4-b32c-19b918ea93b0
+ startedOn: 2022-02-03T14:48:54.709Z
+ state: COMPLETED
pageCount: 1
pageNumber: 0
pageSize: 10
@@ -1268,8 +1253,8 @@ components:
complete-job-result:
value:
bpns:
- - manufacturerId: BPNL00000003AYRE
- manufacturerName: OEM A
+ - manufacturerId: BPNL00000003AYRE
+ manufacturerName: OEM A
job:
completedOn: 2022-02-03T14:48:54.709Z
createdOn: 2022-02-03T14:48:54.709Z
@@ -1282,8 +1267,8 @@ components:
lastModifiedOn: 2022-02-03T14:48:54.709Z
parameter:
aspects:
- - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
+ - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
auditContractNegotiation: false
bomLifecycle: asBuilt
collectAspects: false
@@ -1298,134 +1283,134 @@ components:
failed: 0
running: 0
relationships:
- - catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
- linkedItem:
- assembledOn: 2022-02-03T14:48:54.709Z
- childCatenaXId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
- hasAlternatives: false
- lastModifiedOn: 2022-02-03T14:48:54.709Z
- lifecycleContext: asBuilt
- quantity:
- measurementUnit:
- datatypeURI: urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece
- lexicalValue: piece
- quantityNumber: 1.0
- shells:
- - contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
- payload:
- description:
- - language: en
- text: The shell for a vehicle
- globalAssetId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
- id: urn:uuid:882fc530-b69b-4707-95f6-5dbc5e9baaa8
- idShort: future concept x
- specificAssetIds:
- - name: engineserialid
- value: "12309481209312"
- submodelDescriptors:
- - description:
- - language: en
- text: Provides base vehicle information
- endpoints:
- - interface: HTTP
- protocolInformation:
- endpointProtocol: HTTPS
- endpointProtocolVersion:
- - "1.0"
- href: https://catena-x.net/vehicle/basedetails/
- subprotocol: DSP
- subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
- subprotocolBodyEncoding: plain
- id: urn:uuid:5d25a897-6571-4800-b98c-a3352fbf996d
- idShort: SingleLevelBomAsPlanned
- semanticId:
- keys:
- - type: ExternalReference
- value: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- type: ModelReference
- - description:
- - language: en
- text: Provides base vehicle information
- endpoints:
- - interface: HTTP
- protocolInformation:
- endpointProtocol: HTTPS
- endpointProtocolVersion:
- - "1.0"
- href: https://catena-x.net/vehicle/partdetails/
- subprotocol: DSP
- subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
- subprotocolBodyEncoding: plain
- id: urn:uuid:dae4d249-6d66-4818-b576-bf52f3b9ae90
- idShort: vehicle part details
- semanticId:
- keys:
- - type: Submodel
- value: urn:bamm:io.catenax.vehicle:0.1.1#PartDetails
- type: ModelReference
- submodels:
- - aspectType: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
- identification: urn:uuid:fc784d2a-5506-4e61-8e34-21600f8cdeff
- payload:
- catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
- childItems:
- - businessPartner: BPNL00012345aNXY
- catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
- createdOn: 2022-02-03T14:48:54.709Z
+ - catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
+ linkedItem:
+ assembledOn: 2022-02-03T14:48:54.709Z
+ childCatenaXId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
hasAlternatives: false
lastModifiedOn: 2022-02-03T14:48:54.709Z
+ lifecycleContext: asBuilt
quantity:
- unit: unit:piece
- value: 20.0
+ measurementUnit:
+ datatypeURI: urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece
+ lexicalValue: piece
+ quantityNumber: 1.0
+ shells:
+ - contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
+ payload:
+ description:
+ - language: en
+ text: The shell for a vehicle
+ globalAssetId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
+ id: urn:uuid:882fc530-b69b-4707-95f6-5dbc5e9baaa8
+ idShort: future concept x
+ specificAssetIds:
+ - name: engineserialid
+ value: "12309481209312"
+ submodelDescriptors:
+ - description:
+ - language: en
+ text: Provides base vehicle information
+ endpoints:
+ - interface: HTTP
+ protocolInformation:
+ endpointProtocol: HTTPS
+ endpointProtocolVersion:
+ - "1.0"
+ href: https://catena-x.net/vehicle/basedetails/
+ subprotocol: DSP
+ subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
+ subprotocolBodyEncoding: plain
+ id: urn:uuid:5d25a897-6571-4800-b98c-a3352fbf996d
+ idShort: SingleLevelBomAsPlanned
+ semanticId:
+ keys:
+ - type: ExternalReference
+ value: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ type: ModelReference
+ - description:
+ - language: en
+ text: Provides base vehicle information
+ endpoints:
+ - interface: HTTP
+ protocolInformation:
+ endpointProtocol: HTTPS
+ endpointProtocolVersion:
+ - "1.0"
+ href: https://catena-x.net/vehicle/partdetails/
+ subprotocol: DSP
+ subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
+ subprotocolBodyEncoding: plain
+ id: urn:uuid:dae4d249-6d66-4818-b576-bf52f3b9ae90
+ idShort: vehicle part details
+ semanticId:
+ keys:
+ - type: Submodel
+ value: urn:bamm:io.catenax.vehicle:0.1.1#PartDetails
+ type: ModelReference
+ submodels:
+ - aspectType: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
+ identification: urn:uuid:fc784d2a-5506-4e61-8e34-21600f8cdeff
+ payload:
+ catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
+ childItems:
+ - businessPartner: BPNL00012345aNXY
+ catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
+ createdOn: 2022-02-03T14:48:54.709Z
+ hasAlternatives: false
+ lastModifiedOn: 2022-02-03T14:48:54.709Z
+ quantity:
+ unit: unit:piece
+ value: 20.0
tombstones:
- - catenaXId: urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0
- endpointURL: https://catena-x.net/vehicle/partdetails/
- processingError:
- errorDetail: Details to reason of failure
- lastAttempt: 2022-02-03T14:48:54.709Z
- processStep: SchemaValidation
- retryCounter: 0
+ - catenaXId: urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0
+ endpointURL: https://catena-x.net/vehicle/partdetails/
+ processingError:
+ errorDetail: Details to reason of failure
+ lastAttempt: 2022-02-03T14:48:54.709Z
+ processStep: SchemaValidation
+ retryCounter: 0
complete-order-result:
value:
batchChecksum: 1
batches:
- - batchId: f253718e-a270-4367-901b-9d50d9bd8462
- batchNumber: 1
- batchProcessingState: PARTIAL
- batchUrl: https://../irs/orders/f253718e-a270-4367-901b-9d50d9bd8462/batches/f253718e-a270-4367-901b-9d50d9bd8462
- jobsInBatchChecksum: 1
+ - batchId: f253718e-a270-4367-901b-9d50d9bd8462
+ batchNumber: 1
+ batchProcessingState: PARTIAL
+ batchUrl: https://../irs/orders/f253718e-a270-4367-901b-9d50d9bd8462/batches/f253718e-a270-4367-901b-9d50d9bd8462
+ jobsInBatchChecksum: 1
orderId: f253718e-a270-4367-901b-9d50d9bd8462
state: COMPLETED
error-response-400:
value:
error: Bad request
messages:
- - BadRequestException
+ - BadRequestException
statusCode: 400 BAD_REQUEST
error-response-401:
value:
error: Unauthorized
messages:
- - UnauthorizedException
+ - UnauthorizedException
statusCode: 401 UNAUTHORIZED
error-response-403:
value:
error: Forbidden
messages:
- - ForbiddenException
+ - ForbiddenException
statusCode: 403 FORBIDDEN
error-response-404:
value:
error: Not found
messages:
- - NotFoundException
+ - NotFoundException
statusCode: 404 NOT_FOUND
error-response-500:
value:
error: Internal Server Error
messages:
- - InternalServerError
+ - InternalServerError
statusCode: 500 INTERNAL_SERVER_ERROR
failed-job-result:
value:
@@ -1441,8 +1426,8 @@ components:
lastModifiedOn: 2022-02-03T14:48:54.709Z
parameter:
aspects:
- - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
+ - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
auditContractNegotiation: false
bomLifecycle: asBuilt
collectAspects: false
@@ -1465,8 +1450,8 @@ components:
job-result-without-uncompleted-result-tree:
value:
bpns:
- - manufacturerId: BPNL00000003AYRE
- manufacturerName: OEM A
+ - manufacturerId: BPNL00000003AYRE
+ manufacturerName: OEM A
job:
completedOn: 2022-02-03T14:48:54.709Z
createdOn: 2022-02-03T14:48:54.709Z
@@ -1479,8 +1464,8 @@ components:
lastModifiedOn: 2022-02-03T14:48:54.709Z
parameter:
aspects:
- - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
+ - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
auditContractNegotiation: false
bomLifecycle: asBuilt
collectAspects: false
@@ -1495,94 +1480,94 @@ components:
failed: 0
running: 0
relationships:
- - catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
- linkedItem:
- assembledOn: 2022-02-03T14:48:54.709Z
- childCatenaXId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
- hasAlternatives: false
- lastModifiedOn: 2022-02-03T14:48:54.709Z
- lifecycleContext: asBuilt
- quantity:
- measurementUnit:
- datatypeURI: urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece
- lexicalValue: piece
- quantityNumber: 1.0
- shells:
- - contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
- payload:
- description:
- - language: en
- text: The shell for a vehicle
- globalAssetId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
- id: urn:uuid:882fc530-b69b-4707-95f6-5dbc5e9baaa8
- idShort: future concept x
- specificAssetIds:
- - name: engineserialid
- value: "12309481209312"
- submodelDescriptors:
- - description:
- - language: en
- text: Provides base vehicle information
- endpoints:
- - interface: HTTP
- protocolInformation:
- endpointProtocol: HTTPS
- endpointProtocolVersion:
- - "1.0"
- href: https://catena-x.net/vehicle/basedetails/
- subprotocol: DSP
- subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
- subprotocolBodyEncoding: plain
- id: urn:uuid:5d25a897-6571-4800-b98c-a3352fbf996d
- idShort: SingleLevelBomAsPlanned
- semanticId:
- keys:
- - type: ExternalReference
- value: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- type: ModelReference
- - description:
- - language: en
- text: Provides base vehicle information
- endpoints:
- - interface: HTTP
- protocolInformation:
- endpointProtocol: HTTPS
- endpointProtocolVersion:
- - "1.0"
- href: https://catena-x.net/vehicle/partdetails/
- subprotocol: DSP
- subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
- subprotocolBodyEncoding: plain
- id: urn:uuid:dae4d249-6d66-4818-b576-bf52f3b9ae90
- idShort: vehicle part details
- semanticId:
- keys:
- - type: Submodel
- value: urn:bamm:io.catenax.vehicle:0.1.1#PartDetails
- type: ModelReference
- submodels:
- - aspectType: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
- identification: urn:uuid:fc784d2a-5506-4e61-8e34-21600f8cdeff
- payload:
- catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
- childItems:
- - businessPartner: BPNL00012345aNXY
- catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
- createdOn: 2022-02-03T14:48:54.709Z
+ - catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
+ linkedItem:
+ assembledOn: 2022-02-03T14:48:54.709Z
+ childCatenaXId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
hasAlternatives: false
lastModifiedOn: 2022-02-03T14:48:54.709Z
+ lifecycleContext: asBuilt
quantity:
- unit: unit:piece
- value: 20.0
+ measurementUnit:
+ datatypeURI: urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece
+ lexicalValue: piece
+ quantityNumber: 1.0
+ shells:
+ - contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
+ payload:
+ description:
+ - language: en
+ text: The shell for a vehicle
+ globalAssetId: urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9
+ id: urn:uuid:882fc530-b69b-4707-95f6-5dbc5e9baaa8
+ idShort: future concept x
+ specificAssetIds:
+ - name: engineserialid
+ value: "12309481209312"
+ submodelDescriptors:
+ - description:
+ - language: en
+ text: Provides base vehicle information
+ endpoints:
+ - interface: HTTP
+ protocolInformation:
+ endpointProtocol: HTTPS
+ endpointProtocolVersion:
+ - "1.0"
+ href: https://catena-x.net/vehicle/basedetails/
+ subprotocol: DSP
+ subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
+ subprotocolBodyEncoding: plain
+ id: urn:uuid:5d25a897-6571-4800-b98c-a3352fbf996d
+ idShort: SingleLevelBomAsPlanned
+ semanticId:
+ keys:
+ - type: ExternalReference
+ value: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ type: ModelReference
+ - description:
+ - language: en
+ text: Provides base vehicle information
+ endpoints:
+ - interface: HTTP
+ protocolInformation:
+ endpointProtocol: HTTPS
+ endpointProtocolVersion:
+ - "1.0"
+ href: https://catena-x.net/vehicle/partdetails/
+ subprotocol: DSP
+ subprotocolBody: id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net
+ subprotocolBodyEncoding: plain
+ id: urn:uuid:dae4d249-6d66-4818-b576-bf52f3b9ae90
+ idShort: vehicle part details
+ semanticId:
+ keys:
+ - type: Submodel
+ value: urn:bamm:io.catenax.vehicle:0.1.1#PartDetails
+ type: ModelReference
+ submodels:
+ - aspectType: urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ contractAgreementId: f253718e-a270-4367-901b-9d50d9bd8462
+ identification: urn:uuid:fc784d2a-5506-4e61-8e34-21600f8cdeff
+ payload:
+ catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
+ childItems:
+ - businessPartner: BPNL00012345aNXY
+ catenaXId: urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447
+ createdOn: 2022-02-03T14:48:54.709Z
+ hasAlternatives: false
+ lastModifiedOn: 2022-02-03T14:48:54.709Z
+ quantity:
+ unit: unit:piece
+ value: 20.0
tombstones:
- - catenaXId: urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0
- endpointURL: https://catena-x.net/vehicle/partdetails/
- processingError:
- errorDetail: Details to reason of failure
- lastAttempt: 2022-02-03T14:48:54.709Z
- processStep: SchemaValidation
- retryCounter: 0
+ - catenaXId: urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0
+ endpointURL: https://catena-x.net/vehicle/partdetails/
+ processingError:
+ errorDetail: Details to reason of failure
+ lastAttempt: 2022-02-03T14:48:54.709Z
+ processStep: SchemaValidation
+ retryCounter: 0
partial-job-result:
value:
bpns: []
@@ -1598,8 +1583,8 @@ components:
lastModifiedOn: 2022-02-03T14:48:54.709Z
parameter:
aspects:
- - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
- - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
+ - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ - urn:samm:io.catenax.serial_part:3.0.0#SerialPart
auditContractNegotiation: false
bomLifecycle: asBuilt
collectAspects: false
@@ -1720,11 +1705,7 @@ components:
type: object
additionalProperties: false
description: BatchOrderAck Payload Response.
- example: "{\"batchChecksum\"=1, \"batches\"=[{\"batchId\"=\"f253718e-a270-4367-901b-9d50d9bd8462\"\
- , \"batchNumber\"=1, \"batchProcessingState\"=\"PARTIAL\", \"batchUrl\"=\"\
- https://../irs/orders/f253718e-a270-4367-901b-9d50d9bd8462/batches/f253718e-a270-4367-901b-9d50d9bd8462\"\
- , \"jobsInBatchChecksum\"=1}], \"orderId\"=\"f253718e-a270-4367-901b-9d50d9bd8462\"\
- , \"state\"=\"COMPLETED\"}"
+ example: "{\"batchChecksum\"=1, \"batches\"=[{\"batchId\"=\"f253718e-a270-4367-901b-9d50d9bd8462\", \"batchNumber\"=1, \"batchProcessingState\"=\"PARTIAL\", \"batchUrl\"=\"https://../irs/orders/f253718e-a270-4367-901b-9d50d9bd8462/batches/f253718e-a270-4367-901b-9d50d9bd8462\", \"jobsInBatchChecksum\"=1}], \"orderId\"=\"f253718e-a270-4367-901b-9d50d9bd8462\", \"state\"=\"COMPLETED\"}"
properties:
batchChecksum:
type: integer
@@ -1747,21 +1728,16 @@ components:
type: string
description: The state of the order.
enum:
- - INITIALIZED
- - COMPLETED
- - PROCESSING
- - PARTIAL
- - ERROR
+ - INITIALIZED
+ - COMPLETED
+ - PROCESSING
+ - PARTIAL
+ - ERROR
BatchResponse:
type: object
additionalProperties: false
description: Batch model.
- example: "{\"batchId\"=\"f253718e-a270-4367-901b-9d50d9bd8462\", \"batchNumber\"\
- =1, \"batchProcessingState\"=\"COMPLETED\", \"batchTotal\"=1, \"completedOn\"\
- =\"2022-02-03T14:48:54.709Z\", \"jobs\"=[{\"completedOn\"=\"2022-02-03T14:48:54.709Z\"\
- , \"id\"=\"6c311d29-5753-46d4-b32c-19b918ea93b0\", \"startedOn\"=\"2022-02-03T14:48:54.709Z\"\
- , \"state\"=\"COMPLETED\"}], \"jobsInBatchChecksum\"=1, \"orderId\"=\"f253718e-a270-4367-901b-9d50d9bd8462\"\
- , \"startedOn\"=\"2022-02-03T14:48:54.709Z\", \"totalJobs\"=1}"
+ example: "{\"batchId\"=\"f253718e-a270-4367-901b-9d50d9bd8462\", \"batchNumber\"=1, \"batchProcessingState\"=\"COMPLETED\", \"batchTotal\"=1, \"completedOn\"=\"2022-02-03T14:48:54.709Z\", \"jobs\"=[{\"completedOn\"=\"2022-02-03T14:48:54.709Z\", \"id\"=\"6c311d29-5753-46d4-b32c-19b918ea93b0\", \"startedOn\"=\"2022-02-03T14:48:54.709Z\", \"state\"=\"COMPLETED\"}], \"jobsInBatchChecksum\"=1, \"orderId\"=\"f253718e-a270-4367-901b-9d50d9bd8462\", \"startedOn\"=\"2022-02-03T14:48:54.709Z\", \"totalJobs\"=1}"
properties:
batchId:
type: string
@@ -1778,11 +1754,11 @@ components:
type: string
description: The state of the batch.
enum:
- - INITIALIZED
- - COMPLETED
- - PROCESSING
- - PARTIAL
- - ERROR
+ - INITIALIZED
+ - COMPLETED
+ - PROCESSING
+ - PARTIAL
+ - ERROR
batchTotal:
type: integer
format: int32
@@ -1858,39 +1834,38 @@ components:
policy:
'@type': Policy
odrl:permission:
- - odrl:action: use
- odrl:constraint:
- odrl:and:
- - odrl:leftOperand: Membership
- odrl:operator:
- '@id': odrl:eq
- odrl:rightOperand: active
- - odrl:leftOperand: PURPOSE
- odrl:operator:
- '@id': odrl:eq
- odrl:rightOperand: ID 3.1 Trace
+ - odrl:action: use
+ odrl:constraint:
+ odrl:and:
+ - odrl:leftOperand: Membership
+ odrl:operator:
+ '@id': odrl:eq
+ odrl:rightOperand: active
+ - odrl:leftOperand: PURPOSE
+ odrl:operator:
+ '@id': odrl:eq
+ odrl:rightOperand: ID 3.1 Trace
properties:
empty:
type: boolean
valueType:
type: string
enum:
- - ARRAY
- - OBJECT
- - STRING
- - NUMBER
- - "TRUE"
- - "FALSE"
- - "NULL"
+ - ARRAY
+ - OBJECT
+ - STRING
+ - NUMBER
+ - "TRUE"
+ - "FALSE"
+ - "NULL"
validUntil:
type: string
format: date-time
- description: Timestamp after which the policy will no longer be accepted
- in negotiations.
+ description: Timestamp after which the policy will no longer be accepted in negotiations.
example: 2025-12-12T23:59:59.999Z
required:
- - payload
- - validUntil
+ - payload
+ - validUntil
EdcNotificationHeader:
type: object
additionalProperties: false
@@ -1913,10 +1888,10 @@ components:
senderEdc:
type: string
required:
- - notificationId
- - notificationType
- - recipientBpn
- - senderBpn
+ - notificationId
+ - notificationType
+ - recipientBpn
+ - senderBpn
EdcNotificationResponseNotificationContent:
type: object
additionalProperties: false
@@ -1926,8 +1901,8 @@ components:
header:
$ref: '#/components/schemas/EdcNotificationHeader'
required:
- - content
- - header
+ - content
+ - header
Endpoint:
type: object
additionalProperties: false
@@ -1955,75 +1930,75 @@ components:
type: string
description: Error code.
enum:
- - 100 CONTINUE
- - 101 SWITCHING_PROTOCOLS
- - 102 PROCESSING
- - 103 EARLY_HINTS
- - 103 CHECKPOINT
- - 200 OK
- - 201 CREATED
- - 202 ACCEPTED
- - 203 NON_AUTHORITATIVE_INFORMATION
- - 204 NO_CONTENT
- - 205 RESET_CONTENT
- - 206 PARTIAL_CONTENT
- - 207 MULTI_STATUS
- - 208 ALREADY_REPORTED
- - 226 IM_USED
- - 300 MULTIPLE_CHOICES
- - 301 MOVED_PERMANENTLY
- - 302 FOUND
- - 302 MOVED_TEMPORARILY
- - 303 SEE_OTHER
- - 304 NOT_MODIFIED
- - 305 USE_PROXY
- - 307 TEMPORARY_REDIRECT
- - 308 PERMANENT_REDIRECT
- - 400 BAD_REQUEST
- - 401 UNAUTHORIZED
- - 402 PAYMENT_REQUIRED
- - 403 FORBIDDEN
- - 404 NOT_FOUND
- - 405 METHOD_NOT_ALLOWED
- - 406 NOT_ACCEPTABLE
- - 407 PROXY_AUTHENTICATION_REQUIRED
- - 408 REQUEST_TIMEOUT
- - 409 CONFLICT
- - 410 GONE
- - 411 LENGTH_REQUIRED
- - 412 PRECONDITION_FAILED
- - 413 PAYLOAD_TOO_LARGE
- - 413 REQUEST_ENTITY_TOO_LARGE
- - 414 URI_TOO_LONG
- - 414 REQUEST_URI_TOO_LONG
- - 415 UNSUPPORTED_MEDIA_TYPE
- - 416 REQUESTED_RANGE_NOT_SATISFIABLE
- - 417 EXPECTATION_FAILED
- - 418 I_AM_A_TEAPOT
- - 419 INSUFFICIENT_SPACE_ON_RESOURCE
- - 420 METHOD_FAILURE
- - 421 DESTINATION_LOCKED
- - 422 UNPROCESSABLE_ENTITY
- - 423 LOCKED
- - 424 FAILED_DEPENDENCY
- - 425 TOO_EARLY
- - 426 UPGRADE_REQUIRED
- - 428 PRECONDITION_REQUIRED
- - 429 TOO_MANY_REQUESTS
- - 431 REQUEST_HEADER_FIELDS_TOO_LARGE
- - 451 UNAVAILABLE_FOR_LEGAL_REASONS
- - 500 INTERNAL_SERVER_ERROR
- - 501 NOT_IMPLEMENTED
- - 502 BAD_GATEWAY
- - 503 SERVICE_UNAVAILABLE
- - 504 GATEWAY_TIMEOUT
- - 505 HTTP_VERSION_NOT_SUPPORTED
- - 506 VARIANT_ALSO_NEGOTIATES
- - 507 INSUFFICIENT_STORAGE
- - 508 LOOP_DETECTED
- - 509 BANDWIDTH_LIMIT_EXCEEDED
- - 510 NOT_EXTENDED
- - 511 NETWORK_AUTHENTICATION_REQUIRED
+ - 100 CONTINUE
+ - 101 SWITCHING_PROTOCOLS
+ - 102 PROCESSING
+ - 103 EARLY_HINTS
+ - 103 CHECKPOINT
+ - 200 OK
+ - 201 CREATED
+ - 202 ACCEPTED
+ - 203 NON_AUTHORITATIVE_INFORMATION
+ - 204 NO_CONTENT
+ - 205 RESET_CONTENT
+ - 206 PARTIAL_CONTENT
+ - 207 MULTI_STATUS
+ - 208 ALREADY_REPORTED
+ - 226 IM_USED
+ - 300 MULTIPLE_CHOICES
+ - 301 MOVED_PERMANENTLY
+ - 302 FOUND
+ - 302 MOVED_TEMPORARILY
+ - 303 SEE_OTHER
+ - 304 NOT_MODIFIED
+ - 305 USE_PROXY
+ - 307 TEMPORARY_REDIRECT
+ - 308 PERMANENT_REDIRECT
+ - 400 BAD_REQUEST
+ - 401 UNAUTHORIZED
+ - 402 PAYMENT_REQUIRED
+ - 403 FORBIDDEN
+ - 404 NOT_FOUND
+ - 405 METHOD_NOT_ALLOWED
+ - 406 NOT_ACCEPTABLE
+ - 407 PROXY_AUTHENTICATION_REQUIRED
+ - 408 REQUEST_TIMEOUT
+ - 409 CONFLICT
+ - 410 GONE
+ - 411 LENGTH_REQUIRED
+ - 412 PRECONDITION_FAILED
+ - 413 PAYLOAD_TOO_LARGE
+ - 413 REQUEST_ENTITY_TOO_LARGE
+ - 414 URI_TOO_LONG
+ - 414 REQUEST_URI_TOO_LONG
+ - 415 UNSUPPORTED_MEDIA_TYPE
+ - 416 REQUESTED_RANGE_NOT_SATISFIABLE
+ - 417 EXPECTATION_FAILED
+ - 418 I_AM_A_TEAPOT
+ - 419 INSUFFICIENT_SPACE_ON_RESOURCE
+ - 420 METHOD_FAILURE
+ - 421 DESTINATION_LOCKED
+ - 422 UNPROCESSABLE_ENTITY
+ - 423 LOCKED
+ - 424 FAILED_DEPENDENCY
+ - 425 TOO_EARLY
+ - 426 UPGRADE_REQUIRED
+ - 428 PRECONDITION_REQUIRED
+ - 429 TOO_MANY_REQUESTS
+ - 431 REQUEST_HEADER_FIELDS_TOO_LARGE
+ - 451 UNAVAILABLE_FOR_LEGAL_REASONS
+ - 500 INTERNAL_SERVER_ERROR
+ - 501 NOT_IMPLEMENTED
+ - 502 BAD_GATEWAY
+ - 503 SERVICE_UNAVAILABLE
+ - 504 GATEWAY_TIMEOUT
+ - 505 HTTP_VERSION_NOT_SUPPORTED
+ - 506 VARIANT_ALSO_NEGOTIATES
+ - 507 INSUFFICIENT_STORAGE
+ - 508 LOOP_DETECTED
+ - 509 BANDWIDTH_LIMIT_EXCEEDED
+ - 510 NOT_EXTENDED
+ - 511 NETWORK_AUTHENTICATION_REQUIRED
IdentifierKeyValuePair:
type: object
additionalProperties: false
@@ -2083,20 +2058,20 @@ components:
state:
type: string
enum:
- - UNSAVED
- - INITIAL
- - RUNNING
- - TRANSFERS_FINISHED
- - COMPLETED
- - CANCELED
- - ERROR
+ - UNSAVED
+ - INITIAL
+ - RUNNING
+ - TRANSFERS_FINISHED
+ - COMPLETED
+ - CANCELED
+ - ERROR
example: COMPLETED
summary:
$ref: '#/components/schemas/Summary'
required:
- - globalAssetId
- - id
- - state
+ - globalAssetId
+ - id
+ - state
JobErrorDetails:
type: object
additionalProperties: false
@@ -2142,12 +2117,11 @@ components:
example: false
bomLifecycle:
type: string
- description: The lifecycle context in which the child part was assembled
- into the parent part.
+ description: The lifecycle context in which the child part was assembled into the parent part.
enum:
- - asBuilt
- - asPlanned
- - asSpecified
+ - asBuilt
+ - asPlanned
+ - asSpecified
example: asBuilt
bpn:
type: string
@@ -2168,8 +2142,8 @@ components:
type: string
description: Item graph traversal direction.
enum:
- - upward
- - downward
+ - upward
+ - downward
example: upward
lookupBPNs:
type: boolean
@@ -2190,13 +2164,13 @@ components:
state:
type: string
enum:
- - UNSAVED
- - INITIAL
- - RUNNING
- - TRANSFERS_FINISHED
- - COMPLETED
- - CANCELED
- - ERROR
+ - UNSAVED
+ - INITIAL
+ - RUNNING
+ - TRANSFERS_FINISHED
+ - COMPLETED
+ - CANCELED
+ - ERROR
Jobs:
type: object
additionalProperties: false
@@ -2234,8 +2208,7 @@ components:
maxItems: 2147483647
tombstones:
type: array
- description: Collection of not resolvable endpoints as tombstones. Including
- cause of error and endpoint URL.
+ description: Collection of not resolvable endpoints as tombstones. Including cause of error and endpoint URL.
items:
$ref: '#/components/schemas/Tombstone'
maxItems: 2147483647
@@ -2251,28 +2224,28 @@ components:
policy:
'@type': Policy
odrl:permission:
- - odrl:action: use
- odrl:constraint:
- odrl:and:
- - odrl:leftOperand: Membership
- odrl:operator:
- '@id': odrl:eq
- odrl:rightOperand: active
- - odrl:leftOperand: PURPOSE
- odrl:operator:
- '@id': odrl:eq
- odrl:rightOperand: ID 3.1 Trace
+ - odrl:action: use
+ odrl:constraint:
+ odrl:and:
+ - odrl:leftOperand: Membership
+ odrl:operator:
+ '@id': odrl:eq
+ odrl:rightOperand: active
+ - odrl:leftOperand: PURPOSE
+ odrl:operator:
+ '@id': odrl:eq
+ odrl:rightOperand: ID 3.1 Trace
properties:
valueType:
type: string
enum:
- - ARRAY
- - OBJECT
- - STRING
- - NUMBER
- - "TRUE"
- - "FALSE"
- - "NULL"
+ - ARRAY
+ - OBJECT
+ - STRING
+ - NUMBER
+ - "TRUE"
+ - "FALSE"
+ - "NULL"
LangString:
type: object
additionalProperties: false
@@ -2286,8 +2259,7 @@ components:
LinkedItem:
type: object
additionalProperties: false
- description: Set of child parts the parent object is assembled by (one structural
- level down).
+ description: Set of child parts the parent object is assembled by (one structural level down).
properties:
assembledOn:
type: string
@@ -2303,8 +2275,7 @@ components:
pattern: "^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
hasAlternatives:
type: boolean
- description: Expresses whether the part is built-in or whether it is one
- of several options.
+ description: Expresses whether the part is built-in or whether it is one of several options.
lastModifiedOn:
type: string
format: date-time
@@ -2312,12 +2283,11 @@ components:
example: 2022-02-03T14:48:54.709Z
lifecycleContext:
type: string
- description: The lifecycle context in which the child part was assembled
- into the parent part.
+ description: The lifecycle context in which the child part was assembled into the parent part.
enum:
- - asBuilt
- - asPlanned
- - asSpecified
+ - asBuilt
+ - asPlanned
+ - asSpecified
example: asBuilt
quantity:
$ref: '#/components/schemas/Quantity'
@@ -2334,9 +2304,7 @@ components:
PageResult:
type: object
additionalProperties: false
- example: "{\"content\"=[{\"completedOn\"=\"test\", \"id\"=\"046b6c7f-0b8a-43b9-b35d-6489e6daee91\"\
- , \"startedOn\"=\"2000-01-23T04:56:07.000+00:00\", \"state\"=\"UNSAVED\"}],\
- \ \"pageCount\"=0, \"pageNumber\"=6, \"pageSize\"=1, \"totalElements\"=5}"
+ example: "{\"content\"=[{\"completedOn\"=\"test\", \"id\"=\"046b6c7f-0b8a-43b9-b35d-6489e6daee91\", \"startedOn\"=\"2000-01-23T04:56:07.000+00:00\", \"state\"=\"UNSAVED\"}], \"pageCount\"=0, \"pageNumber\"=6, \"pageSize\"=1, \"totalElements\"=5}"
properties:
content:
type: array
@@ -2357,8 +2325,7 @@ components:
PartChainIdentificationKey:
type: object
additionalProperties: false
- description: Key object contains required attributes for identify part chain
- entry node.
+ description: Key object contains required attributes for identify part chain entry node.
properties:
bpn:
type: string
@@ -2374,8 +2341,8 @@ components:
minLength: 45
pattern: "^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
required:
- - bpn
- - globalAssetId
+ - bpn
+ - globalAssetId
ProcessingError:
type: object
additionalProperties: false
@@ -2388,12 +2355,12 @@ components:
processStep:
type: string
enum:
- - SubmodelRequest
- - DigitalTwinRequest
- - SchemaValidation
- - SchemaRequest
- - UsagePolicyValidation
- - EssValidation
+ - SubmodelRequest
+ - DigitalTwinRequest
+ - SchemaValidation
+ - SchemaRequest
+ - UsagePolicyValidation
+ - EssValidation
retryCounter:
type: integer
format: int32
@@ -2409,7 +2376,7 @@ components:
endpointProtocolVersion:
type: array
example:
- - "1.0"
+ - "1.0"
items:
type: string
href:
@@ -2457,10 +2424,9 @@ components:
properties:
aspects:
type: array
- description: List of aspect names that will be collected if \
- flag is set to true.
+ description: List of aspect names that will be collected if \ flag is set to true.
example:
- - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
items:
type: string
pattern: "^(urn:[bs]amm:.*\\d\\.\\d\\.\\d)?(#)?(\\w+)?$"
@@ -2477,32 +2443,27 @@ components:
type: string
description: The strategy how the batch is processed internally in IRS.
enum:
- - PRESERVE_BATCH_JOB_ORDER
- - PRESERVE_JOB_ORDER
- - PRESERVE_BATCH_ORDER
+ - PRESERVE_BATCH_JOB_ORDER
+ - PRESERVE_JOB_ORDER
+ - PRESERVE_BATCH_ORDER
bomLifecycle:
type: string
- description: The lifecycle context in which the child part was assembled
- into the parent part.
+ description: The lifecycle context in which the child part was assembled into the parent part.
enum:
- - asBuilt
- - asPlanned
- - asSpecified
+ - asBuilt
+ - asPlanned
+ - asSpecified
callbackUrl:
type: string
- description: "Callback url to notify requestor when job processing is finished.\
- \ There are four uri variable placeholders that can be used: orderId,\
- \ batchId, orderState and batchState."
+ description: "Callback url to notify requestor when job processing is finished. There are four uri variable placeholders that can be used: orderId, batchId, orderState and batchState."
example: "https://hostname.com/callback?orderId={orderId}&batchId={batchId}&orderState={orderState}&batchState={batchState}"
collectAspects:
type: boolean
- description: Flag to specify whether aspects should be requested and collected.
- Default is false.
+ description: Flag to specify whether aspects should be requested and collected. Default is false.
depth:
type: integer
format: int32
- description: Max depth of the item graph returned. If no depth is set item
- graph with max depth is returned.
+ description: Max depth of the item graph returned. If no depth is set item graph with max depth is returned.
maximum: 100
minimum: 1
direction:
@@ -2510,14 +2471,13 @@ components:
default: downward
description: Item graph traversal direction.
enum:
- - upward
- - downward
+ - upward
+ - downward
jobTimeout:
type: integer
format: int32
default: 3600
- description: Timeout in seconds for each job processing inside the complete
- order.
+ description: Timeout in seconds for each job processing inside the complete order.
maximum: 7200
minimum: 60
keys:
@@ -2528,8 +2488,7 @@ components:
lookupBPNs:
type: boolean
deprecated: true
- description: Flag to specify whether BPNs should be collected and resolved
- via the configured BPDM URL. Default is false.
+ description: Flag to specify whether BPNs should be collected and resolved via the configured BPDM URL. Default is false.
timeout:
type: integer
format: int32
@@ -2538,12 +2497,11 @@ components:
maximum: 86400
minimum: 60
required:
- - keys
+ - keys
RegisterBpnInvestigationBatchOrder:
type: object
additionalProperties: false
- description: Request body for registering a new Batch Order for ESS Investigation
- Job.
+ description: Request body for registering a new Batch Order for ESS Investigation Job.
properties:
batchSize:
type: integer
@@ -2556,22 +2514,19 @@ components:
type: string
description: The strategy how the batch is processed internally in IRS.
enum:
- - PRESERVE_BATCH_JOB_ORDER
- - PRESERVE_JOB_ORDER
- - PRESERVE_BATCH_ORDER
+ - PRESERVE_BATCH_JOB_ORDER
+ - PRESERVE_JOB_ORDER
+ - PRESERVE_BATCH_ORDER
bomLifecycle:
type: string
- description: The lifecycle context in which the child part was assembled
- into the parent part.
+ description: The lifecycle context in which the child part was assembled into the parent part.
enum:
- - asBuilt
- - asPlanned
- - asSpecified
+ - asBuilt
+ - asPlanned
+ - asSpecified
callbackUrl:
type: string
- description: "Callback url to notify requestor when job processing is finished.\
- \ There are four uri variable placeholders that can be used: orderId,\
- \ batchId, orderState and batchState."
+ description: "Callback url to notify requestor when job processing is finished. There are four uri variable placeholders that can be used: orderId, batchId, orderState and batchState."
example: "https://hostname.com/callback?orderId={orderId}&batchId={batchId}&orderState={orderState}&batchState={batchState}"
incidentBPNSs:
type: array
@@ -2583,8 +2538,7 @@ components:
type: integer
format: int32
default: 3600
- description: Timeout in seconds for each job processing inside the complete
- order.
+ description: Timeout in seconds for each job processing inside the complete order.
maximum: 7200
minimum: 60
keys:
@@ -2600,8 +2554,8 @@ components:
maximum: 86400
minimum: 60
required:
- - incidentBPNSs
- - keys
+ - incidentBPNSs
+ - keys
RegisterBpnInvestigationJob:
type: object
additionalProperties: false
@@ -2609,24 +2563,21 @@ components:
properties:
bomLifecycle:
type: string
- description: The lifecycle context in which the child part was assembled
- into the parent part.
+ description: The lifecycle context in which the child part was assembled into the parent part.
enum:
- - asBuilt
- - asPlanned
- - asSpecified
+ - asBuilt
+ - asPlanned
+ - asSpecified
example: asPlanned
callbackUrl:
type: string
- description: "Callback url to notify requestor when job processing is finished.\
- \ There are two uri variable placeholders that can be used: jobId and\
- \ jobState."
+ description: "Callback url to notify requestor when job processing is finished. There are two uri variable placeholders that can be used: jobId and jobState."
example: "https://hostname.com/callback?jobId={jobId}&jobState={jobState}"
incidentBPNSs:
type: array
description: Array of BPNS numbers.
example:
- - BPNS000000000DDD
+ - BPNS000000000DDD
items:
type: string
pattern: "(BPN)[LSA][\\w\\d]{10}[\\w\\d]{2}"
@@ -2635,8 +2586,8 @@ components:
key:
$ref: '#/components/schemas/PartChainIdentificationKey'
required:
- - incidentBPNSs
- - key
+ - incidentBPNSs
+ - key
RegisterJob:
type: object
additionalProperties: false
@@ -2644,10 +2595,9 @@ components:
properties:
aspects:
type: array
- description: List of aspect names that will be collected if \
- flag is set to true.
+ description: List of aspect names that will be collected if \ flag is set to true.
example:
- - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
+ - urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt
items:
type: string
pattern: "^(urn:[bs]amm:.*\\d\\.\\d\\.\\d)?(#)?(\\w+)?$"
@@ -2655,31 +2605,25 @@ components:
pattern: "^(urn:[bs]amm:.*\\d\\.\\d\\.\\d)?(#)?(\\w+)?$"
auditContractNegotiation:
type: boolean
- description: "Flag enables and disables auditing, including provisioning\
- \ of ContractAgreementId inside submodels and shells objects. Default\
- \ is true."
+ description: "Flag enables and disables auditing, including provisioning of ContractAgreementId inside submodels and shells objects. Default is true."
bomLifecycle:
type: string
- description: The lifecycle context in which the child part was assembled
- into the parent part.
+ description: The lifecycle context in which the child part was assembled into the parent part.
enum:
- - asBuilt
- - asPlanned
- - asSpecified
+ - asBuilt
+ - asPlanned
+ - asSpecified
callbackUrl:
type: string
- description: "Callback url to notify requestor when job processing is finished.\
- \ There are two uri variable placeholders that can be used: id and state."
+ description: "Callback url to notify requestor when job processing is finished. There are two uri variable placeholders that can be used: id and state."
example: "https://hostname.com/callback?id={id}&state={state}"
collectAspects:
type: boolean
- description: Flag to specify whether aspects should be requested and collected.
- Default is false.
+ description: Flag to specify whether aspects should be requested and collected. Default is false.
depth:
type: integer
format: int32
- description: Max depth of the item graph returned. If no depth is set item
- graph with max depth is returned.
+ description: Max depth of the item graph returned. If no depth is set item graph with max depth is returned.
maximum: 100
minimum: 1
direction:
@@ -2687,17 +2631,16 @@ components:
default: downward
description: Item graph traversal direction.
enum:
- - upward
- - downward
+ - upward
+ - downward
key:
$ref: '#/components/schemas/PartChainIdentificationKey'
lookupBPNs:
type: boolean
deprecated: true
- description: Flag to specify whether BPNs should be collected and resolved
- via the configured BPDM URL. Default is false.
+ description: Flag to specify whether BPNs should be collected and resolved via the configured BPDM URL. Default is false.
required:
- - key
+ - key
Relationship:
type: object
additionalProperties: false
@@ -2760,8 +2703,7 @@ components:
Submodel:
type: object
additionalProperties: false
- description: "Submodel with identification of SubmodelDescriptor, aspect type\
- \ and payload as String"
+ description: "Submodel with identification of SubmodelDescriptor, aspect type and payload as String"
properties:
aspectType:
type: string
@@ -2844,11 +2786,10 @@ components:
validUntil:
type: string
format: date-time
- description: Timestamp after which the policy will no longer be accepted
- in negotiations.
+ description: Timestamp after which the policy will no longer be accepted in negotiations.
required:
- - policyIds
- - validUntil
+ - policyIds
+ - validUntil
securitySchemes:
api_key:
description: Api Key access
diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/IrsApplication.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/IrsApplication.java
index e37f31b068..aa8b34ed44 100644
--- a/irs-api/src/main/java/org/eclipse/tractusx/irs/IrsApplication.java
+++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/IrsApplication.java
@@ -59,7 +59,7 @@ public class IrsApplication {
/**
* The IRS API version.
*/
- public static final String API_VERSION = "5.1.4";
+ public static final String API_VERSION = "5.1.9";
/**
* The URL prefix for IRS API URLs.
diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidation.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidation.java
index fd760cd462..3c87a9e261 100644
--- a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidation.java
+++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidation.java
@@ -77,13 +77,13 @@ public static SupplyChainImpacted jobContainsIncidentBPNs(final List incidentBPNs)
throws InvalidAspectTypeFormatException {
- if (partSiteInformationAsPlanned.sites().stream().anyMatch(site -> site.catenaXSiteId() == null)) {
- throw new InvalidAspectTypeFormatException("'PartSiteInformationAsPlanned' exists, but catenaXSiteId could not be found.");
+ if (partSiteInformationAsPlanned.sites().stream().anyMatch(site -> site.catenaXsiteId() == null)) {
+ throw new InvalidAspectTypeFormatException("'PartSiteInformationAsPlanned' exists, but catenaXsiteId could not be found.");
}
final List siteIds = partSiteInformationAsPlanned.getCatenaXSiteId();
try {
diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java
index bc2f3a1d8c..aa404f485b 100644
--- a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java
+++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java
@@ -112,7 +112,9 @@ public void registerEdcAsset() {
private void registerAsset(final String assetId, final String notificationType, final String path) {
final var body = """
{
- "@context": {},
+ "@context": {
+ "@vocab": "https://w3id.org/edc/v0.0.1/ns/"
+ },
"@id": "%s",
"properties": {
"description": "ESS notification endpoint",
@@ -142,33 +144,42 @@ private void registerAsset(final String assetId, final String notificationType,
private void registerPolicy(final String policyId) {
final var body = """
+ {
+ "@context": {
+ "@vocab": "https://w3id.org/edc/v0.0.1/ns/",
+ "cx-policy": "https://w3id.org/catenax/policy/",
+ "odrl": "http://www.w3.org/ns/odrl/2/"
+ },
+ "@id": "%s",
+ "policy": {
+ "@type": "odrl:Set",
+ "odrl:permission": [
{
- "@context": {
- "odrl": "http://www.w3.org/ns/odrl/2/"
- },
- "@id": "%s",
- "policy": {
- "odrl:permission": [
- {
- "odrl:action": "use",
- "odrl:constraint": {
- "@type": "AtomicConstraint",
- "odrl:or": [
- {
- "@type": "Constraint",
- "odrl:leftOperand": "PURPOSE",
- "odrl:operator": {
- "@id": "odrl:eq"
- },
- "odrl:rightOperand": "ID 3.1 Trace"
- }
- ]
- }
- }
- ]
- }
+ "odrl:action": "use",
+ "odrl:constraint": {
+ "@type": "AtomicConstraint",
+ "odrl:and": [
+ {
+ "odrl:leftOperand": "cx-policy:FrameworkAgreement",
+ "odrl:operator": {
+ "@id": "odrl:eq"
+ },
+ "odrl:rightOperand": "traceability:1.0"
+ },
+ {
+ "odrl:leftOperand": "cx-policy:UsagePurpose",
+ "odrl:operator": {
+ "@id": "odrl:eq"
+ },
+ "odrl:rightOperand": "cx.core.industrycore:1"
+ }
+ ]
+ }
}
- """.formatted(policyId);
+ ]
+ }
+ }
+ """.formatted(policyId);
final var entity = restTemplate.exchange(edcProviderUrl + policydefinitionsPath, HttpMethod.POST,
toEntity(body), String.class);
diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java
index 9f0934e4f5..f8e27e4842 100644
--- a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java
+++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java
@@ -56,8 +56,8 @@
@Slf4j
public class EssService {
- private static final String PART_AS_PLANNED = SemanticModelNames.PART_AS_PLANNED_2_0_0;
- private static final String PART_SITE_INFORMATION_AS_PLANNED = SemanticModelNames.PART_SITE_INFORMATION_AS_PLANNED_1_0_0;
+ public static final String PART_AS_PLANNED = SemanticModelNames.PART_AS_PLANNED_1_0_1;
+ public static final String PART_SITE_INFORMATION_AS_PLANNED = SemanticModelNames.PART_SITE_INFORMATION_AS_PLANNED_1_0_0;
private final IrsItemGraphQueryService irsItemGraphQueryService;
private final BpnInvestigationJobCache bpnInvestigationJobCache;
diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/RelationshipDelegateTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/RelationshipDelegateTest.java
index b6dea229fa..bc9a42531c 100644
--- a/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/RelationshipDelegateTest.java
+++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/RelationshipDelegateTest.java
@@ -391,7 +391,7 @@ void shouldCatchUsagePolicyExceptionAndPutTombstone() throws EdcClientException
// when
when(submodelFacade.getSubmodelPayload(any(), any(), any(), any())).thenThrow(
- new UsagePolicyPermissionException("itemId", null, businessPartnerNumber));
+ new UsagePolicyPermissionException(List.of(), null, businessPartnerNumber));
when(connectorEndpointsService.fetchConnectorEndpoints(any())).thenReturn(List.of("connector.endpoint.nl"));
final ItemContainer result = relationshipDelegate.process(itemContainerWithShell, jobParameter(),
new AASTransferProcess(), createKey());
diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/SubmodelDelegateTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/SubmodelDelegateTest.java
index ab98d6123e..f6a98013c4 100644
--- a/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/SubmodelDelegateTest.java
+++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/SubmodelDelegateTest.java
@@ -153,7 +153,7 @@ void shouldCatchUsagePolicyExceptionAndPutTombstone() throws EdcClientException
// when
when(submodelFacade.getSubmodelPayload(any(), any(), any(), any())).thenThrow(
- new UsagePolicyPermissionException("itemId", null, businessPartnerNumber));
+ new UsagePolicyPermissionException(List.of(), null, businessPartnerNumber));
when(connectorEndpointsService.fetchConnectorEndpoints(any())).thenReturn(List.of("connector.endpoint.nl"));
final ItemContainer result = submodelDelegate.process(itemContainerShellWithTwoSubmodels,
jobParameterCollectAspects(), new AASTransferProcess(), createKey());
diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidationTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidationTest.java
index 3b59380ce6..848e4f84a3 100644
--- a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidationTest.java
+++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidationTest.java
@@ -24,7 +24,10 @@
package org.eclipse.tractusx.irs.ess.bpn.validation;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.eclipse.tractusx.irs.ess.service.EssService.PART_AS_PLANNED;
+import static org.eclipse.tractusx.irs.ess.service.EssService.PART_SITE_INFORMATION_AS_PLANNED;
import static org.eclipse.tractusx.irs.util.TestMother.shell;
+import static org.eclipse.tractusx.irs.util.TestMother.submodelDescriptor;
import java.time.ZonedDateTime;
import java.util.ArrayList;
@@ -37,6 +40,7 @@
import org.eclipse.tractusx.irs.component.Shell;
import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor;
import org.eclipse.tractusx.irs.component.assetadministrationshell.IdentifierKeyValuePair;
+import org.eclipse.tractusx.irs.component.assetadministrationshell.SubmodelDescriptor;
import org.eclipse.tractusx.irs.component.partasplanned.PartAsPlanned;
import org.eclipse.tractusx.irs.component.partasplanned.ValidityPeriod;
import org.eclipse.tractusx.irs.component.partsiteinformationasplanned.PartSiteInformationAsPlanned;
@@ -61,7 +65,8 @@ void shouldReturnNoWhenBPNsDoNotContainShellBPNs() {
final Jobs jobs = jobResult(parentId, cxIdBPNMap);
// Act
- final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns);
+ final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(
+ jobs.getShells().stream().map(Shell::payload).toList(), bpns);
// Assert
assertThat(actual).isEqualTo(SupplyChainImpacted.NO);
@@ -82,7 +87,8 @@ void shouldReturnYesWhenBPNsContainShellBPNs() {
final Jobs jobs = jobResult(parentId, cxIdBPNMap);
// Act
- final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns);
+ final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(
+ jobs.getShells().stream().map(Shell::payload).toList(), bpns);
// Assert
assertThat(actual).isEqualTo(SupplyChainImpacted.YES);
@@ -98,7 +104,8 @@ void shouldReturnYesWhenNoChildrenAndParentContainsBPN() {
final Jobs jobs = jobResult(parentId, cxIdBPNMap);
// Act
- final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns);
+ final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(
+ jobs.getShells().stream().map(Shell::payload).toList(), bpns);
// Assert
assertThat(actual).isEqualTo(SupplyChainImpacted.YES);
@@ -114,7 +121,8 @@ void shouldReturnNoWhenNoChildrenAndParentDoesNotContainBPN() {
final Jobs jobs = jobResult(parentId, cxIdBPNMap);
// Act
- final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns);
+ final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(
+ jobs.getShells().stream().map(Shell::payload).toList(), bpns);
// Assert
assertThat(actual).isEqualTo(SupplyChainImpacted.NO);
@@ -129,7 +137,8 @@ void shouldReturnUnknownWhenJobContainsNoShells() {
final Jobs jobs = jobResult(parentId, cxIdBPNMap);
// Act
- final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns);
+ final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(
+ jobs.getShells().stream().map(Shell::payload).toList(), bpns);
// Assert
assertThat(actual).isEqualTo(SupplyChainImpacted.UNKNOWN);
@@ -151,7 +160,8 @@ void shouldReturnUnknownWhenJobContainsShellWithoutBPN() {
.build();
// Act
- final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns);
+ final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(
+ jobs.getShells().stream().map(Shell::payload).toList(), bpns);
// Assert
assertThat(actual).isEqualTo(SupplyChainImpacted.UNKNOWN);
@@ -164,7 +174,7 @@ void shouldReturnNoWhenPartSideInformationDoesNotContainBPNS() throws InvalidAsp
final PartSiteInformationAsPlanned partSiteInformation = PartSiteInformationAsPlanned.builder()
.sites(List.of(
Site.builder()
- .catenaXSiteId(
+ .catenaXsiteId(
"BPNS123456")
.build()))
.build();
@@ -183,7 +193,7 @@ void shouldReturnYesWhenPartSideInformationContainBPNS() throws InvalidAspectTyp
final PartSiteInformationAsPlanned partSiteInformation = PartSiteInformationAsPlanned.builder()
.sites(List.of(
Site.builder()
- .catenaXSiteId(
+ .catenaXsiteId(
"BPNS00000003B0Q0")
.build()))
.build();
@@ -278,12 +288,16 @@ private static Jobs jobResult(final String parentId, final Map c
}
private static AssetAdministrationShellDescriptor createShell(final String catenaXId, final String bpn) {
+ final List submodelDescriptors = List.of(
+ submodelDescriptor(PART_AS_PLANNED, "test", "test"),
+ submodelDescriptor(PART_SITE_INFORMATION_AS_PLANNED, "test", "test"));
return AssetAdministrationShellDescriptor.builder()
.globalAssetId(catenaXId)
.specificAssetIds(List.of(IdentifierKeyValuePair.builder()
.name("manufacturerId")
.value(bpn)
.build()))
+ .submodelDescriptors(submodelDescriptors)
.build();
}
}
\ No newline at end of file
diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/InvestigationJobProcessingEventListenerTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/InvestigationJobProcessingEventListenerTest.java
index 53bf84b9bb..9f7ba8f624 100644
--- a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/InvestigationJobProcessingEventListenerTest.java
+++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/InvestigationJobProcessingEventListenerTest.java
@@ -314,7 +314,7 @@ void shouldCreateTombstoneWhenSiteIdIsMissing() throws EdcClientException {
final Optional job = bpnInvestigationJobCache.findByJobId(jobId);
assertThat(job).isPresent();
assertThat(job.get().getJobSnapshot().getTombstones()).hasSize(1);
- assertThat(job.get().getJobSnapshot().getTombstones().get(0).getProcessingError().getErrorDetail()).isEqualTo("'PartSiteInformationAsPlanned' exists, but catenaXSiteId could not be found.");
+ assertThat(job.get().getJobSnapshot().getTombstones().get(0).getProcessingError().getErrorDetail()).isEqualTo("'PartSiteInformationAsPlanned' exists, but catenaXsiteId could not be found.");
}
private void createMockForJobIdAndShell(final UUID mockedJobId, final String mockedShell,
@@ -378,7 +378,7 @@ private static Submodel getPartSiteInformationAsPlanned() {
"functionValidUntil": "2025-02-08T04:30:48.000Z",
"function": "production",
"functionValidFrom": "2019-08-21T02:10:36.000Z",
- "catenaXSiteId": "BPNS000004711DMY"
+ "catenaXsiteId": "BPNS000004711DMY"
}
]
}
diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java
index d45e24dac5..45a58bcb0e 100644
--- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java
+++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java
@@ -127,13 +127,13 @@ private CompletableFuture startNewNegotiation(final String
if (!policyCheckerService.isValid(catalogItem.getPolicy(), bpn)) {
log.warn("Policy was not allowed, canceling negotiation.");
- throw new UsagePolicyPermissionException(catalogItem.getItemId(), catalogItem.getPolicy(),
+ throw new UsagePolicyPermissionException(policyCheckerService.getValidStoredPolicies(catalogItem.getConnectorId()), catalogItem.getPolicy(),
catalogItem.getConnectorId());
}
if (policyCheckerService.isExpired(catalogItem.getPolicy(), bpn)) {
log.warn("Policy is expired, canceling negotiation.");
- throw new UsagePolicyExpiredException(catalogItem.getItemId(), catalogItem.getPolicy(),
+ throw new UsagePolicyExpiredException(catalogItem.getPolicy(),
catalogItem.getConnectorId());
}
diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java
index e9c4e44fa7..097ed1c92a 100644
--- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java
+++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java
@@ -31,10 +31,10 @@ public class UsagePolicyExpiredException extends EdcClientException {
private final transient Policy policy;
private final String businessPartnerNumber;
- public UsagePolicyExpiredException(final String itemId, final Policy policy, final String businessPartnerNumber) {
- super("Consumption of asset '" + itemId
- + "' is not permitted as the required catalog offer policies are expired.");
+ public UsagePolicyExpiredException(final Policy policy, final String businessPartnerNumber) {
+ super("Policy from " + businessPartnerNumber + " has expired.");
this.policy = policy;
this.businessPartnerNumber = businessPartnerNumber;
}
+
}
diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java
index c289672f12..3e2f1c797f 100644
--- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java
+++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java
@@ -23,8 +23,11 @@
********************************************************************************/
package org.eclipse.tractusx.irs.edc.client.exceptions;
+import java.util.List;
+
import lombok.Getter;
import org.eclipse.edc.policy.model.Policy;
+import org.eclipse.tractusx.irs.edc.client.policy.AcceptedPolicy;
/**
* Usage Policy Permission Exception errors in the contract negotiation.
@@ -35,11 +38,15 @@ public class UsagePolicyPermissionException extends EdcClientException {
private final transient Policy policy;
private final String businessPartnerNumber;
- public UsagePolicyPermissionException(final String itemId, final Policy policy,
- final String businessPartnerNumber) {
- super("Consumption of asset '" + itemId
- + "' is not permitted as the required catalog offer policies do not comply with defined policies.");
- this.policy = policy;
+ public UsagePolicyPermissionException(final List acceptedPolicies,
+ final Policy providedCatalogItemPolicy, final String businessPartnerNumber) {
+ super("Policies "
+ + acceptedPolicies.stream().map(policy -> policy.policy().getPolicyId()).toList()
+ + " did not match with policy from " + businessPartnerNumber + ".");
+
+ this.policy = providedCatalogItemPolicy;
this.businessPartnerNumber = businessPartnerNumber;
+
}
+
}
diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/PolicyCheckerService.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/PolicyCheckerService.java
index daa34c81d6..b4e052e914 100644
--- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/PolicyCheckerService.java
+++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/PolicyCheckerService.java
@@ -70,7 +70,7 @@ private boolean hasExpiredConstraint(final Permission permission, final List acceptedPolicy.validUntil().isBefore(OffsetDateTime.now()));
}
- private List getValidStoredPolicies(final String bpn) {
+ public List getValidStoredPolicies(final String bpn) {
return policyStore.getAcceptedPolicies(bpn).stream().toList();
}
diff --git a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/SubmodelFacadeWiremockTest.java b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/SubmodelFacadeWiremockTest.java
index 135fd74842..ca71a2e2bf 100644
--- a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/SubmodelFacadeWiremockTest.java
+++ b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/SubmodelFacadeWiremockTest.java
@@ -37,6 +37,7 @@
import static org.eclipse.tractusx.irs.testing.wiremock.SubmodelFacadeWiremockSupport.TRACEABILITY_1_0;
import static org.eclipse.tractusx.irs.testing.wiremock.WireMockConfig.responseWithStatus;
import static org.eclipse.tractusx.irs.testing.wiremock.WireMockConfig.restTemplateProxy;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -235,13 +236,13 @@ void shouldThrowExceptionWhenPoliciesAreNotAccepted() {
final AcceptedPolicy acceptedPolicy = new AcceptedPolicy(policy("IRS Policy", List.of(permission)),
OffsetDateTime.now().plusYears(1));
- when(acceptedPoliciesProvider.getAcceptedPolicies("bpn")).thenReturn(List.of(acceptedPolicy));
+ when(acceptedPoliciesProvider.getAcceptedPolicies(anyString())).thenReturn(List.of(acceptedPolicy));
prepareNegotiation();
givenThat(get(urlPathEqualTo(SUBMODEL_DATAPLANE_PATH)).willReturn(responseWithStatus(200).withBody("test")));
// Act & Assert
- final String errorMessage = "Consumption of asset '5a7ab616-989f-46ae-bdf2-32027b9f6ee6-31b614f5-ec14-4ed2-a509-e7b7780083e7' is not permitted as the required catalog offer policies do not comply with defined policies.";
+ final String errorMessage = "Policies [IRS Policy] did not match with policy from BPNL00000000TEST.";
assertThatExceptionOfType(UsagePolicyPermissionException.class).isThrownBy(
() -> edcSubmodelClient.getSubmodelPayload(CONNECTOR_ENDPOINT_URL, SUBMODEL_DATAPLANE_URL, ASSET_ID, "bpn")
.get()).withMessageEndingWith(errorMessage);
diff --git a/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/PartSiteInformationAsPlanned.java b/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/PartSiteInformationAsPlanned.java
index 7d1b12d858..b573c83388 100644
--- a/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/PartSiteInformationAsPlanned.java
+++ b/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/PartSiteInformationAsPlanned.java
@@ -35,6 +35,6 @@
@Jacksonized
public record PartSiteInformationAsPlanned(String catenaXId, List sites) {
public List getCatenaXSiteId() {
- return sites().stream().map(Site::catenaXSiteId).toList();
+ return sites().stream().map(Site::catenaXsiteId).toList();
}
}
diff --git a/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/Site.java b/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/Site.java
index e7dcd83fd2..16bcc2fe17 100644
--- a/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/Site.java
+++ b/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/Site.java
@@ -34,5 +34,5 @@
@Builder
@Jacksonized
public record Site(ZonedDateTime functionValidUntil, String function, ZonedDateTime functionValidFrom,
- String catenaXSiteId) {
+ String catenaXsiteId) {
}
diff --git a/local/testing/testdata/ESS_Testdata_v2.0.0-AsPlanned.json b/local/testing/testdata/ESS_Testdata_v2.0.0-AsPlanned.json
index 43b0d510de..7fa5039d91 100644
--- a/local/testing/testdata/ESS_Testdata_v2.0.0-AsPlanned.json
+++ b/local/testing/testdata/ESS_Testdata_v2.0.0-AsPlanned.json
@@ -42,7 +42,7 @@
{
"catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e",
"bpnl": "BPNL00000003AYRE",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2019-04-04T03:19:03.000Z",
@@ -56,7 +56,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e",
"sites": [
@@ -64,12 +64,12 @@
"functionValidUntil": "2025-02-08T04:30:48.000Z",
"function": "production",
"functionValidFrom": "2019-08-21T02:10:36.000Z",
- "catenaXSiteId": "BPNS00000003AYRE"
+ "catenaXsiteId": "BPNS00000003AYRE"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e",
"childItems": [
@@ -94,7 +94,7 @@
{
"catenaXId": "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c",
"bpnl": "BPNL00ARBITRARY1",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2016-12-09T05:06:53.000Z",
@@ -108,7 +108,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c",
"sites": [
@@ -116,12 +116,12 @@
"functionValidUntil": "2029-03-01T06:04:34.000Z",
"function": "production",
"functionValidFrom": "2018-02-05T09:47:59.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY1"
+ "catenaXsiteId": "BPNS00ARBITRARY1"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c",
"childItems": [
@@ -160,7 +160,7 @@
{
"catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7",
"bpnl": "BPNL00000003B6LU",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-04-01T00:18:40.000Z",
@@ -174,7 +174,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7",
"sites": [
@@ -182,12 +182,12 @@
"functionValidUntil": "2031-11-21T01:59:04.000Z",
"function": "production",
"functionValidFrom": "2013-09-04T06:14:54.000Z",
- "catenaXSiteId": "BPNS00000003B6LU"
+ "catenaXsiteId": "BPNS00000003B6LU"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7",
"childItems": [
@@ -212,7 +212,7 @@
{
"catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc",
"bpnl": "BPNL00ARBITRARY3",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2015-03-15T17:25:20.000Z",
@@ -226,7 +226,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc",
"sites": [
@@ -234,12 +234,12 @@
"functionValidUntil": "2026-01-07T15:36:31.000Z",
"function": "production",
"functionValidFrom": "2015-04-29T17:11:59.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY3"
+ "catenaXsiteId": "BPNS00ARBITRARY3"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc",
"childItems": []
@@ -249,7 +249,7 @@
{
"catenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97",
"bpnl": "BPNL00000003B3NX",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2014-03-22T06:27:39.000Z",
@@ -263,7 +263,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97",
"sites": [
@@ -271,12 +271,12 @@
"functionValidUntil": "2025-10-14T02:16:37.000Z",
"function": "production",
"functionValidFrom": "2014-07-09T06:57:44.000Z",
- "catenaXSiteId": "BPNS00000003B3NX"
+ "catenaXsiteId": "BPNS00000003B3NX"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97",
"childItems": [
@@ -301,7 +301,7 @@
{
"catenaXId": "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9",
"bpnl": "BPNL00000003B3NX",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2015-06-20T09:16:05.000Z",
@@ -315,7 +315,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9",
"sites": [
@@ -323,12 +323,12 @@
"functionValidUntil": "2032-06-15T14:18:34.000Z",
"function": "production",
"functionValidFrom": "2014-12-27T02:28:17.000Z",
- "catenaXSiteId": "BPNS00000003B3NX"
+ "catenaXsiteId": "BPNS00000003B3NX"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9",
"childItems": [
@@ -353,7 +353,7 @@
{
"catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e",
"bpnl": "BPNL00000003B6LU",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-04-11T05:30:04.000Z",
@@ -367,7 +367,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e",
"sites": [
@@ -375,12 +375,12 @@
"functionValidUntil": "2026-11-05T11:21:29.000Z",
"function": "production",
"functionValidFrom": "2016-07-05T20:28:02.000Z",
- "catenaXSiteId": "BPNS00000003B6LU"
+ "catenaXsiteId": "BPNS00000003B6LU"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e",
"childItems": []
@@ -390,7 +390,7 @@
{
"catenaXId": "urn:uuid:68904173-ad59-4a77-8412-3e73fcafbd8b",
"bpnl": "BPNL00000003B6LU",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-09-21T23:24:07.000Z",
@@ -404,7 +404,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:68904173-ad59-4a77-8412-3e73fcafbd8b",
"sites": [
@@ -412,12 +412,12 @@
"functionValidUntil": "2025-03-23T05:10:13.000Z",
"function": "production",
"functionValidFrom": "2018-12-09T05:11:28.000Z",
- "catenaXSiteId": "BPNS00000003B6LU"
+ "catenaXsiteId": "BPNS00000003B6LU"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:68904173-ad59-4a77-8412-3e73fcafbd8b",
"childItems": [
@@ -442,7 +442,7 @@
{
"catenaXId": "urn:uuid:e3e2a4d8-58bc-4ae9-afa2-e8946fda1f77",
"bpnl": "BPNL00000004FAIL",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2015-01-16T14:23:33.000Z",
@@ -456,7 +456,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:e3e2a4d8-58bc-4ae9-afa2-e8946fda1f77",
"sites": [
@@ -464,12 +464,12 @@
"functionValidUntil": "2024-06-08T03:49:26.000Z",
"function": "production",
"functionValidFrom": "2015-08-29T08:43:40.000Z",
- "catenaXSiteId": "BPNS00000004FAIL"
+ "catenaXsiteId": "BPNS00000004FAIL"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:e3e2a4d8-58bc-4ae9-afa2-e8946fda1f77",
"childItems": [
@@ -494,7 +494,7 @@
{
"catenaXId": "urn:uuid:b1d46d01-e308-4bd3-863a-331e64751d76",
"bpnl": "BPNL00000003AXS3",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2014-07-30T07:17:16.000Z",
@@ -508,7 +508,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:b1d46d01-e308-4bd3-863a-331e64751d76",
"sites": [
@@ -516,12 +516,12 @@
"functionValidUntil": "2026-03-11T19:58:28.000Z",
"function": "production",
"functionValidFrom": "2020-03-04T21:09:12.000Z",
- "catenaXSiteId": "BPNS00000003AXS3"
+ "catenaXsiteId": "BPNS00000003AXS3"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:b1d46d01-e308-4bd3-863a-331e64751d76",
"childItems": []
@@ -531,7 +531,7 @@
{
"catenaXId": "urn:uuid:1c7a25ea-0490-4944-b9c9-d8c666d47958",
"bpnl": "BPNL00ARBITRARY4",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2019-04-04T03:19:03.000Z",
@@ -545,7 +545,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:1c7a25ea-0490-4944-b9c9-d8c666d47958",
"sites": [
@@ -553,12 +553,12 @@
"functionValidUntil": "2025-02-08T04:30:48.000Z",
"function": "production",
"functionValidFrom": "2019-08-21T02:10:36.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY4"
+ "catenaXsiteId": "BPNS00ARBITRARY4"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:1c7a25ea-0490-4944-b9c9-d8c666d47958",
"childItems": [
@@ -583,7 +583,7 @@
{
"catenaXId": "urn:uuid:2190e4b8-63ee-411d-bf57-6cdc495bc1df",
"bpnl": "BPNL00ARBITRARY5",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2016-12-09T05:06:53.000Z",
@@ -597,7 +597,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:2190e4b8-63ee-411d-bf57-6cdc495bc1df",
"sites": [
@@ -605,12 +605,12 @@
"functionValidUntil": "2029-03-01T06:04:34.000Z",
"function": "production",
"functionValidFrom": "2018-02-05T09:47:59.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY5"
+ "catenaXsiteId": "BPNS00ARBITRARY5"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:2190e4b8-63ee-411d-bf57-6cdc495bc1df",
"childItems": [
@@ -635,7 +635,7 @@
{
"catenaXId": "urn:uuid:3d61ada2-1a50-42a0-b411-40a932dd56cc",
"bpnl": "BPNL00ARBITRARY6",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2014-03-22T06:27:39.000Z",
@@ -649,7 +649,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:3d61ada2-1a50-42a0-b411-40a932dd56cc",
"sites": [
@@ -657,12 +657,12 @@
"functionValidUntil": "2025-10-14T02:16:37.000Z",
"function": "production",
"functionValidFrom": "2014-07-09T06:57:44.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY6"
+ "catenaXsiteId": "BPNS00ARBITRARY6"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:3d61ada2-1a50-42a0-b411-40a932dd56cc",
"childItems": [
@@ -687,7 +687,7 @@
{
"catenaXId": "urn:uuid:52207a60-e541-4bea-8ec4-3172f09e6dbb",
"bpnl": "BPNL00ARBITRARY7",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2015-06-20T09:16:05.000Z",
@@ -701,7 +701,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:52207a60-e541-4bea-8ec4-3172f09e6dbb",
"sites": [
@@ -709,12 +709,12 @@
"functionValidUntil": "2032-06-15T14:18:34.000Z",
"function": "production",
"functionValidFrom": "2014-12-27T02:28:17.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY7"
+ "catenaXsiteId": "BPNS00ARBITRARY7"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:52207a60-e541-4bea-8ec4-3172f09e6dbb",
"childItems": [
@@ -739,7 +739,7 @@
{
"catenaXId": "urn:uuid:3a2a1ca9-c6c1-49c7-a7ae-1dfc5fb9881f",
"bpnl": "BPNL00ARBITRARY8",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-09-21T23:24:07.000Z",
@@ -753,7 +753,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:3a2a1ca9-c6c1-49c7-a7ae-1dfc5fb9881f",
"sites": [
@@ -761,12 +761,12 @@
"functionValidUntil": "2025-03-23T05:10:13.000Z",
"function": "production",
"functionValidFrom": "2018-12-09T05:11:28.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY8"
+ "catenaXsiteId": "BPNS00ARBITRARY8"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:3a2a1ca9-c6c1-49c7-a7ae-1dfc5fb9881f",
"childItems": [
@@ -795,7 +795,7 @@
},
"createdOn": "2022-02-03T14:48:54.709Z",
"lastModifiedOn": "2022-02-03T14:48:54.709Z",
- "businessPartner": "BPNL00ARBITRARY10",
+ "businessPartner": "BPNL0ARBITRARY10",
"catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8"
}
]
@@ -805,7 +805,7 @@
{
"catenaXId": "urn:uuid:9846f1c6-0dd0-4d5a-9c7a-30af0b7e0247",
"bpnl": "BPNL00000004FAIL",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2014-07-30T07:17:16.000Z",
@@ -819,7 +819,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:9846f1c6-0dd0-4d5a-9c7a-30af0b7e0247",
"sites": [
@@ -827,7 +827,7 @@
"functionValidUntil": "2026-03-11T19:58:28.000Z",
"function": "production",
"functionValidFrom": "2020-03-04T21:09:12.000Z",
- "catenaXSiteId": "BPNS00000004FAIL"
+ "catenaXsiteId": "BPNS00000004FAIL"
}
]
}
@@ -836,7 +836,7 @@
{
"catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8",
"bpnl": "BPNL0ARBITRARY10",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2015-01-16T14:23:33.000Z",
@@ -850,7 +850,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8",
"sites": [
@@ -858,12 +858,12 @@
"functionValidUntil": "2024-06-08T03:49:26.000Z",
"function": "production",
"functionValidFrom": "2015-08-29T08:43:40.000Z",
- "catenaXSiteId": "BPNS0ARBITRARY10"
+ "catenaXsiteId": "BPNS0ARBITRARY10"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8",
"childItems": [
@@ -878,7 +878,7 @@
},
"createdOn": "2022-02-03T14:48:54.709Z",
"lastModifiedOn": "2022-02-03T14:48:54.709Z",
- "businessPartner": "BPNS00ARBITRARY11",
+ "businessPartner": "BPNL0ARBITRARY11",
"catenaXId": "urn:uuid:01796f87-9677-43f0-9c62-61665be29d85"
}
]
@@ -888,7 +888,7 @@
{
"catenaXId": "urn:uuid:01796f87-9677-43f0-9c62-61665be29d85",
"bpnl": "BPNL0ARBITRARY11",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2014-07-30T07:17:16.000Z",
@@ -902,7 +902,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:01796f87-9677-43f0-9c62-61665be29d85",
"sites": [
@@ -910,7 +910,7 @@
"functionValidUntil": "2026-03-11T19:58:28.000Z",
"function": "production",
"functionValidFrom": "2020-03-04T21:09:12.000Z",
- "catenaXSiteId": "BPNS0ARBITRARY11"
+ "catenaXsiteId": "BPNS0ARBITRARY11"
}
]
}
@@ -919,7 +919,7 @@
{
"catenaXId": "urn:uuid:b0faace3-d41f-45b8-9573-175a33efbaaf",
"bpnl": "BPNL00ARBITRARY8",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-09-21T23:24:07.000Z",
@@ -933,7 +933,7 @@
}
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:b0faace3-d41f-45b8-9573-175a33efbaaf",
"childItems": [
@@ -972,7 +972,7 @@
{
"catenaXId": "urn:uuid:ec759282-e8fb-4a94-aafe-71585a3f2948",
"bpnl": "BPNL00ARBITRARY9",
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:ec759282-e8fb-4a94-aafe-71585a3f2948",
"childItems": []
@@ -982,7 +982,7 @@
{
"catenaXId": "urn:uuid:1d12d050-d388-4f3d-a880-c9ec4ac84786",
"bpnl": "BPNL0ARBITRARY10",
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:1d12d050-d388-4f3d-a880-c9ec4ac84786",
"childItems": [
@@ -1007,7 +1007,7 @@
{
"catenaXId": "urn:uuid:b636c28a-6924-4498-88f9-5d073f16ed65",
"bpnl": "BPNL0ARBITRARY11",
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:b636c28a-6924-4498-88f9-5d073f16ed65",
"childItems": []
@@ -1017,7 +1017,7 @@
{
"catenaXId": "urn:uuid:f5024c70-6c4f-4ec5-b23b-aa6a91110611",
"bpnl": "BPNL00ARBITRARY8",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-09-21T23:24:07.000Z",
@@ -1031,7 +1031,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:f5024c70-6c4f-4ec5-b23b-aa6a91110611",
"sites": [
@@ -1043,7 +1043,7 @@
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:f5024c70-6c4f-4ec5-b23b-aa6a91110611",
"childItems": [
@@ -1082,7 +1082,7 @@
{
"catenaXId": "urn:uuid:51eeafa1-a7a5-4f2d-8c7a-15036eb43553",
"bpnl": "BPNL00ARBITRARY9",
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:51eeafa1-a7a5-4f2d-8c7a-15036eb43553",
"childItems": []
@@ -1092,7 +1092,7 @@
{
"catenaXId": "urn:uuid:5d827e81-ac88-4acb-8a0e-8565ddd729b1",
"bpnl": "BPNL0ARBITRARY10",
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:5d827e81-ac88-4acb-8a0e-8565ddd729b1",
"childItems": [
@@ -1117,7 +1117,7 @@
{
"catenaXId": "urn:uuid:31557090-b504-41a2-8f13-e0e2c2c16932",
"bpnl": "BPNL0ARBITRARY11",
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:31557090-b504-41a2-8f13-e0e2c2c16932",
"childItems": []
@@ -1127,7 +1127,7 @@
{
"catenaXId": "urn:uuid:e1bc2e62-165e-4f37-9d06-214476d5547f",
"bpnl": "BPNL00ARBITRARY8",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-09-21T23:24:07.000Z",
@@ -1141,7 +1141,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:e1bc2e62-165e-4f37-9d06-214476d5547f",
"sites": [
@@ -1149,12 +1149,12 @@
"functionValidUntil": "2025-03-23T05:10:13.000Z",
"function": "production",
"functionValidFrom": "2018-12-09T05:11:28.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY8"
+ "catenaXsiteId": "BPNS00ARBITRARY8"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:e1bc2e62-165e-4f37-9d06-214476d5547f",
"childItems": [
@@ -1183,7 +1183,7 @@
},
"createdOn": "2022-02-03T14:48:54.709Z",
"lastModifiedOn": "2022-02-03T14:48:54.709Z",
- "businessPartner": "BPNL00ARBITRARY10",
+ "businessPartner": "BPNL0ARBITRARY10",
"catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8"
}
]
@@ -1193,7 +1193,7 @@
{
"catenaXId": "urn:uuid:642702fc-0987-4fd6-b29c-4b623a005c32",
"bpnl": "BPNL00ARBITRARY8",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-09-21T23:24:07.000Z",
@@ -1207,7 +1207,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:642702fc-0987-4fd6-b29c-4b623a005c32",
"sites": [
@@ -1215,12 +1215,12 @@
"functionValidUntil": "2025-03-23T05:10:13.000Z",
"function": "production",
"functionValidFrom": "2018-12-09T05:11:28.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY8"
+ "catenaXsiteId": "BPNS00ARBITRARY8"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:642702fc-0987-4fd6-b29c-4b623a005c32",
"childItems": [
@@ -1249,7 +1249,7 @@
},
"createdOn": "2022-02-03T14:48:54.709Z",
"lastModifiedOn": "2022-02-03T14:48:54.709Z",
- "businessPartner": "BPNL00ARBITRARY10",
+ "businessPartner": "BPNL0ARBITRARY10",
"catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8"
}
]
@@ -1259,7 +1259,7 @@
{
"catenaXId": "urn:uuid:5f968e65-97fc-4156-a168-5dfbec8de76c",
"bpnl": "BPNL00ARBITRARY8",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-09-21T23:24:07.000Z",
@@ -1273,7 +1273,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:5f968e65-97fc-4156-a168-5dfbec8de76c",
"sites": [
@@ -1281,12 +1281,12 @@
"functionValidUntil": "2025-03-23T05:10:13.000Z",
"function": "production",
"functionValidFrom": "2018-12-09T05:11:28.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY8"
+ "catenaXsiteId": "BPNS00ARBITRARY8"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:5f968e65-97fc-4156-a168-5dfbec8de76c",
"childItems": [
@@ -1315,7 +1315,7 @@
},
"createdOn": "2022-02-03T14:48:54.709Z",
"lastModifiedOn": "2022-02-03T14:48:54.709Z",
- "businessPartner": "BPNL00ARBITRARY10",
+ "businessPartner": "BPNL0ARBITRARY10",
"catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8"
}
]
@@ -1325,7 +1325,7 @@
{
"catenaXId": "urn:uuid:c8a7b53a-53f1-4c10-9a7f-864188ca1bdd",
"bpnl": "BPNL00ARBITRARY8",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2013-09-21T23:24:07.000Z",
@@ -1339,7 +1339,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:c8a7b53a-53f1-4c10-9a7f-864188ca1bdd",
"sites": [
@@ -1347,12 +1347,12 @@
"functionValidUntil": "2025-03-23T05:10:13.000Z",
"function": "production",
"functionValidFrom": "2018-12-09T05:11:28.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY8"
+ "catenaXsiteId": "BPNS00ARBITRARY8"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:c8a7b53a-53f1-4c10-9a7f-864188ca1bdd",
"childItems": [
@@ -1381,7 +1381,7 @@
},
"createdOn": "2022-02-03T14:48:54.709Z",
"lastModifiedOn": "2022-02-03T14:48:54.709Z",
- "businessPartner": "BPNL00ARBITRARY10",
+ "businessPartner": "BPNL0ARBITRARY10",
"catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8"
}
]
@@ -1391,7 +1391,7 @@
{
"catenaXId": "urn:uuid:4af880f1-cf60-4f30-8338-e9901e1c3050",
"bpnl": "BPNL00ARBITRARY4",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2019-04-04T03:19:03.000Z",
@@ -1405,7 +1405,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:4af880f1-cf60-4f30-8338-e9901e1c3050",
"sites": [
@@ -1413,12 +1413,12 @@
"functionValidUntil": "2025-02-08T04:30:48.000Z",
"function": "production",
"functionValidFrom": "2019-08-21T02:10:36.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY4"
+ "catenaXsiteId": "BPNS00ARBITRARY4"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:4af880f1-cf60-4f30-8338-e9901e1c3050",
"childItems": [
@@ -1443,7 +1443,7 @@
{
"catenaXId": "urn:uuid:c8c3e7af-c348-42ad-bc75-f83024d9c44c",
"bpnl": "BPNL00ARBITRARY4",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2019-04-04T03:19:03.000Z",
@@ -1457,7 +1457,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:c8c3e7af-c348-42ad-bc75-f83024d9c44c",
"sites": [
@@ -1465,12 +1465,12 @@
"functionValidUntil": "2025-02-08T04:30:48.000Z",
"function": "production",
"functionValidFrom": "2019-08-21T02:10:36.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY4"
+ "catenaXsiteId": "BPNS00ARBITRARY4"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:c8c3e7af-c348-42ad-bc75-f83024d9c44c",
"childItems": [
@@ -1495,7 +1495,7 @@
{
"catenaXId": "urn:uuid:23565927-339d-48d0-be66-fb031fc21082",
"bpnl": "BPNL00ARBITRARY4",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2019-04-04T03:19:03.000Z",
@@ -1509,7 +1509,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:23565927-339d-48d0-be66-fb031fc21082",
"sites": [
@@ -1517,12 +1517,12 @@
"functionValidUntil": "2025-02-08T04:30:48.000Z",
"function": "production",
"functionValidFrom": "2019-08-21T02:10:36.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY4"
+ "catenaXsiteId": "BPNS00ARBITRARY4"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:23565927-339d-48d0-be66-fb031fc21082",
"childItems": [
@@ -1547,7 +1547,7 @@
{
"catenaXId": "urn:uuid:8c325e8d-1340-427a-a622-5eddc017ae2b",
"bpnl": "BPNL00ARBITRARY4",
- "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
+ "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [
{
"validityPeriod": {
"validFrom": "2019-04-04T03:19:03.000Z",
@@ -1561,7 +1561,7 @@
}
}
],
- "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
+ "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [
{
"catenaXId": "urn:uuid:8c325e8d-1340-427a-a622-5eddc017ae2b",
"sites": [
@@ -1569,12 +1569,12 @@
"functionValidUntil": "2025-02-08T04:30:48.000Z",
"function": "production",
"functionValidFrom": "2019-08-21T02:10:36.000Z",
- "catenaXSiteId": "BPNS00ARBITRARY4"
+ "catenaXsiteId": "BPNS00ARBITRARY4"
}
]
}
],
- "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
+ "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [
{
"catenaXId": "urn:uuid:8c325e8d-1340-427a-a622-5eddc017ae2b",
"childItems": [
diff --git a/pom.xml b/pom.xml
index c2a3bd8350..fb0c6f84d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,7 +75,7 @@
- 2.1.0-SNAPSHOT
+ 2.1.2-SNAPSHOT
3.1.11