diff --git a/.github/keys/mosipgpgkey_pub.gpg b/.github/keys/mosipgpgkey_pub.gpg
index 86e5dfe34ca..4bdb1a947be 100644
Binary files a/.github/keys/mosipgpgkey_pub.gpg and b/.github/keys/mosipgpgkey_pub.gpg differ
diff --git a/.github/keys/mosipgpgkey_sec.gpg b/.github/keys/mosipgpgkey_sec.gpg
index b0180d5433d..97de55678f8 100644
Binary files a/.github/keys/mosipgpgkey_sec.gpg and b/.github/keys/mosipgpgkey_sec.gpg differ
diff --git a/.github/workflows/db-test.yml b/.github/workflows/db-test.yml
new file mode 100644
index 00000000000..ec82ae6418a
--- /dev/null
+++ b/.github/workflows/db-test.yml
@@ -0,0 +1,37 @@
+name: PostgreSQL Test
+
+on:
+ release:
+ types: [published]
+ pull_request:
+ types: [opened, reopened, synchronize]
+ workflow_dispatch:
+ inputs:
+ message:
+ description: 'Message for manually triggering'
+ required: false
+ default: 'Triggered for Updates'
+ type: string
+ push:
+ branches:
+ - '!release-branch'
+ - release*
+ - master
+ - 1.*
+ - develop*
+ - MOSIP*
+ paths:
+ - 'db_scripts/**'
+
+jobs:
+ build-db-test:
+ strategy:
+ matrix:
+ include:
+ - DB_LOCATION: 'db_scripts/mosip_prereg'
+ DB_NAME: 'mosip_prereg'
+ fail-fast: false
+ name: ${{ matrix.DB_NAME }}
+ uses: mosip/kattu/.github/workflows/db-test.yml@master
+ with:
+ DB_LOCATION: ${{ matrix.DB_LOCATION}}
diff --git a/.github/workflows/push-trigger.yml b/.github/workflows/push-trigger.yml
new file mode 100644
index 00000000000..ba3b39f9345
--- /dev/null
+++ b/.github/workflows/push-trigger.yml
@@ -0,0 +1,205 @@
+name: Maven Package upon a push
+
+on:
+ release:
+ types: [published]
+ pull_request:
+ types: [opened, reopened, synchronize]
+ workflow_dispatch:
+ inputs:
+ message:
+ description: 'Message for manually triggering'
+ required: false
+ default: 'Triggered for Updates'
+ type: string
+ push:
+ branches:
+ - '!releas-branch'
+ - release*
+ - master
+ - 1.*
+ - develop*
+ - develop*
+ - MOSIP*
+
+jobs:
+ build-maven-pre-registration:
+ uses: mosip/kattu/.github/workflows/maven-build.yml@master-java21
+ with:
+ SERVICE_LOCATION: ./pre-registration
+ BUILD_ARTIFACT: pre-registration
+ secrets:
+ OSSRH_USER: ${{ secrets.OSSRH_USER }}
+ OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
+ OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
+ GPG_SECRET: ${{ secrets.GPG_SECRET }}
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
+
+ publish_to_nexus:
+ if: "${{ !contains(github.ref, 'master') && github.event_name != 'pull_request' && github.event_name != 'release' && github.event_name != 'prerelease' && github.event_name != 'publish' }}"
+ needs: build-maven-pre-registration
+ uses: mosip/kattu/.github/workflows/maven-publish-to-nexus.yml@master-java21
+ with:
+ SERVICE_LOCATION: ./pre-registration
+ secrets:
+ OSSRH_USER: ${{ secrets.OSSRH_USER }}
+ OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
+ OSSRH_URL: ${{ secrets.RELEASE_URL }}
+ OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
+ GPG_SECRET: ${{ secrets.GPG_SECRET }}
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
+
+ build-dockers:
+ needs: build-maven-pre-registration
+ strategy:
+ matrix:
+ include:
+ - SERVICE_LOCATION: 'pre-registration/pre-registration-application-service'
+ SERVICE_NAME: 'pre-registration-application-service'
+ BUILD_ARTIFACT: 'pre-registration'
+ - SERVICE_LOCATION: 'pre-registration/pre-registration-batchjob'
+ SERVICE_NAME: 'pre-registration-batchjob'
+ BUILD_ARTIFACT: 'pre-registration'
+ - SERVICE_LOCATION: 'pre-registration/pre-registration-datasync-service'
+ SERVICE_NAME: 'pre-registration-datasync-service'
+ BUILD_ARTIFACT: 'pre-registration'
+ - SERVICE_LOCATION: 'pre-registration/pre-registration-captcha-service'
+ SERVICE_NAME: 'pre-registration-captcha-service'
+ BUILD_ARTIFACT: 'pre-registration'
+ fail-fast: false
+ name: ${{ matrix.SERVICE_NAME }}
+ uses: mosip/kattu/.github/workflows/docker-build.yml@master-java21
+ with:
+ SERVICE_LOCATION: ${{ matrix.SERVICE_LOCATION }}
+ SERVICE_NAME: ${{ matrix.SERVICE_NAME }}
+ BUILD_ARTIFACT: ${{ matrix.BUILD_ARTIFACT }}
+ secrets:
+ DEV_NAMESPACE_DOCKER_HUB: ${{ secrets.DEV_NAMESPACE_DOCKER_HUB }}
+ ACTOR_DOCKER_HUB: ${{ secrets.ACTOR_DOCKER_HUB }}
+ RELEASE_DOCKER_HUB: ${{ secrets.RELEASE_DOCKER_HUB }}
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
+
+ sonar_analysis:
+ needs: build-maven-pre-registration
+ if: "${{ github.event_name != 'pull_request' }}"
+ uses: mosip/kattu/.github/workflows/maven-sonar-analysis.yml@master-java21
+ with:
+ SERVICE_LOCATION: ./pre-registration
+ secrets:
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+ ORG_KEY: ${{ secrets.ORG_KEY }}
+ OSSRH_USER: ${{ secrets.OSSRH_USER }}
+ OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
+ OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
+ GPG_SECRET: ${{ secrets.GPG_SECRET }}
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
+
+ build-maven-apitest-prereg:
+ uses: mosip/kattu/.github/workflows/maven-build.yml@master-java21
+ with:
+ SERVICE_LOCATION: ./apitest
+ BUILD_ARTIFACT: apitest-prereg
+ secrets:
+ OSSRH_USER: ${{ secrets.OSSRH_USER }}
+ OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
+ OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
+ GPG_SECRET: ${{ secrets.GPG_SECRET }}
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
+
+ publish_to_nexus_apitest_prereg:
+ if: "${{ !contains(github.ref, 'master') && github.event_name != 'pull_request' && github.event_name != 'release' && github.event_name != 'prerelease' && github.event_name != 'publish' }}"
+ needs: build-maven-apitest-prereg
+ uses: mosip/kattu/.github/workflows/maven-publish-to-nexus.yml@master-java21
+ with:
+ SERVICE_LOCATION: ./apitest
+ secrets:
+ OSSRH_USER: ${{ secrets.OSSRH_USER }}
+ OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
+ OSSRH_URL: ${{ secrets.OSSRH_SNAPSHOT_URL }}
+ OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
+ GPG_SECRET: ${{ secrets.GPG_SECRET }}
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
+
+ build-apitest-prereg-local:
+ needs: build-maven-apitest-prereg
+ runs-on: ubuntu-latest
+ env:
+ NAMESPACE: ${{ secrets.dev_namespace_docker_hub }}
+ SERVICE_NAME: apitest-prereg
+ SERVICE_LOCATION: apitest
+ BUILD_ARTIFACT: apitest-prereg-local
+ steps:
+ - uses: actions/checkout@v3
+ - name: Set up JDK 21
+ uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: 21
+ server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
+ settings-path: ${{ github.workspace }} # location for the settings.xml file
+ - name: Setup the settings file for ossrh server
+ run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml
+ - name: Build Automationtests with Maven
+ run: |
+ cd ${{ env.SERVICE_LOCATION}}
+ mvn clean package -s $GITHUB_WORKSPACE/settings.xml
+ - name: Copy configuration files to target directory.
+ run: |
+ cp -r ${{ env.SERVICE_LOCATION}}/target/classes/config ${{ env.SERVICE_LOCATION}}/target/config
+ cp -r ${{ env.SERVICE_LOCATION}}/testNgXmlFiles ${{ env.SERVICE_LOCATION}}/target/testNgXmlFiles
+ - name: Ready the springboot artifacts
+ if: ${{ !contains(github.ref, 'master') || !contains(github.ref, 'main') }}
+ run: |
+ ## FIND JARS & COPY ONLY EXECUTABLE JARs STORED UNDER TARGET DIRECTORY
+ find ${{ env.SERVICE_LOCATION }} -path '*/target/*' -exec zip ${{ env.BUILD_ARTIFACT }}.zip {} +
+ - name: Upload the springboot jars
+ if: ${{ !contains(github.ref, 'master') || !contains(github.ref, 'main') }}
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ env.BUILD_ARTIFACT }}
+ path: ${{ env.BUILD_ARTIFACT }}.zip
+ - uses: 8398a7/action-slack@v3
+ with:
+ status: ${{ job.status }}
+ fields: repo,message,author,commit,workflow,job # selectable (default: repo,message)
+ env:
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
+ if: failure() # Pick up events even if the job fails or is canceled.
+
+ build-dockers_apitest_prereg:
+ needs: build-apitest-prereg-local
+ strategy:
+ matrix:
+ include:
+ - SERVICE_LOCATION: 'apitest'
+ SERVICE_NAME: 'apitest-prereg'
+ BUILD_ARTIFACT: 'apitest-prereg-local'
+ ONLY_DOCKER: true
+ fail-fast: false
+ name: ${{ matrix.SERVICE_NAME }}
+ uses: mosip/kattu/.github/workflows/docker-build.yml@master-java21
+ with:
+ SERVICE_LOCATION: ${{ matrix.SERVICE_LOCATION }}
+ SERVICE_NAME: ${{ matrix.SERVICE_NAME }}
+ BUILD_ARTIFACT: ${{ matrix.BUILD_ARTIFACT }}
+ ONLY_DOCKER: ${{ matrix.ONLY_DOCKER }}
+ secrets:
+ DEV_NAMESPACE_DOCKER_HUB: ${{ secrets.DEV_NAMESPACE_DOCKER_HUB }}
+ ACTOR_DOCKER_HUB: ${{ secrets.ACTOR_DOCKER_HUB }}
+ RELEASE_DOCKER_HUB: ${{ secrets.RELEASE_DOCKER_HUB }}
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
+
+ sonar_analysis_apitest_prereg:
+ needs: build-maven-apitest-prereg
+ if: "${{ github.event_name != 'pull_request' }}"
+ uses: mosip/kattu/.github/workflows/maven-sonar-analysis.yml@master-java21
+ with:
+ SERVICE_LOCATION: ./apitest
+ secrets:
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+ ORG_KEY: ${{ secrets.ORG_KEY }}
+ OSSRH_USER: ${{ secrets.OSSRH_USER }}
+ OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
+ OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
+ GPG_SECRET: ${{ secrets.GPG_SECRET }}
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
diff --git a/.github/workflows/push_trigger.yml b/.github/workflows/push_trigger.yml
deleted file mode 100644
index 84ebdc719da..00000000000
--- a/.github/workflows/push_trigger.yml
+++ /dev/null
@@ -1,772 +0,0 @@
-
-name: Maven Package upon a push
-
-on:
- pull_request:
- types: [closed]
- push:
- branches:
- - master
- - 1.*
- - develop
- - MOSIP-11719
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up JDK 11
- uses: actions/setup-java@v1
- with:
- ref: ${{ github.ref }}
- java-version: 11
- server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
- settings-path: ${{ github.workspace }} # location for the settings.xml file
-
- - name: Setup branch and env
- run: |
- # Strip git ref prefix from version
- echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
- echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
- - name: Setup branch and GPG public key
- run: |
- # Strip git ref prefix from version
-
- echo ${{ env.BRANCH_NAME }}
-
- echo ${{ env.GPG_TTY }}
- sudo apt-get --yes install gnupg2
- gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg
- gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg
-
- - uses: actions/cache@v1
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-${{ env.BRANCH_NAME }}
-
- - name: Setup the settings file for ossrh server
-
- run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml
-
-
- - name: Build with Maven
- run: |
- cd pre-registration
- mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml
-
-
- - name: Ready the springboot artifacts
- run: find -name '*.jar' -executable -type f -exec zip release.zip {} +
-
- - name: Upload the springboot jars
- uses: actions/upload-artifact@v1
- with:
- name: release
- path: ./release.zip
-
- - uses: 8398a7/action-slack@v3
- with:
- status: ${{ job.status }}
- fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message)
- env:
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} # required
- if: failure() # Pick up events even if the job fails or is canceled.
-
-
- publish_to_nexus:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up JDK 11
- uses: actions/setup-java@v1
- with:
- ref: ${{ github.ref }}
- java-version: 11
- server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
- settings-path: ${{ github.workspace }} # location for the settings.xml file
-
- - name: Setup branch and env
- run: |
- # Strip git ref prefix from version
- echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
- echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
- - name: Setup branch and GPG public key
- run: |
- # Strip git ref prefix from version
-
- echo ${{ env.BRANCH_NAME }}
-
- echo ${{ env.GPG_TTY }}
- sudo apt-get --yes install gnupg2
- gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg
- gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg
-
- - uses: actions/cache@v1
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-${{ env.BRANCH_NAME }}
-
- - name: Setup the settings file for ossrh server
-
- run: echo " ossrh ${{secrets.RELEASE_USER}} ${{secrets.RELEASE_TOKEN}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml
-
- - name: Install xmllint
- run: |
- sudo apt-get update
- sudo apt-get install libxml2-utils
-
- - name: Build with Maven
- run: |
- cd pre-registration
- mvn -B package --file pom.xml -s $GITHUB_WORKSPACE/settings.xml
- - name: Publish the maven package
- run: |
- cd pre-registration && mvn deploy -DskipTests -DaltDeploymentRepository=ossrh::default::${{ secrets.RELEASE_URL }} -s $GITHUB_WORKSPACE/settings.xml -f pom.xml
- env:
- GITHUB_TOKEN: ${{ secrets.RELEASE_token }}
- GPG_TTY: $(tty)
- - uses: 8398a7/action-slack@v3
- with:
- status: ${{ job.status }}
- fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message)
- env:
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEVOPS_WEBHOOK }} # required
- if: failure() # Pick up events even if the job fails or is canceled.
-
-
-
- # docker-pre-registration-booking-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-booking-service
-# SERVICE_LOCATION: pre-registration/pre-registration-booking-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
-# echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-booking-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Get current date
-# id: date
-# run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-
- docker-pre-registration-application-service:
- needs: build
-
- runs-on: ubuntu-latest
- env:
- NAMESPACE: mosipdev
- SERVICE_NAME: pre-registration-application-service
- SERVICE_LOCATION: pre-registration/pre-registration-application-service
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/download-artifact@v1
- with:
- name: release
- path: ./
-
- - name: Setup branch name
- run: |
- # Strip git ref prefix from version
- echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
- echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
- - name: Get version info from pom
- id: getPomVersion
- uses: mavrosxristoforos/get-xml-info@1.0
- with:
- xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
- xpath: /*[local-name()="project"]/*[local-name()="version"]
-
- - name: Unzip and extract the pre-registration-application-service
- run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
- - name: Get current date
- id: date
- run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-
- - name: Build image
- run: |
- cd "./${{env.SERVICE_LOCATION}}"
- docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
- - name: Log into registry
- run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
- - name: Push image
- run: |
- IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
- # Change all uppercase to lowercase
- IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
- echo "push version ${{steps.getPomVersion.outputs.info}}"
- VERSION=$BRANCH_NAME
- echo IMAGE_ID=$IMAGE_ID
- echo VERSION=$VERSION
- docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
- docker push $IMAGE_ID:$VERSION
- - uses: 8398a7/action-slack@v3
- with:
- status: ${{ job.status }}
- fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message)
- env:
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEVOPS_WEBHOOK }} # required
- if: failure() # Pick up events even if the job fails or is canceled.
-
- # docker-pre-registration-login-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-login-service
-# SERVICE_LOCATION: pre-registration/pre-registration-login-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
-# echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-login-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Get current date
-# id: date
-# run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
- docker-pre-registration-batchjob:
- needs: build
-
- runs-on: ubuntu-latest
- env:
- NAMESPACE: mosipdev
- SERVICE_NAME: pre-registration-batchjob
- SERVICE_LOCATION: pre-registration/pre-registration-batchjob
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/download-artifact@v1
- with:
- name: release
- path: ./
-
- - name: Setup branch name
- run: |
- # Strip git ref prefix from version
- echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
- echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
- - name: Get version info from pom
- id: getPomVersion
- uses: mavrosxristoforos/get-xml-info@1.0
- with:
- xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
- xpath: /*[local-name()="project"]/*[local-name()="version"]
-
- - name: Unzip and extract the pre-registration-batchjob
- run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-
- - name: Get current date
- id: date
- run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-
- - name: Build image
- run: |
- cd "./${{env.SERVICE_LOCATION}}"
- docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
- - name: Log into registry
- run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
- - name: Push image
- run: |
- IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
- # Change all uppercase to lowercase
- IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
- echo "push version ${{steps.getPomVersion.outputs.info}}"
- VERSION=$BRANCH_NAME
- echo IMAGE_ID=$IMAGE_ID
- echo VERSION=$VERSION
- docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
- docker push $IMAGE_ID:$VERSION
- - uses: 8398a7/action-slack@v3
- with:
- status: ${{ job.status }}
- fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message)
- env:
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEVOPS_WEBHOOK }} # required
- if: failure() # Pick up events even if the job fails or is canceled.
-
- docker-pre-registration-datasync-service:
- needs: build
-
- runs-on: ubuntu-latest
- env:
- NAMESPACE: mosipdev
- SERVICE_NAME: pre-registration-datasync-service
- SERVICE_LOCATION: pre-registration/pre-registration-datasync-service
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/download-artifact@v1
- with:
- name: release
- path: ./
-
- - name: Setup branch name
- run: |
- # Strip git ref prefix from version
- echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
- echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
- - name: Get version info from pom
- id: getPomVersion
- uses: mavrosxristoforos/get-xml-info@1.0
- with:
- xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
- xpath: /*[local-name()="project"]/*[local-name()="version"]
-
- - name: Unzip and extract the pre-registration-datasync-service
- run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
- - name: Get current date
- id: date
- run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-
- - name: Build image
- run: |
- cd "./${{env.SERVICE_LOCATION}}"
- docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
- - name: Log into registry
- run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
- - name: Push image
- run: |
- IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
- # Change all uppercase to lowercase
- IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
- echo "push version ${{steps.getPomVersion.outputs.info}}"
- VERSION=$BRANCH_NAME
- echo IMAGE_ID=$IMAGE_ID
- echo VERSION=$VERSION
- docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
- docker push $IMAGE_ID:$VERSION
- - uses: 8398a7/action-slack@v3
- with:
- status: ${{ job.status }}
- fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message)
- env:
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEVOPS_WEBHOOK }} # required
- if: failure() # Pick up events even if the job fails or is canceled.
-
- # docker-pre-registration-demographic-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-demographic-service
-# SERVICE_LOCATION: pre-registration/pre-registration-demographic-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
-# echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-demographic-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Get current date
-# id: date
-# run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-# docker-pre-registration-document-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-document-service
-# SERVICE_LOCATION: pre-registration/pre-registration-document-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
-# echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-document-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Get current date
-# id: date
-# run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-# docker-pre-registration-generateqrcode-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-generateqrcode-service
-# SERVICE_LOCATION: pre-registration/pre-registration-generateqrcode-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
-# echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-generateqrcode-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Get current date
-# id: date
-# run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-# docker-pre-registration-notification-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-notification-service
-# SERVICE_LOCATION: pre-registration/pre-registration-notification-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
-# echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-notification-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-# - name: Get current date
-# id: date
-# run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-
-
- docker-pre-registration-captcha-service:
- needs: build
-
- runs-on: ubuntu-latest
- env:
- NAMESPACE: mosipdev
- SERVICE_NAME: pre-registration-captcha-service
- SERVICE_LOCATION: pre-registration/pre-registration-captcha-service
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/download-artifact@v1
- with:
- name: release
- path: ./
-
- - name: Setup branch name
- run: |
- # Strip git ref prefix from version
- echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
- echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
- - name: Get version info from pom
- id: getPomVersion
- uses: mavrosxristoforos/get-xml-info@1.0
- with:
- xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
- xpath: /*[local-name()="project"]/*[local-name()="version"]
-
- - name: Unzip and extract the pre-registration-transliteration-service
- run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
- - name: Get current date
- id: date
- run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
-
- - name: Build image
- run: |
- cd "./${{env.SERVICE_LOCATION}}"
- docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }}
- - name: Log into registry
- run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
- - name: Push image
- run: |
- IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
- # Change all uppercase to lowercase
- IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
- echo "push version ${{steps.getPomVersion.outputs.info}}"
- VERSION=$BRANCH_NAME
- echo IMAGE_ID=$IMAGE_ID
- echo VERSION=$VERSION
- docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
- docker push $IMAGE_ID:$VERSION
- - uses: 8398a7/action-slack@v3
- with:
- status: ${{ job.status }}
- fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message)
- env:
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEVOPS_WEBHOOK }} # required
- if: failure() # Pick up events even if the job fails or is canceled.
-
- sonar_analysis:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up JDK 11
- uses: actions/setup-java@v1
- with:
- ref: ${{ github.ref }}
- java-version: 11
- server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
- settings-path: ${{ github.workspace }} # location for the settings.xml file
-
- - name: Setup branch and env
- run: |
- # Strip git ref prefix from version
- echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
- echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
-
- - uses: actions/cache@v1
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-${{ env.BRANCH_NAME }}
-
- - name: Setup the settings file for ossrh server
- run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml
-
- - name: Build with Maven
- run: |
- cd pre-registration
- mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml
-
- - name: Analyze with SonarCloud
- run: |
- cd pre-registration
- mvn -B -Dgpg.skip verify sonar:sonar -Dsonar.projectKey=mosip_${{ github.event.repository.name }} -Dsonar.organization=${{ secrets.ORG_KEY }} -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }}
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
-
- - uses: 8398a7/action-slack@v3
- with:
- status: ${{ job.status }}
- fields: repo,message,commit,workflow,job # selectable (default: repo,message)
- env:
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEVOPS_WEBHOOK }} # required
- if: failure() # Pick up events even if the job fails or is canceled.
diff --git a/.github/workflows/release_trigger.yml b/.github/workflows/release_trigger.yml
deleted file mode 100644
index 3b850afb55c..00000000000
--- a/.github/workflows/release_trigger.yml
+++ /dev/null
@@ -1,626 +0,0 @@
-name: Release maven packages and docker upon a release
-
-on:
- release:
- types: [published]
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up JDK 11
- uses: actions/setup-java@v1
- with:
- ref: ${{ github.ref }}
- java-version: 11
- server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
- settings-path: ${{ github.workspace }} # location for the settings.xml file
-
- - name: Setup branch and GPG public key
- run: |
- # Strip git ref prefix from version
- echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
- echo ${{ env.BRANCH_NAME }}
- echo "::set-env name=GPG_TTY::$(tty)"
- echo ${{ env.GPG_TTY }}
- sudo apt-get --yes install gnupg2
- gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg
- gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg
-
- - uses: actions/cache@v1
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-${{ env.BRANCH_NAME }}
-
- - name: Setup the settings file for ossrh server
- run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml
-
- - name: Build with Maven
- run: |
- cd pre-registration
- mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml
-
- - name: Ready the springboot artifacts
- run: find -name '*.jar' -executable -type f -exec zip release.zip {} +
-
- - name: Upload the springboot jars
- uses: actions/upload-artifact@v1
- with:
- name: release
- path: ./release.zip
-
-
- publish_to_nexus:
- needs: build
-
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up JDK 11
- uses: actions/setup-java@v1
- with:
- ref: ${{ github.ref }}
- java-version: 11
- server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
- settings-path: ${{ github.workspace }} # location for the settings.xml file
-
- - name: Setup branch and GPG public key
- run: |
- # Strip git ref prefix from version
- echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
- echo ${{ env.BRANCH_NAME }}
- echo "::set-env name=GPG_TTY::$(tty)"
- echo ${{ env.GPG_TTY }}
- sudo apt-get --yes install gnupg2
- gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg
- gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg
-
- - uses: actions/cache@v1
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-${{ env.BRANCH_NAME }}
-
- - name: Setup the settings file for ossrh server
- run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml
-
- - name: Install xmllint
- run: |
- sudo apt-get update
- sudo apt-get install libxml2-utils
-
- - name: Build with Maven
- run: |
- cd pre-registration
- mvn -B package --file pom.xml -s $GITHUB_WORKSPACE/settings.xml
- - name: Publish the maven package
- run: |
- chmod +x ./deploy.sh
- ./deploy.sh pre-registration $GITHUB_WORKSPACE/settings.xml .*
- env:
- GITHUB_TOKEN: ${{ secrets.access_token }}
- GPG_TTY: $(tty)
- - name: Analyze with SonarCloud
- run: |
- cd pre-registration
- mvn -B verify sonar:sonar -Dsonar.projectKey=${{ secrets.PROJECT_KEY }} -Dsonar.organization=${{ secrets.ORG_KEY }} -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }}
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
-
-# docker-pre-registration-booking-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-booking-service
-# SERVICE_LOCATION: pre-registration/pre-registration-booking-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
-# echo ${{ env.BRANCH_NAME }}
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-booking-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-# docker-pre-registration-login-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-login-service
-# SERVICE_LOCATION: pre-registration/pre-registration-login-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
-# echo ${{ env.BRANCH_NAME }}
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-login-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
- docker-pre-registration-batchjob:
- needs: build
-
- runs-on: ubuntu-latest
- env:
- NAMESPACE: mosipdev
- SERVICE_NAME: pre-registration-batchjob
- SERVICE_LOCATION: pre-registration/pre-registration-batchjob
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/download-artifact@v1
- with:
- name: release
- path: ./
-
- - name: Setup branch name
- run: |
- # Strip git ref prefix from version
- echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
- echo ${{ env.BRANCH_NAME }}
-
- - name: Get version info from pom
- id: getPomVersion
- uses: mavrosxristoforos/get-xml-info@1.0
- with:
- xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
- xpath: /*[local-name()="project"]/*[local-name()="version"]
-
- - name: Unzip and extract the pre-registration-batchjob
- run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
- - name: Build image
- run: |
- cd "./${{env.SERVICE_LOCATION}}"
- docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
- - name: Log into registry
- run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
- - name: Push image
- run: |
- IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
- # Change all uppercase to lowercase
- IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
- echo "push version ${{steps.getPomVersion.outputs.info}}"
- VERSION=$BRANCH_NAME
- echo IMAGE_ID=$IMAGE_ID
- echo VERSION=$VERSION
- docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
- docker push $IMAGE_ID:$VERSION
- docker-pre-registration-datasync-service:
- needs: build
-
- runs-on: ubuntu-latest
- env:
- NAMESPACE: mosipdev
- SERVICE_NAME: pre-registration-datasync-service
- SERVICE_LOCATION: pre-registration/pre-registration-datasync-service
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/download-artifact@v1
- with:
- name: release
- path: ./
-
- - name: Setup branch name
- run: |
- # Strip git ref prefix from version
- echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
- echo ${{ env.BRANCH_NAME }}
-
- - name: Get version info from pom
- id: getPomVersion
- uses: mavrosxristoforos/get-xml-info@1.0
- with:
- xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
- xpath: /*[local-name()="project"]/*[local-name()="version"]
-
- - name: Unzip and extract the pre-registration-datasync-service
- run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
- - name: Build image
- run: |
- cd "./${{env.SERVICE_LOCATION}}"
- docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
- - name: Log into registry
- run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
- - name: Push image
- run: |
- IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
- # Change all uppercase to lowercase
- IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
- echo "push version ${{steps.getPomVersion.outputs.info}}"
- VERSION=$BRANCH_NAME
- echo IMAGE_ID=$IMAGE_ID
- echo VERSION=$VERSION
- docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
- docker push $IMAGE_ID:$VERSION
-# docker-pre-registration-demographic-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-demographic-service
-# SERVICE_LOCATION: pre-registration/pre-registration-demographic-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
-# echo ${{ env.BRANCH_NAME }}
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-demographic-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-# docker-pre-registration-document-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-document-service
-# SERVICE_LOCATION: pre-registration/pre-registration-document-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
-# echo ${{ env.BRANCH_NAME }}
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-document-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-# docker-pre-registration-generateqrcode-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-generateqrcode-service
-# SERVICE_LOCATION: pre-registration/pre-registration-generateqrcode-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
-# echo ${{ env.BRANCH_NAME }}
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-generateqrcode-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-# docker-pre-registration-notification-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-notification-service
-# SERVICE_LOCATION: pre-registration/pre-registration-notification-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
-# echo ${{ env.BRANCH_NAME }}
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-notification-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-# docker-pre-registration-transliteration-service:
-# needs: build
-
-# runs-on: ubuntu-latest
-# env:
-# NAMESPACE: mosipdev
-# SERVICE_NAME: pre-registration-transliteration-service
-# SERVICE_LOCATION: pre-registration/pre-registration-transliteration-service
-
-# steps:
-# - uses: actions/checkout@v2
-# - uses: actions/download-artifact@v1
-# with:
-# name: release
-# path: ./
-
-# - name: Setup branch name
-# run: |
-# # Strip git ref prefix from version
-# echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
-# echo ${{ env.BRANCH_NAME }}
-
-# - name: Get version info from pom
-# id: getPomVersion
-# uses: mavrosxristoforos/get-xml-info@1.0
-# with:
-# xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
-# xpath: /*[local-name()="project"]/*[local-name()="version"]
-
-# - name: Unzip and extract the pre-registration-transliteration-service
-# run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
-# - name: Build image
-# run: |
-# cd "./${{env.SERVICE_LOCATION}}"
-# docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
-# - name: Log into registry
-# run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
-# - name: Push image
-# run: |
-# IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
-# # Change all uppercase to lowercase
-# IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
-# echo "push version ${{steps.getPomVersion.outputs.info}}"
-# VERSION=$BRANCH_NAME
-# echo IMAGE_ID=$IMAGE_ID
-# echo VERSION=$VERSION
-# docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
-# docker push $IMAGE_ID:$VERSION
-
- docker-pre-registration-captcha-service:
- needs: build
-
- runs-on: ubuntu-latest
- env:
- NAMESPACE: mosipdev
- SERVICE_NAME: pre-registration-captcha-service
- SERVICE_LOCATION: pre-registration/pre-registration-captcha-service
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/download-artifact@v1
- with:
- name: release
- path: ./
-
- - name: Setup branch name
- run: |
- # Strip git ref prefix from version
- echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')"
- echo ${{ env.BRANCH_NAME }}
-
- - name: Get version info from pom
- id: getPomVersion
- uses: mavrosxristoforos/get-xml-info@1.0
- with:
- xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml
- xpath: /*[local-name()="project"]/*[local-name()="version"]
-
- - name: Unzip and extract the pre-registration-transliteration-service
- run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target"
-
- - name: Build image
- run: |
- cd "./${{env.SERVICE_LOCATION}}"
- docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }}
- - name: Log into registry
- run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin
-
- - name: Push image
- run: |
- IMAGE_ID=$NAMESPACE/$SERVICE_NAME
-
- # Change all uppercase to lowercase
- IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
- echo "push version ${{steps.getPomVersion.outputs.info}}"
- VERSION=$BRANCH_NAME
- echo IMAGE_ID=$IMAGE_ID
- echo VERSION=$VERSION
- docker tag $SERVICE_NAME $IMAGE_ID:$VERSION
- docker push $IMAGE_ID:$VERSION
diff --git a/README.md b/README.md
index 916a35e9f23..6f35de4b16d 100644
--- a/README.md
+++ b/README.md
@@ -1,58 +1,48 @@
-[![Build Status](https://travis-ci.org/mosip/pre-registration.svg?branch=master)](https://travis-ci.org/mosip/pre-registration)
-[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=mosip_pre-registration&metric=alert_status)](https://sonarcloud.io/dashboard?id=mosip_pre-registration)
-[![Join the chat at https://gitter.im/mosip-community/Pre-registration](https://badges.gitter.im/mosip-community/Pre-registration.svg)](https://gitter.im/mosip-community/Pre-registration?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+[![Maven Package upon a push](https://github.com/mosip/pre-registration/actions/workflows/push_trigger.yml/badge.svg?branch=release-1.2.0.1)](https://github.com/mosip/pre-registration/actions/workflows/push_trigger.yml)
+[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?branch=release-1.2.0.1&project=mosip_pre-registration&metric=alert_status)](https://sonarcloud.io/dashboard?branch=release-1.2.0.1&id=mosip_pre-registration)
-# Pre-Registration
-This repository contains the source code and design documents for MOSIP Pre-Registration module.
+# Pre-registration
+This repository contains the source code and design documents for MOSIP Pre-registration server. For an overview refer [here](https://docs.mosip.io/1.2.0/modules/pre-registration). The modules exposes API endpoints. For a reference front-end UI implementation refer to [Pre-registration UI github repo](https://github.com/mosip/pre-registration-ui/)
-# Build
-The project requires JDK 1.8.
-1. To build jars:
- ```
- $ cd pre-registration
- $ mvn clean install
- ```
-1. To skip JUnit tests and Java Docs:
+Pre-registration module consists of the following services:
+1. Application
+2. Booking
+3. Batchjob
+4. Captcha
+5. Datasync
+
+## Database
+See [DB guide](db_scripts/README.md)
+
+## Config-Server
+To run Pre-registration services, run [Config Server](https://docs.mosip.io/1.2.0/modules/module-configuration#config-server)
+
+## Build & run (for developers)
+Prerequisites:
+1. [Config Server](https://docs.mosip.io/1.2.0/modules/module-configuration#config-server)
+1. JDK 1.11
+1. Build and install:
```
- $ mvn install -DskipTests=true -Dmaven.javadoc.skip=true
+ $ cd kernel
+ $ mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgpg.skip=true
```
-1. To build Docker for a service:
+1. Build Docker for a service:
```
$ cd
$ docker build -f Dockerfile
```
+## Deploy
+To deploy Commons services on Kubernetes cluster using Dockers refer to [Sandbox Deployment](https://docs.mosip.io/1.2.0/deployment/sandbox-deployment).
-# Deploy
-1. To run all services as Dockers using MiniKube run [sandbox installer](https://githbu.com/mosip/mosip-infra/deployment/sandbox/) scripts.
-
-1. To run a Service jar individually:
- ```
- `java -Dspring.profiles.active= -Dspring.cloud.config.uri= -Dspring.cloud.config.label= -jar .jar`
- ```
- Example:
- _profile_: `env` (extension used on configuration property files*)
- _config_label_: `master` (git branch of config repo*)
- _config-url_: `http://localhost:51000` (Url of the config server*)
-
- \* Refer to [kernel-config-server](https://github.com/mosip/commons/tree/master/kernel/kernel-config-server) for details
-
-
-1. Note that you will have to run the dependent services like kernel-config-server to run any service successfully.
-1. To run a Docker image individually:
- ```
- $ docker run -it -p : -e active_profile_env={profile} -e spring_config_label_env= {branch} -e spring_config_url_env={config_server_url} `
- ```
-
-# Test
-Automated functaionl tests available in [Functional Tests repo](https://github.com/mosip/mosip-functional-tests)
-
-# APIs
-API documentation available on Wiki: [Pre-Registration APIs](https://github.com/mosip/documentation/wiki/Pre-Registration-APIs)
+## Configuration
+Refer to the [configuration guide](docs/configuration.md).
-# Documentation
+## Test
+Automated functional tests available in [Functional Tests repo](https://github.com/mosip/mosip-functional-tests).
-MOSIP documentation is available on [Wiki](https://github.com/mosip/documentation/wiki)
+## APIs
+API documentation is available [here](https://mosip.github.io/documentation/).
-# License
-This project is licensed under the terms of [Mozilla Public License 2.0](https://github.com/mosip/mosip-platform/blob/master/LICENSE)
+## License
+This project is licensed under the terms of [Mozilla Public License 2.0](LICENSE).
diff --git a/apitest/.gitignore b/apitest/.gitignore
new file mode 100644
index 00000000000..defd0502073
--- /dev/null
+++ b/apitest/.gitignore
@@ -0,0 +1,40 @@
+*.class
+.mtj.tmp/
+*.war
+*.ear
+hs_err_pid*
+#ignored files
+
+.springBeans
+.metadata
+.factorypath
+.classpath
+.project
+.settings/
+bin/
+tmp/
+
+logs/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.loadpath
+.DS_Store
+test.txt
+.idea/
+.settings/
+.sonarlint/
+.recommenders/
+/.recommenders/
+
+**/*.iml
+*.log
+src/logs/mosip-api-test.log
+/target/
+target/
+test-output/
+testng-report/
+/reg
+./reg
diff --git a/apitest/.temp-Functional Test-classpath-arg-1659588646071.txt b/apitest/.temp-Functional Test-classpath-arg-1659588646071.txt
new file mode 100644
index 00000000000..bb81464f5e2
--- /dev/null
+++ b/apitest/.temp-Functional Test-classpath-arg-1659588646071.txt
@@ -0,0 +1 @@
+-classpath D:\Mosip_Automation_Test\Docker_Test\MOSIP-19726\mosip-functional-tests\automationtests\target\test-classes;D:\Mosip_Automation_Test\Docker_Test\MOSIP-19726\mosip-functional-tests\automationtests\target\classes;C:\Users\Sohan.Dey\.m2\repository\com\opencsv\opencsv\4.1\opencsv-4.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-lang3\3.6\commons-lang3-3.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-text\1.1\commons-text-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\ibm\icu\icu4j\63.1\icu4j-63.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-admin-client\17.0.1\keycloak-admin-client-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-core\17.0.1\keycloak-core-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-common\17.0.1\keycloak-common-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-client\3.13.2.Final\resteasy-client-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\ws\rs\jboss-jaxrs-api_2.1_spec\2.0.1.Final\jboss-jaxrs-api_2.1_spec-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jaxrs\3.13.2.Final\resteasy-jaxrs-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\annotation\jboss-annotations-api_1.3_spec\2.0.1.Final\jboss-annotations-api_1.3_spec-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\activation\jakarta.activation\1.2.1\jakarta.activation-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\stephenc\jcip\jcip-annotations\1.0-1\jcip-annotations-1.0-1.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-multipart-provider\3.13.2.Final\resteasy-multipart-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\mail\jakarta.mail\1.6.5\jakarta.mail-1.6.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\james\apache-mime4j\0.6\apache-mime4j-0.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jackson2-provider\3.13.2.Final\resteasy-jackson2-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-json-provider\2.10.5\jackson-jaxrs-json-provider-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-base\2.10.5\jackson-jaxrs-base-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\json-patch\1.9\json-patch-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\jackson-coreutils\1.6\jackson-coreutils-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\msg-simple\1.1\msg-simple-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\btf\1.2\btf-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jaxb-provider\3.13.2.Final\resteasy-jaxb-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\xml\bind\jboss-jaxb-api_2.3_spec\2.0.0.Final\jboss-jaxb-api_2.3_spec-2.0.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\javassist\javassist\3.25.0-GA\javassist-3.25.0-GA.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jknack\handlebars\3.0.0\handlebars-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\antlr\antlr4-runtime\4.5.1-1\antlr4-runtime-4.5.1-1.jar;C:\Users\Sohan.Dey\.m2\repository\org\mozilla\rhino\1.7R4\rhino-1.7R4.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\slf4j-api\1.6.4\slf4j-api-1.6.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-collections4\4.3\commons-collections4-4.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\jsonwebtoken\jjwt\0.6.0\jjwt-0.6.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\flipkart\zjsonpatch\zjsonpatch\0.4.7\zjsonpatch-0.4.7.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk\1.11.368\aws-java-sdk-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dlm\1.11.368\aws-java-sdk-dlm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\jmespath-java\1.11.368\jmespath-java-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-macie\1.11.368\aws-java-sdk-macie-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-eks\1.11.368\aws-java-sdk-eks-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediatailor\1.11.368\aws-java-sdk-mediatailor-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-neptune\1.11.368\aws-java-sdk-neptune-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pi\1.11.368\aws-java-sdk-pi-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot1clickprojects\1.11.368\aws-java-sdk-iot1clickprojects-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot1clickdevices\1.11.368\aws-java-sdk-iot1clickdevices-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iotanalytics\1.11.368\aws-java-sdk-iotanalytics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-acmpca\1.11.368\aws-java-sdk-acmpca-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-secretsmanager\1.11.368\aws-java-sdk-secretsmanager-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-fms\1.11.368\aws-java-sdk-fms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-connect\1.11.368\aws-java-sdk-connect-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-transcribe\1.11.368\aws-java-sdk-transcribe-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-autoscalingplans\1.11.368\aws-java-sdk-autoscalingplans-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workmail\1.11.368\aws-java-sdk-workmail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servicediscovery\1.11.368\aws-java-sdk-servicediscovery-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloud9\1.11.368\aws-java-sdk-cloud9-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-serverlessapplicationrepository\1.11.368\aws-java-sdk-serverlessapplicationrepository-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-alexaforbusiness\1.11.368\aws-java-sdk-alexaforbusiness-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-resourcegroups\1.11.368\aws-java-sdk-resourcegroups-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-comprehend\1.11.368\aws-java-sdk-comprehend-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-translate\1.11.368\aws-java-sdk-translate-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sagemaker\1.11.368\aws-java-sdk-sagemaker-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iotjobsdataplane\1.11.368\aws-java-sdk-iotjobsdataplane-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sagemakerruntime\1.11.368\aws-java-sdk-sagemakerruntime-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kinesisvideo\1.11.368\aws-java-sdk-kinesisvideo-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec-http\4.1.17.Final\netty-codec-http-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec\4.1.17.Final\netty-codec-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-handler\4.1.17.Final\netty-handler-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-buffer\4.1.17.Final\netty-buffer-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-common\4.1.17.Final\netty-common-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport\4.1.17.Final\netty-transport-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-resolver\4.1.17.Final\netty-resolver-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-appsync\1.11.368\aws-java-sdk-appsync-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-guardduty\1.11.368\aws-java-sdk-guardduty-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mq\1.11.368\aws-java-sdk-mq-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediaconvert\1.11.368\aws-java-sdk-mediaconvert-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediastore\1.11.368\aws-java-sdk-mediastore-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediastoredata\1.11.368\aws-java-sdk-mediastoredata-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-medialive\1.11.368\aws-java-sdk-medialive-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediapackage\1.11.368\aws-java-sdk-mediapackage-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-costexplorer\1.11.368\aws-java-sdk-costexplorer-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pricing\1.11.368\aws-java-sdk-pricing-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mobile\1.11.368\aws-java-sdk-mobile-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudhsmv2\1.11.368\aws-java-sdk-cloudhsmv2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-glue\1.11.368\aws-java-sdk-glue-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-migrationhub\1.11.368\aws-java-sdk-migrationhub-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dax\1.11.368\aws-java-sdk-dax-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-greengrass\1.11.368\aws-java-sdk-greengrass-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-athena\1.11.368\aws-java-sdk-athena-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplaceentitlement\1.11.368\aws-java-sdk-marketplaceentitlement-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codestar\1.11.368\aws-java-sdk-codestar-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lexmodelbuilding\1.11.368\aws-java-sdk-lexmodelbuilding-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-resourcegroupstaggingapi\1.11.368\aws-java-sdk-resourcegroupstaggingapi-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pinpoint\1.11.368\aws-java-sdk-pinpoint-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-xray\1.11.368\aws-java-sdk-xray-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-opsworkscm\1.11.368\aws-java-sdk-opsworkscm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-support\1.11.368\aws-java-sdk-support-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-simpledb\1.11.368\aws-java-sdk-simpledb-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servicecatalog\1.11.368\aws-java-sdk-servicecatalog-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servermigration\1.11.368\aws-java-sdk-servermigration-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-simpleworkflow\1.11.368\aws-java-sdk-simpleworkflow-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-storagegateway\1.11.368\aws-java-sdk-storagegateway-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-route53\1.11.368\aws-java-sdk-route53-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-s3\1.11.368\aws-java-sdk-s3-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-importexport\1.11.368\aws-java-sdk-importexport-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sts\1.11.368\aws-java-sdk-sts-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sqs\1.11.368\aws-java-sdk-sqs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-rds\1.11.368\aws-java-sdk-rds-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-redshift\1.11.368\aws-java-sdk-redshift-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticbeanstalk\1.11.368\aws-java-sdk-elasticbeanstalk-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-glacier\1.11.368\aws-java-sdk-glacier-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iam\1.11.368\aws-java-sdk-iam-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-datapipeline\1.11.368\aws-java-sdk-datapipeline-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticloadbalancing\1.11.368\aws-java-sdk-elasticloadbalancing-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticloadbalancingv2\1.11.368\aws-java-sdk-elasticloadbalancingv2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-emr\1.11.368\aws-java-sdk-emr-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticache\1.11.368\aws-java-sdk-elasticache-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elastictranscoder\1.11.368\aws-java-sdk-elastictranscoder-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ec2\1.11.368\aws-java-sdk-ec2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dynamodb\1.11.368\aws-java-sdk-dynamodb-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sns\1.11.368\aws-java-sdk-sns-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-budgets\1.11.368\aws-java-sdk-budgets-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudtrail\1.11.368\aws-java-sdk-cloudtrail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudwatch\1.11.368\aws-java-sdk-cloudwatch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-logs\1.11.368\aws-java-sdk-logs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-events\1.11.368\aws-java-sdk-events-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitoidentity\1.11.368\aws-java-sdk-cognitoidentity-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitosync\1.11.368\aws-java-sdk-cognitosync-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-directconnect\1.11.368\aws-java-sdk-directconnect-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudformation\1.11.368\aws-java-sdk-cloudformation-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudfront\1.11.368\aws-java-sdk-cloudfront-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-clouddirectory\1.11.368\aws-java-sdk-clouddirectory-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kinesis\1.11.368\aws-java-sdk-kinesis-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-opsworks\1.11.368\aws-java-sdk-opsworks-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ses\1.11.368\aws-java-sdk-ses-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-autoscaling\1.11.368\aws-java-sdk-autoscaling-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudsearch\1.11.368\aws-java-sdk-cloudsearch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudwatchmetrics\1.11.368\aws-java-sdk-cloudwatchmetrics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codedeploy\1.11.368\aws-java-sdk-codedeploy-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codepipeline\1.11.368\aws-java-sdk-codepipeline-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kms\1.11.368\aws-java-sdk-kms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-config\1.11.368\aws-java-sdk-config-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lambda\1.11.368\aws-java-sdk-lambda-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ecs\1.11.368\aws-java-sdk-ecs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ecr\1.11.368\aws-java-sdk-ecr-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudhsm\1.11.368\aws-java-sdk-cloudhsm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ssm\1.11.368\aws-java-sdk-ssm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workspaces\1.11.368\aws-java-sdk-workspaces-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-machinelearning\1.11.368\aws-java-sdk-machinelearning-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-directory\1.11.368\aws-java-sdk-directory-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-efs\1.11.368\aws-java-sdk-efs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codecommit\1.11.368\aws-java-sdk-codecommit-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-devicefarm\1.11.368\aws-java-sdk-devicefarm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticsearch\1.11.368\aws-java-sdk-elasticsearch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-waf\1.11.368\aws-java-sdk-waf-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplacecommerceanalytics\1.11.368\aws-java-sdk-marketplacecommerceanalytics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-inspector\1.11.368\aws-java-sdk-inspector-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot\1.11.368\aws-java-sdk-iot-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-api-gateway\1.11.368\aws-java-sdk-api-gateway-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-acm\1.11.368\aws-java-sdk-acm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-gamelift\1.11.368\aws-java-sdk-gamelift-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dms\1.11.368\aws-java-sdk-dms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplacemeteringservice\1.11.368\aws-java-sdk-marketplacemeteringservice-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitoidp\1.11.368\aws-java-sdk-cognitoidp-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-discovery\1.11.368\aws-java-sdk-discovery-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-applicationautoscaling\1.11.368\aws-java-sdk-applicationautoscaling-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-snowball\1.11.368\aws-java-sdk-snowball-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-rekognition\1.11.368\aws-java-sdk-rekognition-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-polly\1.11.368\aws-java-sdk-polly-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lightsail\1.11.368\aws-java-sdk-lightsail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-stepfunctions\1.11.368\aws-java-sdk-stepfunctions-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-health\1.11.368\aws-java-sdk-health-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-costandusagereport\1.11.368\aws-java-sdk-costandusagereport-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codebuild\1.11.368\aws-java-sdk-codebuild-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-appstream\1.11.368\aws-java-sdk-appstream-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-shield\1.11.368\aws-java-sdk-shield-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-batch\1.11.368\aws-java-sdk-batch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lex\1.11.368\aws-java-sdk-lex-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mechanicalturkrequester\1.11.368\aws-java-sdk-mechanicalturkrequester-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-organizations\1.11.368\aws-java-sdk-organizations-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workdocs\1.11.368\aws-java-sdk-workdocs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-core\1.11.368\aws-java-sdk-core-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\software\amazon\ion\ion-java\1.0.2\ion-java-1.0.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-cbor\2.6.7\jackson-dataformat-cbor-2.6.7.jar;C:\Users\Sohan.Dey\.m2\repository\joda-time\joda-time\2.8.1\joda-time-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-models\1.11.368\aws-java-sdk-models-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-swf-libraries\1.11.22\aws-java-sdk-swf-libraries-1.11.22.jar;C:\Users\Sohan.Dey\.m2\repository\com\aventstack\extentreports\3.0.0\extentreports-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\freemarker\freemarker\2.3.23\freemarker-2.3.23.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\mongodb-driver\3.3.0\mongodb-driver-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\bson\3.3.0\bson-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\mongodb-driver-core\3.3.0\mongodb-driver-core-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpmime\4.5.2\httpmime-4.5.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\relevantcodes\extentreports\2.41.2\extentreports-2.41.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jsoup\jsoup\1.8.3\jsoup-1.8.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\xerial\sqlite-jdbc\3.8.11.1\sqlite-jdbc-3.8.11.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\Sohan.Dey\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-model\3.3.9\maven-model-3.3.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-utils\3.0.22\plexus-utils-3.0.22.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\rest-assured\3.0.7\rest-assured-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy\2.4.12\groovy-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.12\groovy-xml-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\json-path\3.0.7\json-path-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy-json\2.4.12\groovy-json-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\rest-assured-common\3.0.7\rest-assured-common-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\xml-path\3.0.7\xml-path-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\testng\testng\6.11\testng-6.11.jar;C:\Users\Sohan.Dey\.m2\repository\com\beust\jcommander\1.64\jcommander-1.64.jar;C:\Users\Sohan.Dey\.m2\repository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;C:\Users\Sohan.Dey\.m2\repository\org\zeroturnaround\zt-zip\1.13\zt-zip-1.13.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.10.1\jackson-core-2.10.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.5\jackson-annotations-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.10.5\jackson-databind-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-xml\2.9.5\jackson-dataformat-xml-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-jaxb-annotations\2.9.5\jackson-module-jaxb-annotations-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\woodstox\stax2-api\3.1.4\stax2-api-3.1.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\woodstox\woodstox-core\5.0.3\woodstox-core-5.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\json\json\20180130\json-20180130.jar;C:\Users\Sohan.Dey\.m2\repository\com\googlecode\json-simple\json-simple\1.1.1\json-simple-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\junit\junit\4.10\junit-4.10.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\gson\gson\2.8.4\gson-2.8.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\plugins\maven-assembly-plugin\3.1.0\maven-assembly-plugin-3.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-plugin-api\3.0\maven-plugin-api-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-inject-plexus\1.4.2\sisu-inject-plexus-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-inject-bean\1.4.2\sisu-inject-bean-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-guice\2.1.7\sisu-guice-2.1.7-noaop.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-core\3.0\maven-core-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-settings\3.0\maven-settings-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-settings-builder\3.0\maven-settings-builder-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-repository-metadata\3.0\maven-repository-metadata-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-model-builder\3.0\maven-model-builder-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-aether-provider\3.0\maven-aether-provider-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-impl\1.7\aether-impl-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-spi\1.7\aether-spi-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-api\1.7\aether-api-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-util\1.7\aether-util-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-classworlds\2.2.3\plexus-classworlds-2.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-component-annotations\1.5.5\plexus-component-annotations-1.5.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-sec-dispatcher\1.3\plexus-sec-dispatcher-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-cipher\1.4\plexus-cipher-1.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-artifact\3.0\maven-artifact-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-common-artifact-filters\3.0.1\maven-common-artifact-filters-3.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-shared-utils\3.1.0\maven-shared-utils-3.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-artifact-transfer\0.9.0\maven-artifact-transfer-0.9.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-interpolation\1.24\plexus-interpolation-1.24.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-archiver\3.5\plexus-archiver-3.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-compress\1.14\commons-compress-1.14.jar;C:\Users\Sohan.Dey\.m2\repository\org\iq80\snappy\snappy\0.4\snappy-0.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\tukaani\xz\1.6\xz-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\file-management\3.0.0\file-management-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-shared-io\3.0.0\maven-shared-io-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-compat\3.0\maven-compat-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\wagon\wagon-provider-api\2.10\wagon-provider-api-2.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-filtering\3.1.1\maven-filtering-3.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-build-api\0.0.7\plexus-build-api-0.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-io\3.0.0\plexus-io-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-archiver\3.2.0\maven-archiver-3.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\hibernate-core\5.4.2.Final\hibernate-core-5.4.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\persistence\javax.persistence-api\2.2\javax.persistence-api-2.2.jar;C:\Users\Sohan.Dey\.m2\repository\net\bytebuddy\byte-buddy\1.9.10\byte-buddy-1.9.10.jar;C:\Users\Sohan.Dey\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.2_spec\1.1.1.Final\jboss-transaction-api_1.2_spec-1.1.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\jandex\2.0.5.Final\jandex-2.0.5.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\classmate\1.3.4\classmate-1.3.4.jar;C:\Users\Sohan.Dey\.m2\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\dom4j\dom4j\2.1.1\dom4j-2.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.1.0.Final\hibernate-commons-annotations-5.1.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.1\jaxb-runtime-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\glassfish\jaxb\txw2\2.3.1\txw2-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.7\istack-commons-runtime-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\jvnet\staxex\stax-ex\1.8\stax-ex-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\xml\fastinfoset\FastInfoset\1.2.15\FastInfoset-1.2.15.jar;C:\Users\Sohan.Dey\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.5\jackson-datatype-jsr310-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\postgresql\postgresql\42.2.2\postgresql-42.2.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\slf4j-log4j12\1.6.2\slf4j-log4j12-1.6.2.jar;C:\Users\Sohan.Dey\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\logging\log4j\log4j-api\2.11.1\log4j-api-2.11.1.jar;C:\Users\Sohan.Dey\.m2\repository\net\lingala\zip4j\zip4j\1.3.2\zip4j-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpclient\4.5.3\httpclient-4.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpcore\4.4.6\httpcore-4.4.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-client\2.8.1\hadoop-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-common\2.8.1\hadoop-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-cli\commons-cli\1.2\commons-cli-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\xmlenc\xmlenc\0.52\xmlenc-0.52.jar;C:\Users\Sohan.Dey\.m2\repository\commons-net\commons-net\3.1\commons-net-3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\mortbay\jetty\jetty-sslengine\6.1.26\jetty-sslengine-6.1.26.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-configuration\commons-configuration\1.6\commons-configuration-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\commons-digester\commons-digester\1.8\commons-digester-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.0\commons-beanutils-core-1.8.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\avro\avro\1.7.4\avro-1.7.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\xerial\snappy\snappy-java\1.0.4.1\snappy-java-1.0.4.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\protobuf\protobuf-java\2.5.0\protobuf-java-2.5.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-auth\2.8.1\hadoop-auth-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\server\apacheds-kerberos-codec\2.0.0-M15\apacheds-kerberos-codec-2.0.0-M15.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\server\apacheds-i18n\2.0.0-M15\apacheds-i18n-2.0.0-M15.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\api\api-asn1-api\1.0.0-M20\api-asn1-api-1.0.0-M20.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\api\api-util\1.0.0-M20\api-util-1.0.0-M20.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-framework\2.7.1\curator-framework-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-client\2.7.1\curator-client-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-recipes\2.7.1\curator-recipes-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\findbugs\jsr305\3.0.0\jsr305-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\htrace\htrace-core4\4.0.1-incubating\htrace-core4-4.0.1-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\zookeeper\zookeeper\3.4.6\zookeeper-3.4.6.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty\3.7.0.Final\netty-3.7.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-hdfs\2.8.1\hadoop-hdfs-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-hdfs-client\2.8.1\hadoop-hdfs-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\squareup\okhttp\okhttp\2.4.0\okhttp-2.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\squareup\okio\okio\1.4.0\okio-1.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-app\2.8.1\hadoop-mapreduce-client-app-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-common\2.8.1\hadoop-mapreduce-client-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-client\2.8.1\hadoop-yarn-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-server-common\2.8.1\hadoop-yarn-server-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-shuffle\2.8.1\hadoop-mapreduce-client-shuffle-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\fusesource\leveldbjni\leveldbjni-all\1.8\leveldbjni-all-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-api\2.8.1\hadoop-yarn-api-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-core\2.8.1\hadoop-mapreduce-client-core-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-common\2.8.1\hadoop-yarn-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\mortbay\jetty\jetty-util\6.1.26\jetty-util-6.1.26.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\jersey\jersey-core\1.9\jersey-core-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\jersey\jersey-client\1.9\jersey-client-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-jaxrs\1.9.13\jackson-jaxrs-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-xc\1.9.13\jackson-xc-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-jobclient\2.8.1\hadoop-mapreduce-client-jobclient-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-annotations\2.8.1\hadoop-annotations-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcprov-jdk16\1.45\bcprov-jdk16-1.45.jar;C:\Users\Sohan.Dey\.m2\repository\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;C:\Users\Sohan.Dey\.m2\repository\commons-io\commons-io\2.6\commons-io-2.6.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\zxing\core\3.3.3\core-3.3.3.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\zxing\javase\2.0\javase-2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\html2pdf\2.0.0\html2pdf-2.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\forms\7.1.0\forms-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\kernel\7.1.0\kernel-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\io\7.1.0\io-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\layout\7.1.0\layout-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\itextpdf\5.5.13\itextpdf-5.5.13.jar;C:\Users\Sohan.Dey\.m2\repository\javax\mail\javax.mail-api\1.6.2\javax.mail-api-1.6.2.jar;D:\Mosip_Automation_Test\Docker_Test\MOSIP-19726\mosip-functional-tests\authentication-demo-service\target\classes;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.0.2.RELEASE\spring-boot-starter-web-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.0.2.RELEASE\spring-boot-starter-json-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.5\jackson-datatype-jdk8-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.5\jackson-module-parameter-names-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.0.2.RELEASE\spring-boot-starter-tomcat-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\8.5.31\tomcat-embed-el-8.5.31.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\8.5.31\tomcat-embed-websocket-8.5.31.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\validator\hibernate-validator\6.0.9.Final\hibernate-validator-6.0.9.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-web\5.0.6.RELEASE\spring-web-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-webmvc\5.0.6.RELEASE\spring-webmvc-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-expression\5.0.6.RELEASE\spring-expression-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.0.2.RELEASE\spring-boot-starter-test-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-test\2.0.2.RELEASE\spring-boot-test-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.0.2.RELEASE\spring-boot-test-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\assertj\assertj-core\3.9.1\assertj-core-3.9.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-core\5.0.6.RELEASE\spring-core-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-jcl\5.0.6.RELEASE\spring-jcl-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-test\5.0.6.RELEASE\spring-test-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\xmlunit\xmlunit-core\2.5.1\xmlunit-core-2.5.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\ws\rs\javax.ws.rs-api\2.0\javax.ws.rs-api-2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\authentication\authentication-core\1.2.0.1-SNAPSHOT\authentication-core-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-cache\2.0.2.RELEASE\spring-boot-starter-cache-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-context-support\5.0.6.RELEASE\spring-context-support-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\machinezoo\sourceafis\sourceafis\3.4.0\sourceafis-3.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\com\machinezoo\noexception\noexception\1.3.2\noexception-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\mhshams\jnbis\2.0.1\jnbis-2.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\sanselan\sanselan\0.97-incubator\sanselan-0.97-incubator.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\idrepository\id-repository-core\1.2.0\id-repository-core-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-biosdk-provider\1.2.0\kernel-biosdk-provider-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-biometrics-api\1.2.0\kernel-biometrics-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-demographics-api\1.2.0\kernel-demographics-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-webflux\2.0.2.RELEASE\spring-boot-starter-webflux-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-reactor-netty\2.0.2.RELEASE\spring-boot-starter-reactor-netty-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\projectreactor\ipc\reactor-netty\0.7.7.RELEASE\reactor-netty-0.7.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-handler-proxy\4.1.24.Final\netty-handler-proxy-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec-socks\4.1.24.Final\netty-codec-socks-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport-native-epoll\4.1.24.Final\netty-transport-native-epoll-4.1.24.Final-linux-x86_64.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.24.Final\netty-transport-native-unix-common-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-webflux\5.0.6.RELEASE\spring-webflux-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\projectreactor\reactor-core\3.1.7.RELEASE\reactor-core-3.1.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\synchronoss\cloud\nio-multipart-parser\1.1.0\nio-multipart-parser-1.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\synchronoss\cloud\nio-stream-storage\1.1.3\nio-stream-storage-1.1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-ui\1.5.10\springdoc-openapi-ui-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-webmvc-core\1.5.10\springdoc-openapi-webmvc-core-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-common\1.5.10\springdoc-openapi-common-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-models\2.1.10\swagger-models-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-annotations\2.1.10\swagger-annotations-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-integration\2.1.10\swagger-integration-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-core\2.1.10\swagger-core-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.2\jakarta.xml.bind-api-2.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.1\jakarta.activation-api-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.12.1\jackson-dataformat-yaml-2.12.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\github\classgraph\classgraph\4.8.69\classgraph-4.8.69.jar;C:\Users\Sohan.Dey\.m2\repository\org\webjars\swagger-ui\3.51.1\swagger-ui-3.51.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\webjars\webjars-locator-core\0.45\webjars-locator-core-0.45.jar;C:\Users\Sohan.Dey\.m2\repository\commons-fileupload\commons-fileupload\1.4\commons-fileupload-1.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\mockito\mockito-core\2.23.4\mockito-core-2.23.4.jar;C:\Users\Sohan.Dey\.m2\repository\net\bytebuddy\byte-buddy-agent\1.9.3\byte-buddy-agent-1.9.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-websubclient-api\1.2.0.1-SNAPSHOT\kernel-websubclient-api-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-aspects\5.0.6.RELEASE\spring-aspects-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\aspectj\aspectjweaver\1.8.13\aspectjweaver-1.8.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\owasp\encoder\encoder\1.2.3\encoder-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\tensorflow\1.12.0\tensorflow-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\libtensorflow\1.12.0\libtensorflow-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\libtensorflow_jni\1.12.0\libtensorflow_jni-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-templatemanager-velocity\1.2.0.1-SNAPSHOT\kernel-templatemanager-velocity-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter-config\2.0.0.RELEASE\spring-cloud-starter-config-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter\2.0.0.RELEASE\spring-cloud-starter-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-context\2.0.0.RELEASE\spring-cloud-context-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-crypto\5.0.6.RELEASE\spring-security-crypto-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-commons\2.0.0.RELEASE\spring-cloud-commons-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-rsa\1.0.5.RELEASE\spring-security-rsa-1.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-config-client\2.0.0.RELEASE\spring-cloud-config-client-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jai-imageio\jai-imageio-jpeg2000\1.3.0\jai-imageio-jpeg2000-1.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jai-imageio\jai-imageio-core\1.3.0\jai-imageio-core-1.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-keymanager-service\1.2.0.1-SNAPSHOT\kernel-keymanager-service-1.2.0.1-SNAPSHOT-lib.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-test\5.0.5.RELEASE\spring-security-test-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-core\5.0.5.RELEASE\spring-security-core-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-pdfgenerator-itext\1.2.0.1-SNAPSHOT\kernel-pdfgenerator-itext-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\barcodes\7.1.0\barcodes-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\font-asian\7.1.0\font-asian-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\hyph\7.1.0\hyph-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\pdfa\7.1.0\pdfa-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\sign\7.1.0\sign-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\tool\xmlworker\5.5.13\xmlworker-5.5.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.66\bcpkix-jdk15on-1.66.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\2.0.2.RELEASE\spring-boot-starter-data-jpa-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.0.2.RELEASE\spring-boot-starter-jdbc-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\zaxxer\HikariCP\2.7.9\HikariCP-2.7.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\h2database\h2\1.4.197\h2-1.4.197.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\microsoft\TSS.Java\0.3.0\TSS.Java-0.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\cache2k\cache2k-api\2.4.1.Final\cache2k-api-2.4.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\cache2k\cache2k-core\2.4.1.Final\cache2k-core-2.4.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\nimbusds\nimbus-jose-jwt\9.14\nimbus-jose-jwt-9.14.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-core\1.2.0.1-SNAPSHOT\kernel-core-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter\2.0.2.RELEASE\spring-boot-starter-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot\2.0.2.RELEASE\spring-boot-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.0.2.RELEASE\spring-boot-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.0.2.RELEASE\spring-boot-starter-logging-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.10.0\log4j-to-slf4j-2.10.0.jar;C:\Users\Sohan.Dey\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\data\spring-data-jpa\2.0.7.RELEASE\spring-data-jpa-2.0.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\data\spring-data-commons\2.0.7.RELEASE\spring-data-commons-2.0.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-orm\5.0.6.RELEASE\spring-orm-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-jdbc\5.0.6.RELEASE\spring-jdbc-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-context\5.0.6.RELEASE\spring-context-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-aop\5.0.6.RELEASE\spring-aop-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-tx\5.0.6.RELEASE\spring-tx-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-beans\5.0.6.RELEASE\spring-beans-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\aspectj\aspectjrt\1.8.12\aspectjrt-1.8.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-security\2.0.2.RELEASE\spring-boot-starter-security-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-config\5.0.5.RELEASE\spring-security-config-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-web\5.0.5.RELEASE\spring-security-web-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\javax\transaction\javax.transaction-api\1.3\javax.transaction-api-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.66\bcprov-jdk15on-1.66.jar;C:\Users\Sohan.Dey\.m2\repository\javax\interceptor\javax.interceptor-api\1.2\javax.interceptor-api-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\findbugs\annotations\3.0.1\annotations-3.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\net\jcip\jcip-annotations\1.0\jcip-annotations-1.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\swagger-models\1.5.21\swagger-models-1.5.21.jar;C:\Users\Sohan.Dey\.m2\repository\com\auth0\java-jwt\3.8.1\java-jwt-3.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\micrometer\micrometer-core\1.4.2\micrometer-core-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\hdrhistogram\HdrHistogram\2.1.12\HdrHistogram-2.1.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\micrometer\micrometer-registry-prometheus\1.4.2\micrometer-registry-prometheus-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\prometheus\simpleclient_common\0.8.1\simpleclient_common-0.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\prometheus\simpleclient\0.8.1\simpleclient-0.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;C:\Users\Sohan.Dey\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter-sleuth\2.0.4.RELEASE\spring-cloud-starter-sleuth-2.0.4.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.0.9.RELEASE\spring-boot-starter-aop-2.0.9.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-sleuth-core\2.0.4.RELEASE\spring-cloud-sleuth-core-2.0.4.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave\5.6.1\brave-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\zipkin2\zipkin\2.12.0\zipkin-2.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\reporter2\zipkin-reporter\2.7.14\zipkin-reporter-2.7.14.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-context-log4j2\5.6.1\brave-context-log4j2-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-web\5.6.1\brave-instrumentation-spring-web-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-http\5.6.1\brave-instrumentation-http-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-rabbit\5.6.1\brave-instrumentation-spring-rabbit-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-kafka-clients\5.6.1\brave-instrumentation-kafka-clients-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-httpclient\5.6.1\brave-instrumentation-httpclient-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-httpasyncclient\5.6.1\brave-instrumentation-httpasyncclient-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-webmvc\5.6.1\brave-instrumentation-spring-webmvc-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-servlet\5.6.1\brave-instrumentation-servlet-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-actuator\2.0.2.RELEASE\spring-boot-starter-actuator-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.0.2.RELEASE\spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-actuator\2.0.2.RELEASE\spring-boot-actuator-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\8.5.55\tomcat-embed-core-8.5.55.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\tomcat-annotations-api\8.5.55\tomcat-annotations-api-8.5.55.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\retry\spring-retry\1.2.1.RELEASE\spring-retry-1.2.1.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-afterburner\2.12.0\jackson-module-afterburner-2.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-registration-packet-manager\1.1.5.3\kernel-registration-packet-manager-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-keygenerator-bouncycastle\1.1.5.3\kernel-keygenerator-bouncycastle-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-cbeffutil-api\1.1.5.3\kernel-cbeffutil-api-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-logger-logback\1.1.5.3\kernel-logger-logback-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\net\logstash\logback\logstash-logback-encoder\6.4\logstash-logback-encoder-6.4.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-access\1.2.3\logback-access-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-crypto-jce\1.1.5.3\kernel-crypto-jce-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\bitbucket\b_c\jose4j\0.6.5\jose4j-0.6.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-json4j-provider\1.1.2-incubating\wink-json4j-provider-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-common\1.1.2-incubating\wink-common-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.1.1\jaxb-impl-2.2.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-annotation_1.1_spec\1.0\geronimo-annotation_1.1_spec-1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-json4j\1.1.2-incubating\wink-json4j-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\checkerframework\checker-qual\2.9.0\checker-qual-2.9.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-broker\5.15.9\activemq-broker-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-client\5.15.9\activemq-client-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-jms_1.1_spec\1.1.1\geronimo-jms_1.1_spec-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\fusesource\hawtbuf\hawtbuf\1.11\hawtbuf-1.11.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-j2ee-management_1.1_spec\1.0.1\geronimo-j2ee-management_1.1_spec-1.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-openwire-legacy\5.15.9\activemq-openwire-legacy-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\projectlombok\lombok\1.18.8\lombok-1.18.8.jar
\ No newline at end of file
diff --git a/apitest/.temp-Functional Test-classpath-arg-1659589592502.txt b/apitest/.temp-Functional Test-classpath-arg-1659589592502.txt
new file mode 100644
index 00000000000..bb81464f5e2
--- /dev/null
+++ b/apitest/.temp-Functional Test-classpath-arg-1659589592502.txt
@@ -0,0 +1 @@
+-classpath D:\Mosip_Automation_Test\Docker_Test\MOSIP-19726\mosip-functional-tests\automationtests\target\test-classes;D:\Mosip_Automation_Test\Docker_Test\MOSIP-19726\mosip-functional-tests\automationtests\target\classes;C:\Users\Sohan.Dey\.m2\repository\com\opencsv\opencsv\4.1\opencsv-4.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-lang3\3.6\commons-lang3-3.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-text\1.1\commons-text-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\ibm\icu\icu4j\63.1\icu4j-63.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-admin-client\17.0.1\keycloak-admin-client-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-core\17.0.1\keycloak-core-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-common\17.0.1\keycloak-common-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-client\3.13.2.Final\resteasy-client-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\ws\rs\jboss-jaxrs-api_2.1_spec\2.0.1.Final\jboss-jaxrs-api_2.1_spec-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jaxrs\3.13.2.Final\resteasy-jaxrs-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\annotation\jboss-annotations-api_1.3_spec\2.0.1.Final\jboss-annotations-api_1.3_spec-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\activation\jakarta.activation\1.2.1\jakarta.activation-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\stephenc\jcip\jcip-annotations\1.0-1\jcip-annotations-1.0-1.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-multipart-provider\3.13.2.Final\resteasy-multipart-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\mail\jakarta.mail\1.6.5\jakarta.mail-1.6.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\james\apache-mime4j\0.6\apache-mime4j-0.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jackson2-provider\3.13.2.Final\resteasy-jackson2-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-json-provider\2.10.5\jackson-jaxrs-json-provider-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-base\2.10.5\jackson-jaxrs-base-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\json-patch\1.9\json-patch-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\jackson-coreutils\1.6\jackson-coreutils-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\msg-simple\1.1\msg-simple-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\btf\1.2\btf-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jaxb-provider\3.13.2.Final\resteasy-jaxb-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\xml\bind\jboss-jaxb-api_2.3_spec\2.0.0.Final\jboss-jaxb-api_2.3_spec-2.0.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\javassist\javassist\3.25.0-GA\javassist-3.25.0-GA.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jknack\handlebars\3.0.0\handlebars-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\antlr\antlr4-runtime\4.5.1-1\antlr4-runtime-4.5.1-1.jar;C:\Users\Sohan.Dey\.m2\repository\org\mozilla\rhino\1.7R4\rhino-1.7R4.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\slf4j-api\1.6.4\slf4j-api-1.6.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-collections4\4.3\commons-collections4-4.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\jsonwebtoken\jjwt\0.6.0\jjwt-0.6.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\flipkart\zjsonpatch\zjsonpatch\0.4.7\zjsonpatch-0.4.7.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk\1.11.368\aws-java-sdk-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dlm\1.11.368\aws-java-sdk-dlm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\jmespath-java\1.11.368\jmespath-java-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-macie\1.11.368\aws-java-sdk-macie-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-eks\1.11.368\aws-java-sdk-eks-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediatailor\1.11.368\aws-java-sdk-mediatailor-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-neptune\1.11.368\aws-java-sdk-neptune-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pi\1.11.368\aws-java-sdk-pi-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot1clickprojects\1.11.368\aws-java-sdk-iot1clickprojects-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot1clickdevices\1.11.368\aws-java-sdk-iot1clickdevices-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iotanalytics\1.11.368\aws-java-sdk-iotanalytics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-acmpca\1.11.368\aws-java-sdk-acmpca-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-secretsmanager\1.11.368\aws-java-sdk-secretsmanager-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-fms\1.11.368\aws-java-sdk-fms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-connect\1.11.368\aws-java-sdk-connect-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-transcribe\1.11.368\aws-java-sdk-transcribe-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-autoscalingplans\1.11.368\aws-java-sdk-autoscalingplans-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workmail\1.11.368\aws-java-sdk-workmail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servicediscovery\1.11.368\aws-java-sdk-servicediscovery-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloud9\1.11.368\aws-java-sdk-cloud9-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-serverlessapplicationrepository\1.11.368\aws-java-sdk-serverlessapplicationrepository-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-alexaforbusiness\1.11.368\aws-java-sdk-alexaforbusiness-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-resourcegroups\1.11.368\aws-java-sdk-resourcegroups-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-comprehend\1.11.368\aws-java-sdk-comprehend-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-translate\1.11.368\aws-java-sdk-translate-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sagemaker\1.11.368\aws-java-sdk-sagemaker-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iotjobsdataplane\1.11.368\aws-java-sdk-iotjobsdataplane-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sagemakerruntime\1.11.368\aws-java-sdk-sagemakerruntime-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kinesisvideo\1.11.368\aws-java-sdk-kinesisvideo-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec-http\4.1.17.Final\netty-codec-http-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec\4.1.17.Final\netty-codec-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-handler\4.1.17.Final\netty-handler-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-buffer\4.1.17.Final\netty-buffer-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-common\4.1.17.Final\netty-common-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport\4.1.17.Final\netty-transport-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-resolver\4.1.17.Final\netty-resolver-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-appsync\1.11.368\aws-java-sdk-appsync-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-guardduty\1.11.368\aws-java-sdk-guardduty-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mq\1.11.368\aws-java-sdk-mq-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediaconvert\1.11.368\aws-java-sdk-mediaconvert-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediastore\1.11.368\aws-java-sdk-mediastore-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediastoredata\1.11.368\aws-java-sdk-mediastoredata-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-medialive\1.11.368\aws-java-sdk-medialive-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediapackage\1.11.368\aws-java-sdk-mediapackage-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-costexplorer\1.11.368\aws-java-sdk-costexplorer-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pricing\1.11.368\aws-java-sdk-pricing-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mobile\1.11.368\aws-java-sdk-mobile-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudhsmv2\1.11.368\aws-java-sdk-cloudhsmv2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-glue\1.11.368\aws-java-sdk-glue-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-migrationhub\1.11.368\aws-java-sdk-migrationhub-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dax\1.11.368\aws-java-sdk-dax-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-greengrass\1.11.368\aws-java-sdk-greengrass-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-athena\1.11.368\aws-java-sdk-athena-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplaceentitlement\1.11.368\aws-java-sdk-marketplaceentitlement-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codestar\1.11.368\aws-java-sdk-codestar-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lexmodelbuilding\1.11.368\aws-java-sdk-lexmodelbuilding-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-resourcegroupstaggingapi\1.11.368\aws-java-sdk-resourcegroupstaggingapi-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pinpoint\1.11.368\aws-java-sdk-pinpoint-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-xray\1.11.368\aws-java-sdk-xray-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-opsworkscm\1.11.368\aws-java-sdk-opsworkscm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-support\1.11.368\aws-java-sdk-support-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-simpledb\1.11.368\aws-java-sdk-simpledb-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servicecatalog\1.11.368\aws-java-sdk-servicecatalog-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servermigration\1.11.368\aws-java-sdk-servermigration-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-simpleworkflow\1.11.368\aws-java-sdk-simpleworkflow-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-storagegateway\1.11.368\aws-java-sdk-storagegateway-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-route53\1.11.368\aws-java-sdk-route53-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-s3\1.11.368\aws-java-sdk-s3-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-importexport\1.11.368\aws-java-sdk-importexport-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sts\1.11.368\aws-java-sdk-sts-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sqs\1.11.368\aws-java-sdk-sqs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-rds\1.11.368\aws-java-sdk-rds-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-redshift\1.11.368\aws-java-sdk-redshift-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticbeanstalk\1.11.368\aws-java-sdk-elasticbeanstalk-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-glacier\1.11.368\aws-java-sdk-glacier-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iam\1.11.368\aws-java-sdk-iam-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-datapipeline\1.11.368\aws-java-sdk-datapipeline-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticloadbalancing\1.11.368\aws-java-sdk-elasticloadbalancing-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticloadbalancingv2\1.11.368\aws-java-sdk-elasticloadbalancingv2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-emr\1.11.368\aws-java-sdk-emr-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticache\1.11.368\aws-java-sdk-elasticache-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elastictranscoder\1.11.368\aws-java-sdk-elastictranscoder-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ec2\1.11.368\aws-java-sdk-ec2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dynamodb\1.11.368\aws-java-sdk-dynamodb-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sns\1.11.368\aws-java-sdk-sns-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-budgets\1.11.368\aws-java-sdk-budgets-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudtrail\1.11.368\aws-java-sdk-cloudtrail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudwatch\1.11.368\aws-java-sdk-cloudwatch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-logs\1.11.368\aws-java-sdk-logs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-events\1.11.368\aws-java-sdk-events-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitoidentity\1.11.368\aws-java-sdk-cognitoidentity-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitosync\1.11.368\aws-java-sdk-cognitosync-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-directconnect\1.11.368\aws-java-sdk-directconnect-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudformation\1.11.368\aws-java-sdk-cloudformation-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudfront\1.11.368\aws-java-sdk-cloudfront-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-clouddirectory\1.11.368\aws-java-sdk-clouddirectory-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kinesis\1.11.368\aws-java-sdk-kinesis-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-opsworks\1.11.368\aws-java-sdk-opsworks-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ses\1.11.368\aws-java-sdk-ses-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-autoscaling\1.11.368\aws-java-sdk-autoscaling-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudsearch\1.11.368\aws-java-sdk-cloudsearch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudwatchmetrics\1.11.368\aws-java-sdk-cloudwatchmetrics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codedeploy\1.11.368\aws-java-sdk-codedeploy-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codepipeline\1.11.368\aws-java-sdk-codepipeline-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kms\1.11.368\aws-java-sdk-kms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-config\1.11.368\aws-java-sdk-config-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lambda\1.11.368\aws-java-sdk-lambda-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ecs\1.11.368\aws-java-sdk-ecs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ecr\1.11.368\aws-java-sdk-ecr-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudhsm\1.11.368\aws-java-sdk-cloudhsm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ssm\1.11.368\aws-java-sdk-ssm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workspaces\1.11.368\aws-java-sdk-workspaces-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-machinelearning\1.11.368\aws-java-sdk-machinelearning-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-directory\1.11.368\aws-java-sdk-directory-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-efs\1.11.368\aws-java-sdk-efs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codecommit\1.11.368\aws-java-sdk-codecommit-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-devicefarm\1.11.368\aws-java-sdk-devicefarm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticsearch\1.11.368\aws-java-sdk-elasticsearch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-waf\1.11.368\aws-java-sdk-waf-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplacecommerceanalytics\1.11.368\aws-java-sdk-marketplacecommerceanalytics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-inspector\1.11.368\aws-java-sdk-inspector-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot\1.11.368\aws-java-sdk-iot-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-api-gateway\1.11.368\aws-java-sdk-api-gateway-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-acm\1.11.368\aws-java-sdk-acm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-gamelift\1.11.368\aws-java-sdk-gamelift-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dms\1.11.368\aws-java-sdk-dms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplacemeteringservice\1.11.368\aws-java-sdk-marketplacemeteringservice-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitoidp\1.11.368\aws-java-sdk-cognitoidp-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-discovery\1.11.368\aws-java-sdk-discovery-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-applicationautoscaling\1.11.368\aws-java-sdk-applicationautoscaling-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-snowball\1.11.368\aws-java-sdk-snowball-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-rekognition\1.11.368\aws-java-sdk-rekognition-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-polly\1.11.368\aws-java-sdk-polly-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lightsail\1.11.368\aws-java-sdk-lightsail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-stepfunctions\1.11.368\aws-java-sdk-stepfunctions-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-health\1.11.368\aws-java-sdk-health-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-costandusagereport\1.11.368\aws-java-sdk-costandusagereport-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codebuild\1.11.368\aws-java-sdk-codebuild-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-appstream\1.11.368\aws-java-sdk-appstream-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-shield\1.11.368\aws-java-sdk-shield-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-batch\1.11.368\aws-java-sdk-batch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lex\1.11.368\aws-java-sdk-lex-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mechanicalturkrequester\1.11.368\aws-java-sdk-mechanicalturkrequester-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-organizations\1.11.368\aws-java-sdk-organizations-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workdocs\1.11.368\aws-java-sdk-workdocs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-core\1.11.368\aws-java-sdk-core-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\software\amazon\ion\ion-java\1.0.2\ion-java-1.0.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-cbor\2.6.7\jackson-dataformat-cbor-2.6.7.jar;C:\Users\Sohan.Dey\.m2\repository\joda-time\joda-time\2.8.1\joda-time-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-models\1.11.368\aws-java-sdk-models-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-swf-libraries\1.11.22\aws-java-sdk-swf-libraries-1.11.22.jar;C:\Users\Sohan.Dey\.m2\repository\com\aventstack\extentreports\3.0.0\extentreports-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\freemarker\freemarker\2.3.23\freemarker-2.3.23.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\mongodb-driver\3.3.0\mongodb-driver-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\bson\3.3.0\bson-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\mongodb-driver-core\3.3.0\mongodb-driver-core-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpmime\4.5.2\httpmime-4.5.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\relevantcodes\extentreports\2.41.2\extentreports-2.41.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jsoup\jsoup\1.8.3\jsoup-1.8.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\xerial\sqlite-jdbc\3.8.11.1\sqlite-jdbc-3.8.11.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\Sohan.Dey\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-model\3.3.9\maven-model-3.3.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-utils\3.0.22\plexus-utils-3.0.22.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\rest-assured\3.0.7\rest-assured-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy\2.4.12\groovy-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.12\groovy-xml-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\json-path\3.0.7\json-path-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy-json\2.4.12\groovy-json-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\rest-assured-common\3.0.7\rest-assured-common-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\xml-path\3.0.7\xml-path-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\testng\testng\6.11\testng-6.11.jar;C:\Users\Sohan.Dey\.m2\repository\com\beust\jcommander\1.64\jcommander-1.64.jar;C:\Users\Sohan.Dey\.m2\repository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;C:\Users\Sohan.Dey\.m2\repository\org\zeroturnaround\zt-zip\1.13\zt-zip-1.13.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.10.1\jackson-core-2.10.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.5\jackson-annotations-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.10.5\jackson-databind-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-xml\2.9.5\jackson-dataformat-xml-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-jaxb-annotations\2.9.5\jackson-module-jaxb-annotations-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\woodstox\stax2-api\3.1.4\stax2-api-3.1.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\woodstox\woodstox-core\5.0.3\woodstox-core-5.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\json\json\20180130\json-20180130.jar;C:\Users\Sohan.Dey\.m2\repository\com\googlecode\json-simple\json-simple\1.1.1\json-simple-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\junit\junit\4.10\junit-4.10.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\gson\gson\2.8.4\gson-2.8.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\plugins\maven-assembly-plugin\3.1.0\maven-assembly-plugin-3.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-plugin-api\3.0\maven-plugin-api-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-inject-plexus\1.4.2\sisu-inject-plexus-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-inject-bean\1.4.2\sisu-inject-bean-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-guice\2.1.7\sisu-guice-2.1.7-noaop.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-core\3.0\maven-core-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-settings\3.0\maven-settings-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-settings-builder\3.0\maven-settings-builder-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-repository-metadata\3.0\maven-repository-metadata-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-model-builder\3.0\maven-model-builder-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-aether-provider\3.0\maven-aether-provider-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-impl\1.7\aether-impl-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-spi\1.7\aether-spi-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-api\1.7\aether-api-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-util\1.7\aether-util-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-classworlds\2.2.3\plexus-classworlds-2.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-component-annotations\1.5.5\plexus-component-annotations-1.5.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-sec-dispatcher\1.3\plexus-sec-dispatcher-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-cipher\1.4\plexus-cipher-1.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-artifact\3.0\maven-artifact-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-common-artifact-filters\3.0.1\maven-common-artifact-filters-3.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-shared-utils\3.1.0\maven-shared-utils-3.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-artifact-transfer\0.9.0\maven-artifact-transfer-0.9.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-interpolation\1.24\plexus-interpolation-1.24.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-archiver\3.5\plexus-archiver-3.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-compress\1.14\commons-compress-1.14.jar;C:\Users\Sohan.Dey\.m2\repository\org\iq80\snappy\snappy\0.4\snappy-0.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\tukaani\xz\1.6\xz-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\file-management\3.0.0\file-management-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-shared-io\3.0.0\maven-shared-io-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-compat\3.0\maven-compat-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\wagon\wagon-provider-api\2.10\wagon-provider-api-2.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-filtering\3.1.1\maven-filtering-3.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-build-api\0.0.7\plexus-build-api-0.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-io\3.0.0\plexus-io-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-archiver\3.2.0\maven-archiver-3.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\hibernate-core\5.4.2.Final\hibernate-core-5.4.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\persistence\javax.persistence-api\2.2\javax.persistence-api-2.2.jar;C:\Users\Sohan.Dey\.m2\repository\net\bytebuddy\byte-buddy\1.9.10\byte-buddy-1.9.10.jar;C:\Users\Sohan.Dey\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.2_spec\1.1.1.Final\jboss-transaction-api_1.2_spec-1.1.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\jandex\2.0.5.Final\jandex-2.0.5.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\classmate\1.3.4\classmate-1.3.4.jar;C:\Users\Sohan.Dey\.m2\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\dom4j\dom4j\2.1.1\dom4j-2.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.1.0.Final\hibernate-commons-annotations-5.1.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.1\jaxb-runtime-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\glassfish\jaxb\txw2\2.3.1\txw2-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.7\istack-commons-runtime-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\jvnet\staxex\stax-ex\1.8\stax-ex-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\xml\fastinfoset\FastInfoset\1.2.15\FastInfoset-1.2.15.jar;C:\Users\Sohan.Dey\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.5\jackson-datatype-jsr310-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\postgresql\postgresql\42.2.2\postgresql-42.2.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\slf4j-log4j12\1.6.2\slf4j-log4j12-1.6.2.jar;C:\Users\Sohan.Dey\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\logging\log4j\log4j-api\2.11.1\log4j-api-2.11.1.jar;C:\Users\Sohan.Dey\.m2\repository\net\lingala\zip4j\zip4j\1.3.2\zip4j-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpclient\4.5.3\httpclient-4.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpcore\4.4.6\httpcore-4.4.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-client\2.8.1\hadoop-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-common\2.8.1\hadoop-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-cli\commons-cli\1.2\commons-cli-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\xmlenc\xmlenc\0.52\xmlenc-0.52.jar;C:\Users\Sohan.Dey\.m2\repository\commons-net\commons-net\3.1\commons-net-3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\mortbay\jetty\jetty-sslengine\6.1.26\jetty-sslengine-6.1.26.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-configuration\commons-configuration\1.6\commons-configuration-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\commons-digester\commons-digester\1.8\commons-digester-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.0\commons-beanutils-core-1.8.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\avro\avro\1.7.4\avro-1.7.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\xerial\snappy\snappy-java\1.0.4.1\snappy-java-1.0.4.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\protobuf\protobuf-java\2.5.0\protobuf-java-2.5.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-auth\2.8.1\hadoop-auth-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\server\apacheds-kerberos-codec\2.0.0-M15\apacheds-kerberos-codec-2.0.0-M15.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\server\apacheds-i18n\2.0.0-M15\apacheds-i18n-2.0.0-M15.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\api\api-asn1-api\1.0.0-M20\api-asn1-api-1.0.0-M20.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\api\api-util\1.0.0-M20\api-util-1.0.0-M20.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-framework\2.7.1\curator-framework-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-client\2.7.1\curator-client-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-recipes\2.7.1\curator-recipes-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\findbugs\jsr305\3.0.0\jsr305-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\htrace\htrace-core4\4.0.1-incubating\htrace-core4-4.0.1-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\zookeeper\zookeeper\3.4.6\zookeeper-3.4.6.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty\3.7.0.Final\netty-3.7.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-hdfs\2.8.1\hadoop-hdfs-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-hdfs-client\2.8.1\hadoop-hdfs-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\squareup\okhttp\okhttp\2.4.0\okhttp-2.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\squareup\okio\okio\1.4.0\okio-1.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-app\2.8.1\hadoop-mapreduce-client-app-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-common\2.8.1\hadoop-mapreduce-client-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-client\2.8.1\hadoop-yarn-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-server-common\2.8.1\hadoop-yarn-server-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-shuffle\2.8.1\hadoop-mapreduce-client-shuffle-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\fusesource\leveldbjni\leveldbjni-all\1.8\leveldbjni-all-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-api\2.8.1\hadoop-yarn-api-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-core\2.8.1\hadoop-mapreduce-client-core-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-common\2.8.1\hadoop-yarn-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\mortbay\jetty\jetty-util\6.1.26\jetty-util-6.1.26.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\jersey\jersey-core\1.9\jersey-core-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\jersey\jersey-client\1.9\jersey-client-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-jaxrs\1.9.13\jackson-jaxrs-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-xc\1.9.13\jackson-xc-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-jobclient\2.8.1\hadoop-mapreduce-client-jobclient-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-annotations\2.8.1\hadoop-annotations-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcprov-jdk16\1.45\bcprov-jdk16-1.45.jar;C:\Users\Sohan.Dey\.m2\repository\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;C:\Users\Sohan.Dey\.m2\repository\commons-io\commons-io\2.6\commons-io-2.6.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\zxing\core\3.3.3\core-3.3.3.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\zxing\javase\2.0\javase-2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\html2pdf\2.0.0\html2pdf-2.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\forms\7.1.0\forms-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\kernel\7.1.0\kernel-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\io\7.1.0\io-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\layout\7.1.0\layout-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\itextpdf\5.5.13\itextpdf-5.5.13.jar;C:\Users\Sohan.Dey\.m2\repository\javax\mail\javax.mail-api\1.6.2\javax.mail-api-1.6.2.jar;D:\Mosip_Automation_Test\Docker_Test\MOSIP-19726\mosip-functional-tests\authentication-demo-service\target\classes;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.0.2.RELEASE\spring-boot-starter-web-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.0.2.RELEASE\spring-boot-starter-json-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.5\jackson-datatype-jdk8-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.5\jackson-module-parameter-names-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.0.2.RELEASE\spring-boot-starter-tomcat-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\8.5.31\tomcat-embed-el-8.5.31.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\8.5.31\tomcat-embed-websocket-8.5.31.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\validator\hibernate-validator\6.0.9.Final\hibernate-validator-6.0.9.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-web\5.0.6.RELEASE\spring-web-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-webmvc\5.0.6.RELEASE\spring-webmvc-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-expression\5.0.6.RELEASE\spring-expression-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.0.2.RELEASE\spring-boot-starter-test-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-test\2.0.2.RELEASE\spring-boot-test-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.0.2.RELEASE\spring-boot-test-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\assertj\assertj-core\3.9.1\assertj-core-3.9.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-core\5.0.6.RELEASE\spring-core-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-jcl\5.0.6.RELEASE\spring-jcl-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-test\5.0.6.RELEASE\spring-test-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\xmlunit\xmlunit-core\2.5.1\xmlunit-core-2.5.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\ws\rs\javax.ws.rs-api\2.0\javax.ws.rs-api-2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\authentication\authentication-core\1.2.0.1-SNAPSHOT\authentication-core-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-cache\2.0.2.RELEASE\spring-boot-starter-cache-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-context-support\5.0.6.RELEASE\spring-context-support-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\machinezoo\sourceafis\sourceafis\3.4.0\sourceafis-3.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\com\machinezoo\noexception\noexception\1.3.2\noexception-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\mhshams\jnbis\2.0.1\jnbis-2.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\sanselan\sanselan\0.97-incubator\sanselan-0.97-incubator.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\idrepository\id-repository-core\1.2.0\id-repository-core-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-biosdk-provider\1.2.0\kernel-biosdk-provider-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-biometrics-api\1.2.0\kernel-biometrics-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-demographics-api\1.2.0\kernel-demographics-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-webflux\2.0.2.RELEASE\spring-boot-starter-webflux-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-reactor-netty\2.0.2.RELEASE\spring-boot-starter-reactor-netty-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\projectreactor\ipc\reactor-netty\0.7.7.RELEASE\reactor-netty-0.7.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-handler-proxy\4.1.24.Final\netty-handler-proxy-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec-socks\4.1.24.Final\netty-codec-socks-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport-native-epoll\4.1.24.Final\netty-transport-native-epoll-4.1.24.Final-linux-x86_64.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.24.Final\netty-transport-native-unix-common-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-webflux\5.0.6.RELEASE\spring-webflux-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\projectreactor\reactor-core\3.1.7.RELEASE\reactor-core-3.1.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\synchronoss\cloud\nio-multipart-parser\1.1.0\nio-multipart-parser-1.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\synchronoss\cloud\nio-stream-storage\1.1.3\nio-stream-storage-1.1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-ui\1.5.10\springdoc-openapi-ui-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-webmvc-core\1.5.10\springdoc-openapi-webmvc-core-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-common\1.5.10\springdoc-openapi-common-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-models\2.1.10\swagger-models-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-annotations\2.1.10\swagger-annotations-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-integration\2.1.10\swagger-integration-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-core\2.1.10\swagger-core-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.2\jakarta.xml.bind-api-2.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.1\jakarta.activation-api-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.12.1\jackson-dataformat-yaml-2.12.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\github\classgraph\classgraph\4.8.69\classgraph-4.8.69.jar;C:\Users\Sohan.Dey\.m2\repository\org\webjars\swagger-ui\3.51.1\swagger-ui-3.51.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\webjars\webjars-locator-core\0.45\webjars-locator-core-0.45.jar;C:\Users\Sohan.Dey\.m2\repository\commons-fileupload\commons-fileupload\1.4\commons-fileupload-1.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\mockito\mockito-core\2.23.4\mockito-core-2.23.4.jar;C:\Users\Sohan.Dey\.m2\repository\net\bytebuddy\byte-buddy-agent\1.9.3\byte-buddy-agent-1.9.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-websubclient-api\1.2.0.1-SNAPSHOT\kernel-websubclient-api-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-aspects\5.0.6.RELEASE\spring-aspects-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\aspectj\aspectjweaver\1.8.13\aspectjweaver-1.8.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\owasp\encoder\encoder\1.2.3\encoder-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\tensorflow\1.12.0\tensorflow-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\libtensorflow\1.12.0\libtensorflow-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\libtensorflow_jni\1.12.0\libtensorflow_jni-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-templatemanager-velocity\1.2.0.1-SNAPSHOT\kernel-templatemanager-velocity-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter-config\2.0.0.RELEASE\spring-cloud-starter-config-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter\2.0.0.RELEASE\spring-cloud-starter-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-context\2.0.0.RELEASE\spring-cloud-context-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-crypto\5.0.6.RELEASE\spring-security-crypto-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-commons\2.0.0.RELEASE\spring-cloud-commons-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-rsa\1.0.5.RELEASE\spring-security-rsa-1.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-config-client\2.0.0.RELEASE\spring-cloud-config-client-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jai-imageio\jai-imageio-jpeg2000\1.3.0\jai-imageio-jpeg2000-1.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jai-imageio\jai-imageio-core\1.3.0\jai-imageio-core-1.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-keymanager-service\1.2.0.1-SNAPSHOT\kernel-keymanager-service-1.2.0.1-SNAPSHOT-lib.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-test\5.0.5.RELEASE\spring-security-test-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-core\5.0.5.RELEASE\spring-security-core-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-pdfgenerator-itext\1.2.0.1-SNAPSHOT\kernel-pdfgenerator-itext-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\barcodes\7.1.0\barcodes-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\font-asian\7.1.0\font-asian-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\hyph\7.1.0\hyph-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\pdfa\7.1.0\pdfa-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\sign\7.1.0\sign-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\tool\xmlworker\5.5.13\xmlworker-5.5.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.66\bcpkix-jdk15on-1.66.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\2.0.2.RELEASE\spring-boot-starter-data-jpa-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.0.2.RELEASE\spring-boot-starter-jdbc-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\zaxxer\HikariCP\2.7.9\HikariCP-2.7.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\h2database\h2\1.4.197\h2-1.4.197.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\microsoft\TSS.Java\0.3.0\TSS.Java-0.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\cache2k\cache2k-api\2.4.1.Final\cache2k-api-2.4.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\cache2k\cache2k-core\2.4.1.Final\cache2k-core-2.4.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\nimbusds\nimbus-jose-jwt\9.14\nimbus-jose-jwt-9.14.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-core\1.2.0.1-SNAPSHOT\kernel-core-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter\2.0.2.RELEASE\spring-boot-starter-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot\2.0.2.RELEASE\spring-boot-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.0.2.RELEASE\spring-boot-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.0.2.RELEASE\spring-boot-starter-logging-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.10.0\log4j-to-slf4j-2.10.0.jar;C:\Users\Sohan.Dey\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\data\spring-data-jpa\2.0.7.RELEASE\spring-data-jpa-2.0.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\data\spring-data-commons\2.0.7.RELEASE\spring-data-commons-2.0.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-orm\5.0.6.RELEASE\spring-orm-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-jdbc\5.0.6.RELEASE\spring-jdbc-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-context\5.0.6.RELEASE\spring-context-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-aop\5.0.6.RELEASE\spring-aop-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-tx\5.0.6.RELEASE\spring-tx-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-beans\5.0.6.RELEASE\spring-beans-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\aspectj\aspectjrt\1.8.12\aspectjrt-1.8.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-security\2.0.2.RELEASE\spring-boot-starter-security-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-config\5.0.5.RELEASE\spring-security-config-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-web\5.0.5.RELEASE\spring-security-web-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\javax\transaction\javax.transaction-api\1.3\javax.transaction-api-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.66\bcprov-jdk15on-1.66.jar;C:\Users\Sohan.Dey\.m2\repository\javax\interceptor\javax.interceptor-api\1.2\javax.interceptor-api-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\findbugs\annotations\3.0.1\annotations-3.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\net\jcip\jcip-annotations\1.0\jcip-annotations-1.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\swagger-models\1.5.21\swagger-models-1.5.21.jar;C:\Users\Sohan.Dey\.m2\repository\com\auth0\java-jwt\3.8.1\java-jwt-3.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\micrometer\micrometer-core\1.4.2\micrometer-core-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\hdrhistogram\HdrHistogram\2.1.12\HdrHistogram-2.1.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\micrometer\micrometer-registry-prometheus\1.4.2\micrometer-registry-prometheus-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\prometheus\simpleclient_common\0.8.1\simpleclient_common-0.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\prometheus\simpleclient\0.8.1\simpleclient-0.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;C:\Users\Sohan.Dey\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter-sleuth\2.0.4.RELEASE\spring-cloud-starter-sleuth-2.0.4.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.0.9.RELEASE\spring-boot-starter-aop-2.0.9.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-sleuth-core\2.0.4.RELEASE\spring-cloud-sleuth-core-2.0.4.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave\5.6.1\brave-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\zipkin2\zipkin\2.12.0\zipkin-2.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\reporter2\zipkin-reporter\2.7.14\zipkin-reporter-2.7.14.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-context-log4j2\5.6.1\brave-context-log4j2-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-web\5.6.1\brave-instrumentation-spring-web-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-http\5.6.1\brave-instrumentation-http-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-rabbit\5.6.1\brave-instrumentation-spring-rabbit-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-kafka-clients\5.6.1\brave-instrumentation-kafka-clients-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-httpclient\5.6.1\brave-instrumentation-httpclient-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-httpasyncclient\5.6.1\brave-instrumentation-httpasyncclient-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-webmvc\5.6.1\brave-instrumentation-spring-webmvc-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-servlet\5.6.1\brave-instrumentation-servlet-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-actuator\2.0.2.RELEASE\spring-boot-starter-actuator-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.0.2.RELEASE\spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-actuator\2.0.2.RELEASE\spring-boot-actuator-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\8.5.55\tomcat-embed-core-8.5.55.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\tomcat-annotations-api\8.5.55\tomcat-annotations-api-8.5.55.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\retry\spring-retry\1.2.1.RELEASE\spring-retry-1.2.1.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-afterburner\2.12.0\jackson-module-afterburner-2.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-registration-packet-manager\1.1.5.3\kernel-registration-packet-manager-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-keygenerator-bouncycastle\1.1.5.3\kernel-keygenerator-bouncycastle-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-cbeffutil-api\1.1.5.3\kernel-cbeffutil-api-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-logger-logback\1.1.5.3\kernel-logger-logback-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\net\logstash\logback\logstash-logback-encoder\6.4\logstash-logback-encoder-6.4.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-access\1.2.3\logback-access-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-crypto-jce\1.1.5.3\kernel-crypto-jce-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\bitbucket\b_c\jose4j\0.6.5\jose4j-0.6.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-json4j-provider\1.1.2-incubating\wink-json4j-provider-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-common\1.1.2-incubating\wink-common-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.1.1\jaxb-impl-2.2.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-annotation_1.1_spec\1.0\geronimo-annotation_1.1_spec-1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-json4j\1.1.2-incubating\wink-json4j-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\checkerframework\checker-qual\2.9.0\checker-qual-2.9.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-broker\5.15.9\activemq-broker-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-client\5.15.9\activemq-client-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-jms_1.1_spec\1.1.1\geronimo-jms_1.1_spec-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\fusesource\hawtbuf\hawtbuf\1.11\hawtbuf-1.11.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-j2ee-management_1.1_spec\1.0.1\geronimo-j2ee-management_1.1_spec-1.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-openwire-legacy\5.15.9\activemq-openwire-legacy-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\projectlombok\lombok\1.18.8\lombok-1.18.8.jar
\ No newline at end of file
diff --git a/apitest/.temp-MosipFunctionalTest-classpath-arg-1695652238739.txt b/apitest/.temp-MosipFunctionalTest-classpath-arg-1695652238739.txt
new file mode 100644
index 00000000000..0fc13dd5a9b
--- /dev/null
+++ b/apitest/.temp-MosipFunctionalTest-classpath-arg-1695652238739.txt
@@ -0,0 +1 @@
+-classpath D:\Mosip_Automation_Test\MOSIP_FUNCTIONAL_TESTS\mosip-functional-tests\automationtests\target\test-classes;D:\Mosip_Automation_Test\MOSIP_FUNCTIONAL_TESTS\mosip-functional-tests\automationtests\target\classes;C:\Users\Sohan.Dey\.m2\repository\com\opencsv\opencsv\4.1\opencsv-4.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-lang3\3.6\commons-lang3-3.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-text\1.1\commons-text-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\ibm\icu\icu4j\63.1\icu4j-63.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-admin-client\17.0.1\keycloak-admin-client-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-core\17.0.1\keycloak-core-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-common\17.0.1\keycloak-common-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-client\3.13.2.Final\resteasy-client-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\ws\rs\jboss-jaxrs-api_2.1_spec\2.0.1.Final\jboss-jaxrs-api_2.1_spec-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jaxrs\3.13.2.Final\resteasy-jaxrs-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\annotation\jboss-annotations-api_1.3_spec\2.0.1.Final\jboss-annotations-api_1.3_spec-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\activation\jakarta.activation\1.2.1\jakarta.activation-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\stephenc\jcip\jcip-annotations\1.0-1\jcip-annotations-1.0-1.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-multipart-provider\3.13.2.Final\resteasy-multipart-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\mail\jakarta.mail\1.6.5\jakarta.mail-1.6.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\james\apache-mime4j\0.6\apache-mime4j-0.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jackson2-provider\3.13.2.Final\resteasy-jackson2-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-json-provider\2.10.5\jackson-jaxrs-json-provider-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-base\2.10.5\jackson-jaxrs-base-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\json-patch\1.9\json-patch-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\jackson-coreutils\1.6\jackson-coreutils-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\msg-simple\1.1\msg-simple-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\btf\1.2\btf-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jaxb-provider\3.13.2.Final\resteasy-jaxb-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\xml\bind\jboss-jaxb-api_2.3_spec\2.0.0.Final\jboss-jaxb-api_2.3_spec-2.0.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\javassist\javassist\3.25.0-GA\javassist-3.25.0-GA.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jknack\handlebars\3.0.0\handlebars-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\antlr\antlr4-runtime\4.5.1-1\antlr4-runtime-4.5.1-1.jar;C:\Users\Sohan.Dey\.m2\repository\org\mozilla\rhino\1.7R4\rhino-1.7R4.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\slf4j-api\1.6.4\slf4j-api-1.6.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-collections4\4.3\commons-collections4-4.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\jsonwebtoken\jjwt\0.6.0\jjwt-0.6.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\flipkart\zjsonpatch\zjsonpatch\0.4.7\zjsonpatch-0.4.7.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk\1.11.368\aws-java-sdk-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dlm\1.11.368\aws-java-sdk-dlm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\jmespath-java\1.11.368\jmespath-java-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-macie\1.11.368\aws-java-sdk-macie-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-eks\1.11.368\aws-java-sdk-eks-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediatailor\1.11.368\aws-java-sdk-mediatailor-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-neptune\1.11.368\aws-java-sdk-neptune-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pi\1.11.368\aws-java-sdk-pi-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot1clickprojects\1.11.368\aws-java-sdk-iot1clickprojects-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot1clickdevices\1.11.368\aws-java-sdk-iot1clickdevices-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iotanalytics\1.11.368\aws-java-sdk-iotanalytics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-acmpca\1.11.368\aws-java-sdk-acmpca-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-secretsmanager\1.11.368\aws-java-sdk-secretsmanager-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-fms\1.11.368\aws-java-sdk-fms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-connect\1.11.368\aws-java-sdk-connect-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-transcribe\1.11.368\aws-java-sdk-transcribe-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-autoscalingplans\1.11.368\aws-java-sdk-autoscalingplans-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workmail\1.11.368\aws-java-sdk-workmail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servicediscovery\1.11.368\aws-java-sdk-servicediscovery-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloud9\1.11.368\aws-java-sdk-cloud9-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-serverlessapplicationrepository\1.11.368\aws-java-sdk-serverlessapplicationrepository-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-alexaforbusiness\1.11.368\aws-java-sdk-alexaforbusiness-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-resourcegroups\1.11.368\aws-java-sdk-resourcegroups-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-comprehend\1.11.368\aws-java-sdk-comprehend-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-translate\1.11.368\aws-java-sdk-translate-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sagemaker\1.11.368\aws-java-sdk-sagemaker-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iotjobsdataplane\1.11.368\aws-java-sdk-iotjobsdataplane-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sagemakerruntime\1.11.368\aws-java-sdk-sagemakerruntime-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kinesisvideo\1.11.368\aws-java-sdk-kinesisvideo-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec-http\4.1.17.Final\netty-codec-http-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec\4.1.17.Final\netty-codec-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-handler\4.1.17.Final\netty-handler-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-buffer\4.1.17.Final\netty-buffer-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-common\4.1.17.Final\netty-common-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport\4.1.17.Final\netty-transport-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-resolver\4.1.17.Final\netty-resolver-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-appsync\1.11.368\aws-java-sdk-appsync-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-guardduty\1.11.368\aws-java-sdk-guardduty-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mq\1.11.368\aws-java-sdk-mq-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediaconvert\1.11.368\aws-java-sdk-mediaconvert-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediastore\1.11.368\aws-java-sdk-mediastore-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediastoredata\1.11.368\aws-java-sdk-mediastoredata-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-medialive\1.11.368\aws-java-sdk-medialive-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediapackage\1.11.368\aws-java-sdk-mediapackage-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-costexplorer\1.11.368\aws-java-sdk-costexplorer-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pricing\1.11.368\aws-java-sdk-pricing-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mobile\1.11.368\aws-java-sdk-mobile-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudhsmv2\1.11.368\aws-java-sdk-cloudhsmv2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-glue\1.11.368\aws-java-sdk-glue-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-migrationhub\1.11.368\aws-java-sdk-migrationhub-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dax\1.11.368\aws-java-sdk-dax-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-greengrass\1.11.368\aws-java-sdk-greengrass-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-athena\1.11.368\aws-java-sdk-athena-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplaceentitlement\1.11.368\aws-java-sdk-marketplaceentitlement-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codestar\1.11.368\aws-java-sdk-codestar-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lexmodelbuilding\1.11.368\aws-java-sdk-lexmodelbuilding-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-resourcegroupstaggingapi\1.11.368\aws-java-sdk-resourcegroupstaggingapi-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pinpoint\1.11.368\aws-java-sdk-pinpoint-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-xray\1.11.368\aws-java-sdk-xray-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-opsworkscm\1.11.368\aws-java-sdk-opsworkscm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-support\1.11.368\aws-java-sdk-support-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-simpledb\1.11.368\aws-java-sdk-simpledb-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servicecatalog\1.11.368\aws-java-sdk-servicecatalog-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servermigration\1.11.368\aws-java-sdk-servermigration-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-simpleworkflow\1.11.368\aws-java-sdk-simpleworkflow-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-storagegateway\1.11.368\aws-java-sdk-storagegateway-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-route53\1.11.368\aws-java-sdk-route53-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-s3\1.11.368\aws-java-sdk-s3-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-importexport\1.11.368\aws-java-sdk-importexport-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sts\1.11.368\aws-java-sdk-sts-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sqs\1.11.368\aws-java-sdk-sqs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-rds\1.11.368\aws-java-sdk-rds-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-redshift\1.11.368\aws-java-sdk-redshift-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticbeanstalk\1.11.368\aws-java-sdk-elasticbeanstalk-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-glacier\1.11.368\aws-java-sdk-glacier-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iam\1.11.368\aws-java-sdk-iam-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-datapipeline\1.11.368\aws-java-sdk-datapipeline-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticloadbalancing\1.11.368\aws-java-sdk-elasticloadbalancing-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticloadbalancingv2\1.11.368\aws-java-sdk-elasticloadbalancingv2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-emr\1.11.368\aws-java-sdk-emr-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticache\1.11.368\aws-java-sdk-elasticache-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elastictranscoder\1.11.368\aws-java-sdk-elastictranscoder-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ec2\1.11.368\aws-java-sdk-ec2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dynamodb\1.11.368\aws-java-sdk-dynamodb-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sns\1.11.368\aws-java-sdk-sns-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-budgets\1.11.368\aws-java-sdk-budgets-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudtrail\1.11.368\aws-java-sdk-cloudtrail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudwatch\1.11.368\aws-java-sdk-cloudwatch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-logs\1.11.368\aws-java-sdk-logs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-events\1.11.368\aws-java-sdk-events-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitoidentity\1.11.368\aws-java-sdk-cognitoidentity-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitosync\1.11.368\aws-java-sdk-cognitosync-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-directconnect\1.11.368\aws-java-sdk-directconnect-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudformation\1.11.368\aws-java-sdk-cloudformation-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudfront\1.11.368\aws-java-sdk-cloudfront-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-clouddirectory\1.11.368\aws-java-sdk-clouddirectory-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kinesis\1.11.368\aws-java-sdk-kinesis-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-opsworks\1.11.368\aws-java-sdk-opsworks-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ses\1.11.368\aws-java-sdk-ses-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-autoscaling\1.11.368\aws-java-sdk-autoscaling-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudsearch\1.11.368\aws-java-sdk-cloudsearch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudwatchmetrics\1.11.368\aws-java-sdk-cloudwatchmetrics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codedeploy\1.11.368\aws-java-sdk-codedeploy-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codepipeline\1.11.368\aws-java-sdk-codepipeline-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kms\1.11.368\aws-java-sdk-kms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-config\1.11.368\aws-java-sdk-config-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lambda\1.11.368\aws-java-sdk-lambda-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ecs\1.11.368\aws-java-sdk-ecs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ecr\1.11.368\aws-java-sdk-ecr-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudhsm\1.11.368\aws-java-sdk-cloudhsm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ssm\1.11.368\aws-java-sdk-ssm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workspaces\1.11.368\aws-java-sdk-workspaces-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-machinelearning\1.11.368\aws-java-sdk-machinelearning-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-directory\1.11.368\aws-java-sdk-directory-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-efs\1.11.368\aws-java-sdk-efs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codecommit\1.11.368\aws-java-sdk-codecommit-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-devicefarm\1.11.368\aws-java-sdk-devicefarm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticsearch\1.11.368\aws-java-sdk-elasticsearch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-waf\1.11.368\aws-java-sdk-waf-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplacecommerceanalytics\1.11.368\aws-java-sdk-marketplacecommerceanalytics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-inspector\1.11.368\aws-java-sdk-inspector-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot\1.11.368\aws-java-sdk-iot-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-api-gateway\1.11.368\aws-java-sdk-api-gateway-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-acm\1.11.368\aws-java-sdk-acm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-gamelift\1.11.368\aws-java-sdk-gamelift-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dms\1.11.368\aws-java-sdk-dms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplacemeteringservice\1.11.368\aws-java-sdk-marketplacemeteringservice-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitoidp\1.11.368\aws-java-sdk-cognitoidp-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-discovery\1.11.368\aws-java-sdk-discovery-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-applicationautoscaling\1.11.368\aws-java-sdk-applicationautoscaling-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-snowball\1.11.368\aws-java-sdk-snowball-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-rekognition\1.11.368\aws-java-sdk-rekognition-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-polly\1.11.368\aws-java-sdk-polly-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lightsail\1.11.368\aws-java-sdk-lightsail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-stepfunctions\1.11.368\aws-java-sdk-stepfunctions-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-health\1.11.368\aws-java-sdk-health-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-costandusagereport\1.11.368\aws-java-sdk-costandusagereport-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codebuild\1.11.368\aws-java-sdk-codebuild-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-appstream\1.11.368\aws-java-sdk-appstream-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-shield\1.11.368\aws-java-sdk-shield-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-batch\1.11.368\aws-java-sdk-batch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lex\1.11.368\aws-java-sdk-lex-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mechanicalturkrequester\1.11.368\aws-java-sdk-mechanicalturkrequester-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-organizations\1.11.368\aws-java-sdk-organizations-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workdocs\1.11.368\aws-java-sdk-workdocs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-core\1.11.368\aws-java-sdk-core-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\software\amazon\ion\ion-java\1.0.2\ion-java-1.0.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-cbor\2.6.7\jackson-dataformat-cbor-2.6.7.jar;C:\Users\Sohan.Dey\.m2\repository\joda-time\joda-time\2.8.1\joda-time-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-models\1.11.368\aws-java-sdk-models-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-swf-libraries\1.11.22\aws-java-sdk-swf-libraries-1.11.22.jar;C:\Users\Sohan.Dey\.m2\repository\com\aventstack\extentreports\3.0.0\extentreports-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\freemarker\freemarker\2.3.23\freemarker-2.3.23.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\mongodb-driver\3.3.0\mongodb-driver-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\bson\3.3.0\bson-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\mongodb-driver-core\3.3.0\mongodb-driver-core-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpmime\4.5.2\httpmime-4.5.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\relevantcodes\extentreports\2.41.2\extentreports-2.41.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jsoup\jsoup\1.8.3\jsoup-1.8.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\xerial\sqlite-jdbc\3.8.11.1\sqlite-jdbc-3.8.11.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\Sohan.Dey\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-model\3.3.9\maven-model-3.3.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-utils\3.0.22\plexus-utils-3.0.22.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\rest-assured\3.0.7\rest-assured-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy\2.4.12\groovy-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.12\groovy-xml-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\json-path\3.0.7\json-path-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy-json\2.4.12\groovy-json-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\rest-assured-common\3.0.7\rest-assured-common-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\xml-path\3.0.7\xml-path-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\testng\testng\6.11\testng-6.11.jar;C:\Users\Sohan.Dey\.m2\repository\com\beust\jcommander\1.64\jcommander-1.64.jar;C:\Users\Sohan.Dey\.m2\repository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;C:\Users\Sohan.Dey\.m2\repository\org\zeroturnaround\zt-zip\1.13\zt-zip-1.13.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.10.1\jackson-core-2.10.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.5\jackson-annotations-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.10.5\jackson-databind-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-xml\2.9.5\jackson-dataformat-xml-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-jaxb-annotations\2.9.5\jackson-module-jaxb-annotations-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\woodstox\stax2-api\3.1.4\stax2-api-3.1.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\woodstox\woodstox-core\5.0.3\woodstox-core-5.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\json\json\20180130\json-20180130.jar;C:\Users\Sohan.Dey\.m2\repository\com\googlecode\json-simple\json-simple\1.1.1\json-simple-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\junit\junit\4.10\junit-4.10.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\gson\gson\2.8.4\gson-2.8.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\plugins\maven-assembly-plugin\3.1.0\maven-assembly-plugin-3.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-plugin-api\3.0\maven-plugin-api-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-inject-plexus\1.4.2\sisu-inject-plexus-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-inject-bean\1.4.2\sisu-inject-bean-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-guice\2.1.7\sisu-guice-2.1.7-noaop.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-core\3.0\maven-core-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-settings\3.0\maven-settings-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-settings-builder\3.0\maven-settings-builder-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-repository-metadata\3.0\maven-repository-metadata-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-model-builder\3.0\maven-model-builder-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-aether-provider\3.0\maven-aether-provider-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-impl\1.7\aether-impl-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-spi\1.7\aether-spi-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-api\1.7\aether-api-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-util\1.7\aether-util-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-classworlds\2.2.3\plexus-classworlds-2.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-component-annotations\1.5.5\plexus-component-annotations-1.5.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-sec-dispatcher\1.3\plexus-sec-dispatcher-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-cipher\1.4\plexus-cipher-1.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-artifact\3.0\maven-artifact-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-common-artifact-filters\3.0.1\maven-common-artifact-filters-3.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-shared-utils\3.1.0\maven-shared-utils-3.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-artifact-transfer\0.9.0\maven-artifact-transfer-0.9.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-interpolation\1.24\plexus-interpolation-1.24.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-archiver\3.5\plexus-archiver-3.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-compress\1.14\commons-compress-1.14.jar;C:\Users\Sohan.Dey\.m2\repository\org\iq80\snappy\snappy\0.4\snappy-0.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\tukaani\xz\1.6\xz-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\file-management\3.0.0\file-management-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-shared-io\3.0.0\maven-shared-io-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-compat\3.0\maven-compat-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\wagon\wagon-provider-api\2.10\wagon-provider-api-2.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-filtering\3.1.1\maven-filtering-3.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-build-api\0.0.7\plexus-build-api-0.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-io\3.0.0\plexus-io-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-archiver\3.2.0\maven-archiver-3.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\hibernate-core\5.4.2.Final\hibernate-core-5.4.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\persistence\javax.persistence-api\2.2\javax.persistence-api-2.2.jar;C:\Users\Sohan.Dey\.m2\repository\net\bytebuddy\byte-buddy\1.9.10\byte-buddy-1.9.10.jar;C:\Users\Sohan.Dey\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.2_spec\1.1.1.Final\jboss-transaction-api_1.2_spec-1.1.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\jandex\2.0.5.Final\jandex-2.0.5.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\classmate\1.3.4\classmate-1.3.4.jar;C:\Users\Sohan.Dey\.m2\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\dom4j\dom4j\2.1.1\dom4j-2.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.1.0.Final\hibernate-commons-annotations-5.1.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.1\jaxb-runtime-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\glassfish\jaxb\txw2\2.3.1\txw2-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.7\istack-commons-runtime-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\jvnet\staxex\stax-ex\1.8\stax-ex-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\xml\fastinfoset\FastInfoset\1.2.15\FastInfoset-1.2.15.jar;C:\Users\Sohan.Dey\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.5\jackson-datatype-jsr310-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\postgresql\postgresql\42.2.2\postgresql-42.2.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\slf4j-log4j12\1.6.2\slf4j-log4j12-1.6.2.jar;C:\Users\Sohan.Dey\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\logging\log4j\log4j-api\2.11.1\log4j-api-2.11.1.jar;C:\Users\Sohan.Dey\.m2\repository\net\lingala\zip4j\zip4j\1.3.2\zip4j-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpclient\4.5.3\httpclient-4.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpcore\4.4.6\httpcore-4.4.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-client\2.8.1\hadoop-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-common\2.8.1\hadoop-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-cli\commons-cli\1.2\commons-cli-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\xmlenc\xmlenc\0.52\xmlenc-0.52.jar;C:\Users\Sohan.Dey\.m2\repository\commons-net\commons-net\3.1\commons-net-3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\mortbay\jetty\jetty-sslengine\6.1.26\jetty-sslengine-6.1.26.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-configuration\commons-configuration\1.6\commons-configuration-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\commons-digester\commons-digester\1.8\commons-digester-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.0\commons-beanutils-core-1.8.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\avro\avro\1.7.4\avro-1.7.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\xerial\snappy\snappy-java\1.0.4.1\snappy-java-1.0.4.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\protobuf\protobuf-java\2.5.0\protobuf-java-2.5.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-auth\2.8.1\hadoop-auth-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\server\apacheds-kerberos-codec\2.0.0-M15\apacheds-kerberos-codec-2.0.0-M15.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\server\apacheds-i18n\2.0.0-M15\apacheds-i18n-2.0.0-M15.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\api\api-asn1-api\1.0.0-M20\api-asn1-api-1.0.0-M20.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\api\api-util\1.0.0-M20\api-util-1.0.0-M20.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-framework\2.7.1\curator-framework-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-client\2.7.1\curator-client-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-recipes\2.7.1\curator-recipes-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\findbugs\jsr305\3.0.0\jsr305-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\htrace\htrace-core4\4.0.1-incubating\htrace-core4-4.0.1-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\zookeeper\zookeeper\3.4.6\zookeeper-3.4.6.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty\3.7.0.Final\netty-3.7.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-hdfs\2.8.1\hadoop-hdfs-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-hdfs-client\2.8.1\hadoop-hdfs-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\squareup\okhttp\okhttp\2.4.0\okhttp-2.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\squareup\okio\okio\1.4.0\okio-1.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-app\2.8.1\hadoop-mapreduce-client-app-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-common\2.8.1\hadoop-mapreduce-client-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-client\2.8.1\hadoop-yarn-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-server-common\2.8.1\hadoop-yarn-server-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-shuffle\2.8.1\hadoop-mapreduce-client-shuffle-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\fusesource\leveldbjni\leveldbjni-all\1.8\leveldbjni-all-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-api\2.8.1\hadoop-yarn-api-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-core\2.8.1\hadoop-mapreduce-client-core-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-common\2.8.1\hadoop-yarn-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\mortbay\jetty\jetty-util\6.1.26\jetty-util-6.1.26.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\jersey\jersey-core\1.9\jersey-core-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\jersey\jersey-client\1.9\jersey-client-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-xc\1.9.13\jackson-xc-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-jobclient\2.8.1\hadoop-mapreduce-client-jobclient-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-annotations\2.8.1\hadoop-annotations-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.56\bcprov-jdk15on-1.56.jar;C:\Users\Sohan.Dey\.m2\repository\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;C:\Users\Sohan.Dey\.m2\repository\commons-io\commons-io\2.6\commons-io-2.6.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\zxing\core\3.3.3\core-3.3.3.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\zxing\javase\2.0\javase-2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\html2pdf\2.0.0\html2pdf-2.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\forms\7.1.0\forms-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\kernel\7.1.0\kernel-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\io\7.1.0\io-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\layout\7.1.0\layout-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\itextpdf\5.5.13\itextpdf-5.5.13.jar;C:\Users\Sohan.Dey\.m2\repository\javax\mail\javax.mail-api\1.6.2\javax.mail-api-1.6.2.jar;D:\Mosip_Automation_Test\MOSIP_FUNCTIONAL_TESTS\mosip-functional-tests\authentication-demo-service\target\classes;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.0.2.RELEASE\spring-boot-starter-web-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.0.2.RELEASE\spring-boot-starter-json-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.5\jackson-datatype-jdk8-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.5\jackson-module-parameter-names-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.0.2.RELEASE\spring-boot-starter-tomcat-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\8.5.31\tomcat-embed-el-8.5.31.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\8.5.31\tomcat-embed-websocket-8.5.31.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\validator\hibernate-validator\6.0.9.Final\hibernate-validator-6.0.9.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-web\5.0.6.RELEASE\spring-web-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-webmvc\5.0.6.RELEASE\spring-webmvc-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-expression\5.0.6.RELEASE\spring-expression-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.0.2.RELEASE\spring-boot-starter-test-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-test\2.0.2.RELEASE\spring-boot-test-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.0.2.RELEASE\spring-boot-test-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\assertj\assertj-core\3.9.1\assertj-core-3.9.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-core\5.0.6.RELEASE\spring-core-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-jcl\5.0.6.RELEASE\spring-jcl-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-test\5.0.6.RELEASE\spring-test-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\xmlunit\xmlunit-core\2.5.1\xmlunit-core-2.5.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\ws\rs\javax.ws.rs-api\2.0\javax.ws.rs-api-2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\authentication\authentication-core\1.2.0.1-B3\authentication-core-1.2.0.1-B3.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-cache\2.0.2.RELEASE\spring-boot-starter-cache-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-context-support\5.0.6.RELEASE\spring-context-support-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\machinezoo\sourceafis\sourceafis\3.4.0\sourceafis-3.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\com\machinezoo\noexception\noexception\1.3.2\noexception-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\mhshams\jnbis\2.0.1\jnbis-2.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\sanselan\sanselan\0.97-incubator\sanselan-0.97-incubator.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\idrepository\id-repository-core\1.2.0.1-B1\id-repository-core-1.2.0.1-B1.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-biosdk-provider\1.2.0.1-B1\kernel-biosdk-provider-1.2.0.1-B1.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-biometrics-api\1.2.0.1-B1\kernel-biometrics-api-1.2.0.1-B1.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-demographics-api\1.2.0.1-B1\kernel-demographics-api-1.2.0.1-B1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-webflux\2.0.2.RELEASE\spring-boot-starter-webflux-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-reactor-netty\2.0.2.RELEASE\spring-boot-starter-reactor-netty-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\projectreactor\ipc\reactor-netty\0.7.7.RELEASE\reactor-netty-0.7.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-handler-proxy\4.1.24.Final\netty-handler-proxy-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec-socks\4.1.24.Final\netty-codec-socks-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport-native-epoll\4.1.24.Final\netty-transport-native-epoll-4.1.24.Final-linux-x86_64.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.24.Final\netty-transport-native-unix-common-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-webflux\5.0.6.RELEASE\spring-webflux-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\synchronoss\cloud\nio-multipart-parser\1.1.0\nio-multipart-parser-1.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\synchronoss\cloud\nio-stream-storage\1.1.3\nio-stream-storage-1.1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-ui\1.5.10\springdoc-openapi-ui-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-webmvc-core\1.5.10\springdoc-openapi-webmvc-core-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-common\1.5.10\springdoc-openapi-common-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-models\2.1.10\swagger-models-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-annotations\2.1.10\swagger-annotations-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-integration\2.1.10\swagger-integration-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-core\2.1.10\swagger-core-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.2\jakarta.xml.bind-api-2.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.1\jakarta.activation-api-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.12.1\jackson-dataformat-yaml-2.12.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\github\classgraph\classgraph\4.8.69\classgraph-4.8.69.jar;C:\Users\Sohan.Dey\.m2\repository\org\webjars\swagger-ui\3.51.1\swagger-ui-3.51.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\webjars\webjars-locator-core\0.45\webjars-locator-core-0.45.jar;C:\Users\Sohan.Dey\.m2\repository\commons-fileupload\commons-fileupload\1.4\commons-fileupload-1.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\mockito\mockito-core\2.23.4\mockito-core-2.23.4.jar;C:\Users\Sohan.Dey\.m2\repository\net\bytebuddy\byte-buddy-agent\1.9.3\byte-buddy-agent-1.9.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-websubclient-api\1.2.0.1-SNAPSHOT\kernel-websubclient-api-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-aspects\5.0.6.RELEASE\spring-aspects-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\aspectj\aspectjweaver\1.8.13\aspectjweaver-1.8.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\owasp\encoder\encoder\1.2.3\encoder-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-actuator\2.0.2.RELEASE\spring-boot-starter-actuator-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.0.2.RELEASE\spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-actuator\2.0.2.RELEASE\spring-boot-actuator-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\tensorflow\1.12.0\tensorflow-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\libtensorflow\1.12.0\libtensorflow-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\libtensorflow_jni\1.12.0\libtensorflow_jni-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-templatemanager-velocity\1.2.0.1-SNAPSHOT\kernel-templatemanager-velocity-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter-config\2.0.0.RELEASE\spring-cloud-starter-config-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter\2.0.0.RELEASE\spring-cloud-starter-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-context\2.0.0.RELEASE\spring-cloud-context-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-crypto\5.0.6.RELEASE\spring-security-crypto-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-commons\2.0.0.RELEASE\spring-cloud-commons-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-rsa\1.0.5.RELEASE\spring-security-rsa-1.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-config-client\2.0.0.RELEASE\spring-cloud-config-client-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jai-imageio\jai-imageio-jpeg2000\1.3.0\jai-imageio-jpeg2000-1.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jai-imageio\jai-imageio-core\1.3.0\jai-imageio-core-1.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-keymanager-service\1.2.0.1-SNAPSHOT\kernel-keymanager-service-1.2.0.1-SNAPSHOT-lib.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-test\5.0.5.RELEASE\spring-security-test-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-core\5.0.5.RELEASE\spring-security-core-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-pdfgenerator-itext\1.2.0.1-SNAPSHOT\kernel-pdfgenerator-itext-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\barcodes\7.1.0\barcodes-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\font-asian\7.1.0\font-asian-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\hyph\7.1.0\hyph-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\pdfa\7.1.0\pdfa-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\sign\7.1.0\sign-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\tool\xmlworker\5.5.13\xmlworker-5.5.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.66\bcpkix-jdk15on-1.66.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\2.0.2.RELEASE\spring-boot-starter-data-jpa-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.0.2.RELEASE\spring-boot-starter-jdbc-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\zaxxer\HikariCP\2.7.9\HikariCP-2.7.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\h2database\h2\1.4.197\h2-1.4.197.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\microsoft\TSS.Java\0.3.0\TSS.Java-0.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\cache2k\cache2k-api\2.4.1.Final\cache2k-api-2.4.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\cache2k\cache2k-core\2.4.1.Final\cache2k-core-2.4.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\nimbusds\nimbus-jose-jwt\9.14\nimbus-jose-jwt-9.14.jar;C:\Users\Sohan.Dey\.m2\repository\io\projectreactor\reactor-core\3.1.7.RELEASE\reactor-core-3.1.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-core\1.2.0.1-B1\kernel-core-1.2.0.1-B1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter\2.0.2.RELEASE\spring-boot-starter-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot\2.0.2.RELEASE\spring-boot-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.0.2.RELEASE\spring-boot-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.0.2.RELEASE\spring-boot-starter-logging-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.10.0\log4j-to-slf4j-2.10.0.jar;C:\Users\Sohan.Dey\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\data\spring-data-jpa\2.0.7.RELEASE\spring-data-jpa-2.0.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\data\spring-data-commons\2.0.7.RELEASE\spring-data-commons-2.0.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-orm\5.0.6.RELEASE\spring-orm-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-jdbc\5.0.6.RELEASE\spring-jdbc-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-context\5.0.6.RELEASE\spring-context-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-aop\5.0.6.RELEASE\spring-aop-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-tx\5.0.6.RELEASE\spring-tx-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-beans\5.0.6.RELEASE\spring-beans-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\aspectj\aspectjrt\1.8.12\aspectjrt-1.8.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-security\2.0.2.RELEASE\spring-boot-starter-security-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-config\5.0.5.RELEASE\spring-security-config-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-web\5.0.5.RELEASE\spring-security-web-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\javax\transaction\javax.transaction-api\1.3\javax.transaction-api-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\javax\interceptor\javax.interceptor-api\1.2\javax.interceptor-api-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\findbugs\annotations\3.0.1\annotations-3.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\net\jcip\jcip-annotations\1.0\jcip-annotations-1.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\swagger-models\1.5.21\swagger-models-1.5.21.jar;C:\Users\Sohan.Dey\.m2\repository\com\auth0\java-jwt\3.8.1\java-jwt-3.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\micrometer\micrometer-core\1.4.2\micrometer-core-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\hdrhistogram\HdrHistogram\2.1.12\HdrHistogram-2.1.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\micrometer\micrometer-registry-prometheus\1.4.2\micrometer-registry-prometheus-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\prometheus\simpleclient_common\0.8.1\simpleclient_common-0.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\prometheus\simpleclient\0.8.1\simpleclient-0.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;C:\Users\Sohan.Dey\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter-sleuth\2.0.4.RELEASE\spring-cloud-starter-sleuth-2.0.4.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.0.9.RELEASE\spring-boot-starter-aop-2.0.9.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-sleuth-core\2.0.4.RELEASE\spring-cloud-sleuth-core-2.0.4.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave\5.6.1\brave-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\zipkin2\zipkin\2.12.0\zipkin-2.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\reporter2\zipkin-reporter\2.7.14\zipkin-reporter-2.7.14.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-context-log4j2\5.6.1\brave-context-log4j2-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-web\5.6.1\brave-instrumentation-spring-web-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-http\5.6.1\brave-instrumentation-http-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-rabbit\5.6.1\brave-instrumentation-spring-rabbit-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-kafka-clients\5.6.1\brave-instrumentation-kafka-clients-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-httpclient\5.6.1\brave-instrumentation-httpclient-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-httpasyncclient\5.6.1\brave-instrumentation-httpasyncclient-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-webmvc\5.6.1\brave-instrumentation-spring-webmvc-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-servlet\5.6.1\brave-instrumentation-servlet-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\8.5.55\tomcat-embed-core-8.5.55.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\tomcat-annotations-api\8.5.55\tomcat-annotations-api-8.5.55.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\retry\spring-retry\1.2.1.RELEASE\spring-retry-1.2.1.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-afterburner\2.12.0\jackson-module-afterburner-2.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-registration-packet-manager\1.1.5.3\kernel-registration-packet-manager-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-keygenerator-bouncycastle\1.1.5.3\kernel-keygenerator-bouncycastle-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-cbeffutil-api\1.1.5.3\kernel-cbeffutil-api-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-logger-logback\1.1.5.3\kernel-logger-logback-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\net\logstash\logback\logstash-logback-encoder\6.4\logstash-logback-encoder-6.4.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-access\1.2.3\logback-access-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-crypto-jce\1.1.5.3\kernel-crypto-jce-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\bitbucket\b_c\jose4j\0.6.5\jose4j-0.6.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-json4j-provider\1.1.2-incubating\wink-json4j-provider-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-common\1.1.2-incubating\wink-common-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.1.1\jaxb-impl-2.2.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-annotation_1.1_spec\1.0\geronimo-annotation_1.1_spec-1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-json4j\1.1.2-incubating\wink-json4j-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\checkerframework\checker-qual\2.9.0\checker-qual-2.9.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-broker\5.15.9\activemq-broker-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-client\5.15.9\activemq-client-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-jms_1.1_spec\1.1.1\geronimo-jms_1.1_spec-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\fusesource\hawtbuf\hawtbuf\1.11\hawtbuf-1.11.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-j2ee-management_1.1_spec\1.0.1\geronimo-j2ee-management_1.1_spec-1.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-openwire-legacy\5.15.9\activemq-openwire-legacy-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\projectlombok\lombok\1.18.8\lombok-1.18.8.jar
\ No newline at end of file
diff --git a/apitest/.temp-New_configuration (1)-classpath-arg-1658840665646.txt b/apitest/.temp-New_configuration (1)-classpath-arg-1658840665646.txt
new file mode 100644
index 00000000000..1aa22a4a915
--- /dev/null
+++ b/apitest/.temp-New_configuration (1)-classpath-arg-1658840665646.txt
@@ -0,0 +1 @@
+-classpath D:\Mosip_Automation_Test\Docker_Test\mosip-functional-tests\automationtests\target\test-classes;D:\Mosip_Automation_Test\Docker_Test\mosip-functional-tests\automationtests\target\classes;C:\Users\Sohan.Dey\.m2\repository\com\opencsv\opencsv\4.1\opencsv-4.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-lang3\3.6\commons-lang3-3.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-text\1.1\commons-text-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\ibm\icu\icu4j\63.1\icu4j-63.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-admin-client\17.0.1\keycloak-admin-client-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-core\17.0.1\keycloak-core-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\keycloak\keycloak-common\17.0.1\keycloak-common-17.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-client\3.13.2.Final\resteasy-client-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\ws\rs\jboss-jaxrs-api_2.1_spec\2.0.1.Final\jboss-jaxrs-api_2.1_spec-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jaxrs\3.13.2.Final\resteasy-jaxrs-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\annotation\jboss-annotations-api_1.3_spec\2.0.1.Final\jboss-annotations-api_1.3_spec-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\activation\jakarta.activation\1.2.1\jakarta.activation-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\stephenc\jcip\jcip-annotations\1.0-1\jcip-annotations-1.0-1.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-multipart-provider\3.13.2.Final\resteasy-multipart-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\mail\jakarta.mail\1.6.5\jakarta.mail-1.6.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\james\apache-mime4j\0.6\apache-mime4j-0.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jackson2-provider\3.13.2.Final\resteasy-jackson2-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-json-provider\2.10.5\jackson-jaxrs-json-provider-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-base\2.10.5\jackson-jaxrs-base-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\json-patch\1.9\json-patch-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\jackson-coreutils\1.6\jackson-coreutils-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\msg-simple\1.1\msg-simple-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\fge\btf\1.2\btf-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\resteasy\resteasy-jaxb-provider\3.13.2.Final\resteasy-jaxb-provider-3.13.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\xml\bind\jboss-jaxb-api_2.3_spec\2.0.0.Final\jboss-jaxb-api_2.3_spec-2.0.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\javassist\javassist\3.25.0-GA\javassist-3.25.0-GA.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jknack\handlebars\3.0.0\handlebars-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\antlr\antlr4-runtime\4.5.1-1\antlr4-runtime-4.5.1-1.jar;C:\Users\Sohan.Dey\.m2\repository\org\mozilla\rhino\1.7R4\rhino-1.7R4.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\slf4j-api\1.6.4\slf4j-api-1.6.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-collections4\4.3\commons-collections4-4.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\jsonwebtoken\jjwt\0.6.0\jjwt-0.6.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\flipkart\zjsonpatch\zjsonpatch\0.4.7\zjsonpatch-0.4.7.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk\1.11.368\aws-java-sdk-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dlm\1.11.368\aws-java-sdk-dlm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\jmespath-java\1.11.368\jmespath-java-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-macie\1.11.368\aws-java-sdk-macie-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-eks\1.11.368\aws-java-sdk-eks-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediatailor\1.11.368\aws-java-sdk-mediatailor-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-neptune\1.11.368\aws-java-sdk-neptune-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pi\1.11.368\aws-java-sdk-pi-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot1clickprojects\1.11.368\aws-java-sdk-iot1clickprojects-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot1clickdevices\1.11.368\aws-java-sdk-iot1clickdevices-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iotanalytics\1.11.368\aws-java-sdk-iotanalytics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-acmpca\1.11.368\aws-java-sdk-acmpca-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-secretsmanager\1.11.368\aws-java-sdk-secretsmanager-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-fms\1.11.368\aws-java-sdk-fms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-connect\1.11.368\aws-java-sdk-connect-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-transcribe\1.11.368\aws-java-sdk-transcribe-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-autoscalingplans\1.11.368\aws-java-sdk-autoscalingplans-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workmail\1.11.368\aws-java-sdk-workmail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servicediscovery\1.11.368\aws-java-sdk-servicediscovery-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloud9\1.11.368\aws-java-sdk-cloud9-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-serverlessapplicationrepository\1.11.368\aws-java-sdk-serverlessapplicationrepository-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-alexaforbusiness\1.11.368\aws-java-sdk-alexaforbusiness-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-resourcegroups\1.11.368\aws-java-sdk-resourcegroups-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-comprehend\1.11.368\aws-java-sdk-comprehend-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-translate\1.11.368\aws-java-sdk-translate-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sagemaker\1.11.368\aws-java-sdk-sagemaker-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iotjobsdataplane\1.11.368\aws-java-sdk-iotjobsdataplane-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sagemakerruntime\1.11.368\aws-java-sdk-sagemakerruntime-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kinesisvideo\1.11.368\aws-java-sdk-kinesisvideo-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec-http\4.1.17.Final\netty-codec-http-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec\4.1.17.Final\netty-codec-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-handler\4.1.17.Final\netty-handler-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-buffer\4.1.17.Final\netty-buffer-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-common\4.1.17.Final\netty-common-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport\4.1.17.Final\netty-transport-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-resolver\4.1.17.Final\netty-resolver-4.1.17.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-appsync\1.11.368\aws-java-sdk-appsync-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-guardduty\1.11.368\aws-java-sdk-guardduty-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mq\1.11.368\aws-java-sdk-mq-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediaconvert\1.11.368\aws-java-sdk-mediaconvert-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediastore\1.11.368\aws-java-sdk-mediastore-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediastoredata\1.11.368\aws-java-sdk-mediastoredata-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-medialive\1.11.368\aws-java-sdk-medialive-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mediapackage\1.11.368\aws-java-sdk-mediapackage-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-costexplorer\1.11.368\aws-java-sdk-costexplorer-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pricing\1.11.368\aws-java-sdk-pricing-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mobile\1.11.368\aws-java-sdk-mobile-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudhsmv2\1.11.368\aws-java-sdk-cloudhsmv2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-glue\1.11.368\aws-java-sdk-glue-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-migrationhub\1.11.368\aws-java-sdk-migrationhub-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dax\1.11.368\aws-java-sdk-dax-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-greengrass\1.11.368\aws-java-sdk-greengrass-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-athena\1.11.368\aws-java-sdk-athena-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplaceentitlement\1.11.368\aws-java-sdk-marketplaceentitlement-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codestar\1.11.368\aws-java-sdk-codestar-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lexmodelbuilding\1.11.368\aws-java-sdk-lexmodelbuilding-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-resourcegroupstaggingapi\1.11.368\aws-java-sdk-resourcegroupstaggingapi-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-pinpoint\1.11.368\aws-java-sdk-pinpoint-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-xray\1.11.368\aws-java-sdk-xray-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-opsworkscm\1.11.368\aws-java-sdk-opsworkscm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-support\1.11.368\aws-java-sdk-support-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-simpledb\1.11.368\aws-java-sdk-simpledb-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servicecatalog\1.11.368\aws-java-sdk-servicecatalog-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-servermigration\1.11.368\aws-java-sdk-servermigration-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-simpleworkflow\1.11.368\aws-java-sdk-simpleworkflow-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-storagegateway\1.11.368\aws-java-sdk-storagegateway-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-route53\1.11.368\aws-java-sdk-route53-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-s3\1.11.368\aws-java-sdk-s3-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-importexport\1.11.368\aws-java-sdk-importexport-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sts\1.11.368\aws-java-sdk-sts-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sqs\1.11.368\aws-java-sdk-sqs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-rds\1.11.368\aws-java-sdk-rds-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-redshift\1.11.368\aws-java-sdk-redshift-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticbeanstalk\1.11.368\aws-java-sdk-elasticbeanstalk-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-glacier\1.11.368\aws-java-sdk-glacier-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iam\1.11.368\aws-java-sdk-iam-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-datapipeline\1.11.368\aws-java-sdk-datapipeline-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticloadbalancing\1.11.368\aws-java-sdk-elasticloadbalancing-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticloadbalancingv2\1.11.368\aws-java-sdk-elasticloadbalancingv2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-emr\1.11.368\aws-java-sdk-emr-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticache\1.11.368\aws-java-sdk-elasticache-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elastictranscoder\1.11.368\aws-java-sdk-elastictranscoder-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ec2\1.11.368\aws-java-sdk-ec2-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dynamodb\1.11.368\aws-java-sdk-dynamodb-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-sns\1.11.368\aws-java-sdk-sns-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-budgets\1.11.368\aws-java-sdk-budgets-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudtrail\1.11.368\aws-java-sdk-cloudtrail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudwatch\1.11.368\aws-java-sdk-cloudwatch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-logs\1.11.368\aws-java-sdk-logs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-events\1.11.368\aws-java-sdk-events-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitoidentity\1.11.368\aws-java-sdk-cognitoidentity-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitosync\1.11.368\aws-java-sdk-cognitosync-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-directconnect\1.11.368\aws-java-sdk-directconnect-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudformation\1.11.368\aws-java-sdk-cloudformation-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudfront\1.11.368\aws-java-sdk-cloudfront-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-clouddirectory\1.11.368\aws-java-sdk-clouddirectory-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kinesis\1.11.368\aws-java-sdk-kinesis-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-opsworks\1.11.368\aws-java-sdk-opsworks-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ses\1.11.368\aws-java-sdk-ses-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-autoscaling\1.11.368\aws-java-sdk-autoscaling-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudsearch\1.11.368\aws-java-sdk-cloudsearch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudwatchmetrics\1.11.368\aws-java-sdk-cloudwatchmetrics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codedeploy\1.11.368\aws-java-sdk-codedeploy-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codepipeline\1.11.368\aws-java-sdk-codepipeline-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-kms\1.11.368\aws-java-sdk-kms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-config\1.11.368\aws-java-sdk-config-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lambda\1.11.368\aws-java-sdk-lambda-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ecs\1.11.368\aws-java-sdk-ecs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ecr\1.11.368\aws-java-sdk-ecr-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cloudhsm\1.11.368\aws-java-sdk-cloudhsm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-ssm\1.11.368\aws-java-sdk-ssm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workspaces\1.11.368\aws-java-sdk-workspaces-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-machinelearning\1.11.368\aws-java-sdk-machinelearning-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-directory\1.11.368\aws-java-sdk-directory-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-efs\1.11.368\aws-java-sdk-efs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codecommit\1.11.368\aws-java-sdk-codecommit-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-devicefarm\1.11.368\aws-java-sdk-devicefarm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-elasticsearch\1.11.368\aws-java-sdk-elasticsearch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-waf\1.11.368\aws-java-sdk-waf-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplacecommerceanalytics\1.11.368\aws-java-sdk-marketplacecommerceanalytics-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-inspector\1.11.368\aws-java-sdk-inspector-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-iot\1.11.368\aws-java-sdk-iot-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-api-gateway\1.11.368\aws-java-sdk-api-gateway-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-acm\1.11.368\aws-java-sdk-acm-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-gamelift\1.11.368\aws-java-sdk-gamelift-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-dms\1.11.368\aws-java-sdk-dms-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-marketplacemeteringservice\1.11.368\aws-java-sdk-marketplacemeteringservice-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-cognitoidp\1.11.368\aws-java-sdk-cognitoidp-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-discovery\1.11.368\aws-java-sdk-discovery-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-applicationautoscaling\1.11.368\aws-java-sdk-applicationautoscaling-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-snowball\1.11.368\aws-java-sdk-snowball-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-rekognition\1.11.368\aws-java-sdk-rekognition-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-polly\1.11.368\aws-java-sdk-polly-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lightsail\1.11.368\aws-java-sdk-lightsail-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-stepfunctions\1.11.368\aws-java-sdk-stepfunctions-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-health\1.11.368\aws-java-sdk-health-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-costandusagereport\1.11.368\aws-java-sdk-costandusagereport-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-codebuild\1.11.368\aws-java-sdk-codebuild-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-appstream\1.11.368\aws-java-sdk-appstream-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-shield\1.11.368\aws-java-sdk-shield-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-batch\1.11.368\aws-java-sdk-batch-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-lex\1.11.368\aws-java-sdk-lex-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-mechanicalturkrequester\1.11.368\aws-java-sdk-mechanicalturkrequester-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-organizations\1.11.368\aws-java-sdk-organizations-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-workdocs\1.11.368\aws-java-sdk-workdocs-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-core\1.11.368\aws-java-sdk-core-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\software\amazon\ion\ion-java\1.0.2\ion-java-1.0.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-cbor\2.6.7\jackson-dataformat-cbor-2.6.7.jar;C:\Users\Sohan.Dey\.m2\repository\joda-time\joda-time\2.8.1\joda-time-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-models\1.11.368\aws-java-sdk-models-1.11.368.jar;C:\Users\Sohan.Dey\.m2\repository\com\amazonaws\aws-java-sdk-swf-libraries\1.11.22\aws-java-sdk-swf-libraries-1.11.22.jar;C:\Users\Sohan.Dey\.m2\repository\com\aventstack\extentreports\3.0.0\extentreports-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\freemarker\freemarker\2.3.23\freemarker-2.3.23.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\mongodb-driver\3.3.0\mongodb-driver-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\bson\3.3.0\bson-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\mongodb\mongodb-driver-core\3.3.0\mongodb-driver-core-3.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpmime\4.5.2\httpmime-4.5.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\relevantcodes\extentreports\2.41.2\extentreports-2.41.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\jsoup\jsoup\1.8.3\jsoup-1.8.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\xerial\sqlite-jdbc\3.8.11.1\sqlite-jdbc-3.8.11.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\Sohan.Dey\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-model\3.3.9\maven-model-3.3.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-utils\3.0.22\plexus-utils-3.0.22.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\rest-assured\3.0.7\rest-assured-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy\2.4.12\groovy-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy-xml\2.4.12\groovy-xml-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\json-path\3.0.7\json-path-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\groovy\groovy-json\2.4.12\groovy-json-2.4.12.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\rest-assured-common\3.0.7\rest-assured-common-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\io\rest-assured\xml-path\3.0.7\xml-path-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\testng\testng\6.11\testng-6.11.jar;C:\Users\Sohan.Dey\.m2\repository\com\beust\jcommander\1.64\jcommander-1.64.jar;C:\Users\Sohan.Dey\.m2\repository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;C:\Users\Sohan.Dey\.m2\repository\org\zeroturnaround\zt-zip\1.13\zt-zip-1.13.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.10.1\jackson-core-2.10.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.5\jackson-annotations-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.10.5\jackson-databind-2.10.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-xml\2.9.5\jackson-dataformat-xml-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-jaxb-annotations\2.9.5\jackson-module-jaxb-annotations-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\woodstox\stax2-api\3.1.4\stax2-api-3.1.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\woodstox\woodstox-core\5.0.3\woodstox-core-5.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\json\json\20180130\json-20180130.jar;C:\Users\Sohan.Dey\.m2\repository\com\googlecode\json-simple\json-simple\1.1.1\json-simple-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\junit\junit\4.10\junit-4.10.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\gson\gson\2.8.4\gson-2.8.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\plugins\maven-assembly-plugin\3.1.0\maven-assembly-plugin-3.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-plugin-api\3.0\maven-plugin-api-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-inject-plexus\1.4.2\sisu-inject-plexus-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-inject-bean\1.4.2\sisu-inject-bean-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\sisu\sisu-guice\2.1.7\sisu-guice-2.1.7-noaop.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-core\3.0\maven-core-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-settings\3.0\maven-settings-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-settings-builder\3.0\maven-settings-builder-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-repository-metadata\3.0\maven-repository-metadata-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-model-builder\3.0\maven-model-builder-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-aether-provider\3.0\maven-aether-provider-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-impl\1.7\aether-impl-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-spi\1.7\aether-spi-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-api\1.7\aether-api-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\aether\aether-util\1.7\aether-util-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-classworlds\2.2.3\plexus-classworlds-2.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-component-annotations\1.5.5\plexus-component-annotations-1.5.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-sec-dispatcher\1.3\plexus-sec-dispatcher-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-cipher\1.4\plexus-cipher-1.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-artifact\3.0\maven-artifact-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-common-artifact-filters\3.0.1\maven-common-artifact-filters-3.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-shared-utils\3.1.0\maven-shared-utils-3.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-artifact-transfer\0.9.0\maven-artifact-transfer-0.9.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-interpolation\1.24\plexus-interpolation-1.24.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-archiver\3.5\plexus-archiver-3.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-compress\1.14\commons-compress-1.14.jar;C:\Users\Sohan.Dey\.m2\repository\org\iq80\snappy\snappy\0.4\snappy-0.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\tukaani\xz\1.6\xz-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\file-management\3.0.0\file-management-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-shared-io\3.0.0\maven-shared-io-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-compat\3.0\maven-compat-3.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\wagon\wagon-provider-api\2.10\wagon-provider-api-2.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\shared\maven-filtering\3.1.1\maven-filtering-3.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\sonatype\plexus\plexus-build-api\0.0.7\plexus-build-api-0.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\plexus\plexus-io\3.0.0\plexus-io-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\maven\maven-archiver\3.2.0\maven-archiver-3.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\hibernate-core\5.4.2.Final\hibernate-core-5.4.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\persistence\javax.persistence-api\2.2\javax.persistence-api-2.2.jar;C:\Users\Sohan.Dey\.m2\repository\net\bytebuddy\byte-buddy\1.9.10\byte-buddy-1.9.10.jar;C:\Users\Sohan.Dey\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.2_spec\1.1.1.Final\jboss-transaction-api_1.2_spec-1.1.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\jboss\jandex\2.0.5.Final\jandex-2.0.5.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\classmate\1.3.4\classmate-1.3.4.jar;C:\Users\Sohan.Dey\.m2\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\dom4j\dom4j\2.1.1\dom4j-2.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.1.0.Final\hibernate-commons-annotations-5.1.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.1\jaxb-runtime-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\glassfish\jaxb\txw2\2.3.1\txw2-2.3.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.7\istack-commons-runtime-3.0.7.jar;C:\Users\Sohan.Dey\.m2\repository\org\jvnet\staxex\stax-ex\1.8\stax-ex-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\xml\fastinfoset\FastInfoset\1.2.15\FastInfoset-1.2.15.jar;C:\Users\Sohan.Dey\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.5\jackson-datatype-jsr310-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\postgresql\postgresql\42.2.2\postgresql-42.2.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\slf4j-log4j12\1.6.2\slf4j-log4j12-1.6.2.jar;C:\Users\Sohan.Dey\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\logging\log4j\log4j-api\2.11.1\log4j-api-2.11.1.jar;C:\Users\Sohan.Dey\.m2\repository\net\lingala\zip4j\zip4j\1.3.2\zip4j-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpclient\4.5.3\httpclient-4.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\httpcomponents\httpcore\4.4.6\httpcore-4.4.6.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-client\2.8.1\hadoop-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-common\2.8.1\hadoop-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-cli\commons-cli\1.2\commons-cli-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\xmlenc\xmlenc\0.52\xmlenc-0.52.jar;C:\Users\Sohan.Dey\.m2\repository\commons-net\commons-net\3.1\commons-net-3.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\mortbay\jetty\jetty-sslengine\6.1.26\jetty-sslengine-6.1.26.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\Sohan.Dey\.m2\repository\commons-configuration\commons-configuration\1.6\commons-configuration-1.6.jar;C:\Users\Sohan.Dey\.m2\repository\commons-digester\commons-digester\1.8\commons-digester-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.0\commons-beanutils-core-1.8.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\avro\avro\1.7.4\avro-1.7.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\xerial\snappy\snappy-java\1.0.4.1\snappy-java-1.0.4.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\protobuf\protobuf-java\2.5.0\protobuf-java-2.5.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-auth\2.8.1\hadoop-auth-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\server\apacheds-kerberos-codec\2.0.0-M15\apacheds-kerberos-codec-2.0.0-M15.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\server\apacheds-i18n\2.0.0-M15\apacheds-i18n-2.0.0-M15.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\api\api-asn1-api\1.0.0-M20\api-asn1-api-1.0.0-M20.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\directory\api\api-util\1.0.0-M20\api-util-1.0.0-M20.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-framework\2.7.1\curator-framework-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-client\2.7.1\curator-client-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\curator\curator-recipes\2.7.1\curator-recipes-2.7.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\findbugs\jsr305\3.0.0\jsr305-3.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\htrace\htrace-core4\4.0.1-incubating\htrace-core4-4.0.1-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\zookeeper\zookeeper\3.4.6\zookeeper-3.4.6.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty\3.7.0.Final\netty-3.7.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-hdfs\2.8.1\hadoop-hdfs-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-hdfs-client\2.8.1\hadoop-hdfs-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\squareup\okhttp\okhttp\2.4.0\okhttp-2.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\squareup\okio\okio\1.4.0\okio-1.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-app\2.8.1\hadoop-mapreduce-client-app-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-common\2.8.1\hadoop-mapreduce-client-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-client\2.8.1\hadoop-yarn-client-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-server-common\2.8.1\hadoop-yarn-server-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-shuffle\2.8.1\hadoop-mapreduce-client-shuffle-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\fusesource\leveldbjni\leveldbjni-all\1.8\leveldbjni-all-1.8.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-api\2.8.1\hadoop-yarn-api-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-core\2.8.1\hadoop-mapreduce-client-core-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-yarn-common\2.8.1\hadoop-yarn-common-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\mortbay\jetty\jetty-util\6.1.26\jetty-util-6.1.26.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\jersey\jersey-core\1.9\jersey-core-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\jersey\jersey-client\1.9\jersey-client-1.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-jaxrs\1.9.13\jackson-jaxrs-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\codehaus\jackson\jackson-xc\1.9.13\jackson-xc-1.9.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-jobclient\2.8.1\hadoop-mapreduce-client-jobclient-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\hadoop\hadoop-annotations\2.8.1\hadoop-annotations-2.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcprov-jdk16\1.45\bcprov-jdk16-1.45.jar;C:\Users\Sohan.Dey\.m2\repository\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;C:\Users\Sohan.Dey\.m2\repository\commons-io\commons-io\2.6\commons-io-2.6.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\zxing\core\3.3.3\core-3.3.3.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\zxing\javase\2.0\javase-2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar;C:\Users\Sohan.Dey\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\html2pdf\2.0.0\html2pdf-2.0.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\forms\7.1.0\forms-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\kernel\7.1.0\kernel-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\io\7.1.0\io-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\layout\7.1.0\layout-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\itextpdf\5.5.13\itextpdf-5.5.13.jar;C:\Users\Sohan.Dey\.m2\repository\javax\mail\javax.mail-api\1.6.2\javax.mail-api-1.6.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\authentication\authentication-demo-service\1.2.0.1-SNAPSHOT\authentication-demo-service-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.0.2.RELEASE\spring-boot-starter-web-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.0.2.RELEASE\spring-boot-starter-json-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.5\jackson-datatype-jdk8-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.5\jackson-module-parameter-names-2.9.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.0.2.RELEASE\spring-boot-starter-tomcat-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\8.5.31\tomcat-embed-el-8.5.31.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\8.5.31\tomcat-embed-websocket-8.5.31.jar;C:\Users\Sohan.Dey\.m2\repository\org\hibernate\validator\hibernate-validator\6.0.9.Final\hibernate-validator-6.0.9.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-web\5.0.6.RELEASE\spring-web-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-webmvc\5.0.6.RELEASE\spring-webmvc-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-expression\5.0.6.RELEASE\spring-expression-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.0.2.RELEASE\spring-boot-starter-test-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-test\2.0.2.RELEASE\spring-boot-test-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.0.2.RELEASE\spring-boot-test-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\assertj\assertj-core\3.9.1\assertj-core-3.9.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-core\5.0.6.RELEASE\spring-core-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-jcl\5.0.6.RELEASE\spring-jcl-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-test\5.0.6.RELEASE\spring-test-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\xmlunit\xmlunit-core\2.5.1\xmlunit-core-2.5.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;C:\Users\Sohan.Dey\.m2\repository\javax\ws\rs\javax.ws.rs-api\2.0\javax.ws.rs-api-2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\authentication\authentication-core\1.2.0.1-SNAPSHOT\authentication-core-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-cache\2.0.2.RELEASE\spring-boot-starter-cache-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-context-support\5.0.6.RELEASE\spring-context-support-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\machinezoo\sourceafis\sourceafis\3.4.0\sourceafis-3.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\com\machinezoo\noexception\noexception\1.3.2\noexception-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\mhshams\jnbis\2.0.1\jnbis-2.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\sanselan\sanselan\0.97-incubator\sanselan-0.97-incubator.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\idrepository\id-repository-core\1.2.0\id-repository-core-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-biosdk-provider\1.2.0\kernel-biosdk-provider-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-biometrics-api\1.2.0\kernel-biometrics-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-demographics-api\1.2.0\kernel-demographics-api-1.2.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-webflux\2.0.2.RELEASE\spring-boot-starter-webflux-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-reactor-netty\2.0.2.RELEASE\spring-boot-starter-reactor-netty-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\projectreactor\ipc\reactor-netty\0.7.7.RELEASE\reactor-netty-0.7.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-handler-proxy\4.1.24.Final\netty-handler-proxy-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-codec-socks\4.1.24.Final\netty-codec-socks-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport-native-epoll\4.1.24.Final\netty-transport-native-epoll-4.1.24.Final-linux-x86_64.jar;C:\Users\Sohan.Dey\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.24.Final\netty-transport-native-unix-common-4.1.24.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-webflux\5.0.6.RELEASE\spring-webflux-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\projectreactor\reactor-core\3.1.7.RELEASE\reactor-core-3.1.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\synchronoss\cloud\nio-multipart-parser\1.1.0\nio-multipart-parser-1.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\synchronoss\cloud\nio-stream-storage\1.1.3\nio-stream-storage-1.1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-ui\1.5.10\springdoc-openapi-ui-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-webmvc-core\1.5.10\springdoc-openapi-webmvc-core-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\org\springdoc\springdoc-openapi-common\1.5.10\springdoc-openapi-common-1.5.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-models\2.1.10\swagger-models-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-annotations\2.1.10\swagger-annotations-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-integration\2.1.10\swagger-integration-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\core\v3\swagger-core\2.1.10\swagger-core-2.1.10.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.2\jakarta.xml.bind-api-2.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.1\jakarta.activation-api-1.2.1.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.12.1\jackson-dataformat-yaml-2.12.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\github\classgraph\classgraph\4.8.69\classgraph-4.8.69.jar;C:\Users\Sohan.Dey\.m2\repository\org\webjars\swagger-ui\3.51.1\swagger-ui-3.51.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\webjars\webjars-locator-core\0.45\webjars-locator-core-0.45.jar;C:\Users\Sohan.Dey\.m2\repository\commons-fileupload\commons-fileupload\1.4\commons-fileupload-1.4.jar;C:\Users\Sohan.Dey\.m2\repository\org\mockito\mockito-core\2.23.4\mockito-core-2.23.4.jar;C:\Users\Sohan.Dey\.m2\repository\net\bytebuddy\byte-buddy-agent\1.9.3\byte-buddy-agent-1.9.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-websubclient-api\1.2.0.1-SNAPSHOT\kernel-websubclient-api-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-aspects\5.0.6.RELEASE\spring-aspects-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\aspectj\aspectjweaver\1.8.13\aspectjweaver-1.8.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\owasp\encoder\encoder\1.2.3\encoder-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\tensorflow\1.12.0\tensorflow-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\libtensorflow\1.12.0\libtensorflow-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\tensorflow\libtensorflow_jni\1.12.0\libtensorflow_jni-1.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-templatemanager-velocity\1.2.0.1-SNAPSHOT\kernel-templatemanager-velocity-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter-config\2.0.0.RELEASE\spring-cloud-starter-config-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter\2.0.0.RELEASE\spring-cloud-starter-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-context\2.0.0.RELEASE\spring-cloud-context-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-crypto\5.0.6.RELEASE\spring-security-crypto-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-commons\2.0.0.RELEASE\spring-cloud-commons-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-rsa\1.0.5.RELEASE\spring-security-rsa-1.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-config-client\2.0.0.RELEASE\spring-cloud-config-client-2.0.0.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jai-imageio\jai-imageio-jpeg2000\1.3.0\jai-imageio-jpeg2000-1.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\jai-imageio\jai-imageio-core\1.3.0\jai-imageio-core-1.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-keymanager-service\1.2.0.1-SNAPSHOT\kernel-keymanager-service-1.2.0.1-SNAPSHOT-lib.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-test\5.0.5.RELEASE\spring-security-test-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-core\5.0.5.RELEASE\spring-security-core-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-pdfgenerator-itext\1.2.0.1-SNAPSHOT\kernel-pdfgenerator-itext-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\barcodes\7.1.0\barcodes-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\font-asian\7.1.0\font-asian-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\hyph\7.1.0\hyph-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\pdfa\7.1.0\pdfa-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\sign\7.1.0\sign-7.1.0.jar;C:\Users\Sohan.Dey\.m2\repository\com\itextpdf\tool\xmlworker\5.5.13\xmlworker-5.5.13.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.66\bcpkix-jdk15on-1.66.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\2.0.2.RELEASE\spring-boot-starter-data-jpa-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.0.2.RELEASE\spring-boot-starter-jdbc-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\zaxxer\HikariCP\2.7.9\HikariCP-2.7.9.jar;C:\Users\Sohan.Dey\.m2\repository\com\h2database\h2\1.4.197\h2-1.4.197.jar;C:\Users\Sohan.Dey\.m2\repository\com\github\microsoft\TSS.Java\0.3.0\TSS.Java-0.3.0.jar;C:\Users\Sohan.Dey\.m2\repository\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\cache2k\cache2k-api\2.4.1.Final\cache2k-api-2.4.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\org\cache2k\cache2k-core\2.4.1.Final\cache2k-core-2.4.1.Final.jar;C:\Users\Sohan.Dey\.m2\repository\com\nimbusds\nimbus-jose-jwt\9.14\nimbus-jose-jwt-9.14.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-core\1.2.0.1-SNAPSHOT\kernel-core-1.2.0.1-SNAPSHOT.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter\2.0.2.RELEASE\spring-boot-starter-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot\2.0.2.RELEASE\spring-boot-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.0.2.RELEASE\spring-boot-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.0.2.RELEASE\spring-boot-starter-logging-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.10.0\log4j-to-slf4j-2.10.0.jar;C:\Users\Sohan.Dey\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\data\spring-data-jpa\2.0.7.RELEASE\spring-data-jpa-2.0.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\data\spring-data-commons\2.0.7.RELEASE\spring-data-commons-2.0.7.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-orm\5.0.6.RELEASE\spring-orm-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-jdbc\5.0.6.RELEASE\spring-jdbc-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-context\5.0.6.RELEASE\spring-context-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-aop\5.0.6.RELEASE\spring-aop-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-tx\5.0.6.RELEASE\spring-tx-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\spring-beans\5.0.6.RELEASE\spring-beans-5.0.6.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\aspectj\aspectjrt\1.8.12\aspectjrt-1.8.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-security\2.0.2.RELEASE\spring-boot-starter-security-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-config\5.0.5.RELEASE\spring-security-config-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\security\spring-security-web\5.0.5.RELEASE\spring-security-web-5.0.5.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\javax\transaction\javax.transaction-api\1.3\javax.transaction-api-1.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.66\bcprov-jdk15on-1.66.jar;C:\Users\Sohan.Dey\.m2\repository\javax\interceptor\javax.interceptor-api\1.2\javax.interceptor-api-1.2.jar;C:\Users\Sohan.Dey\.m2\repository\com\google\code\findbugs\annotations\3.0.1\annotations-3.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\net\jcip\jcip-annotations\1.0\jcip-annotations-1.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\swagger\swagger-models\1.5.21\swagger-models-1.5.21.jar;C:\Users\Sohan.Dey\.m2\repository\com\auth0\java-jwt\3.8.1\java-jwt-3.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\micrometer\micrometer-core\1.4.2\micrometer-core-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\org\hdrhistogram\HdrHistogram\2.1.12\HdrHistogram-2.1.12.jar;C:\Users\Sohan.Dey\.m2\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\micrometer\micrometer-registry-prometheus\1.4.2\micrometer-registry-prometheus-1.4.2.jar;C:\Users\Sohan.Dey\.m2\repository\io\prometheus\simpleclient_common\0.8.1\simpleclient_common-0.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\prometheus\simpleclient\0.8.1\simpleclient-0.8.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;C:\Users\Sohan.Dey\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;C:\Users\Sohan.Dey\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-starter-sleuth\2.0.4.RELEASE\spring-cloud-starter-sleuth-2.0.4.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.0.9.RELEASE\spring-boot-starter-aop-2.0.9.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\cloud\spring-cloud-sleuth-core\2.0.4.RELEASE\spring-cloud-sleuth-core-2.0.4.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave\5.6.1\brave-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\zipkin2\zipkin\2.12.0\zipkin-2.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\reporter2\zipkin-reporter\2.7.14\zipkin-reporter-2.7.14.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-context-log4j2\5.6.1\brave-context-log4j2-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-web\5.6.1\brave-instrumentation-spring-web-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-http\5.6.1\brave-instrumentation-http-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-rabbit\5.6.1\brave-instrumentation-spring-rabbit-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-kafka-clients\5.6.1\brave-instrumentation-kafka-clients-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-httpclient\5.6.1\brave-instrumentation-httpclient-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-httpasyncclient\5.6.1\brave-instrumentation-httpasyncclient-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-spring-webmvc\5.6.1\brave-instrumentation-spring-webmvc-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\io\zipkin\brave\brave-instrumentation-servlet\5.6.1\brave-instrumentation-servlet-5.6.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-starter-actuator\2.0.2.RELEASE\spring-boot-starter-actuator-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.0.2.RELEASE\spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\boot\spring-boot-actuator\2.0.2.RELEASE\spring-boot-actuator-2.0.2.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\8.5.55\tomcat-embed-core-8.5.55.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\tomcat\tomcat-annotations-api\8.5.55\tomcat-annotations-api-8.5.55.jar;C:\Users\Sohan.Dey\.m2\repository\org\springframework\retry\spring-retry\1.2.1.RELEASE\spring-retry-1.2.1.RELEASE.jar;C:\Users\Sohan.Dey\.m2\repository\com\fasterxml\jackson\module\jackson-module-afterburner\2.12.0\jackson-module-afterburner-2.12.0.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-registration-packet-manager\1.1.5.3\kernel-registration-packet-manager-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-keygenerator-bouncycastle\1.1.5.3\kernel-keygenerator-bouncycastle-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-cbeffutil-api\1.1.5.3\kernel-cbeffutil-api-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-logger-logback\1.1.5.3\kernel-logger-logback-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\net\logstash\logback\logstash-logback-encoder\6.4\logstash-logback-encoder-6.4.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\ch\qos\logback\logback-access\1.2.3\logback-access-1.2.3.jar;C:\Users\Sohan.Dey\.m2\repository\io\mosip\kernel\kernel-crypto-jce\1.1.5.3\kernel-crypto-jce-1.1.5.3.jar;C:\Users\Sohan.Dey\.m2\repository\org\bitbucket\b_c\jose4j\0.6.5\jose4j-0.6.5.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-json4j-provider\1.1.2-incubating\wink-json4j-provider-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-common\1.1.2-incubating\wink-common-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.1.1\jaxb-impl-2.2.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-annotation_1.1_spec\1.0\geronimo-annotation_1.1_spec-1.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\wink\wink-json4j\1.1.2-incubating\wink-json4j-1.1.2-incubating.jar;C:\Users\Sohan.Dey\.m2\repository\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\checkerframework\checker-qual\2.9.0\checker-qual-2.9.0.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-broker\5.15.9\activemq-broker-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-client\5.15.9\activemq-client-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-jms_1.1_spec\1.1.1\geronimo-jms_1.1_spec-1.1.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\fusesource\hawtbuf\hawtbuf\1.11\hawtbuf-1.11.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\geronimo\specs\geronimo-j2ee-management_1.1_spec\1.0.1\geronimo-j2ee-management_1.1_spec-1.0.1.jar;C:\Users\Sohan.Dey\.m2\repository\org\apache\activemq\activemq-openwire-legacy\5.15.9\activemq-openwire-legacy-5.15.9.jar;C:\Users\Sohan.Dey\.m2\repository\org\projectlombok\lombok\1.18.8\lombok-1.18.8.jar
\ No newline at end of file
diff --git a/apitest/Dockerfile b/apitest/Dockerfile
new file mode 100644
index 00000000000..d60f8894275
--- /dev/null
+++ b/apitest/Dockerfile
@@ -0,0 +1,57 @@
+FROM mosipdev/openjdk-21-jre:latest
+
+ARG SOURCE
+ARG COMMIT_HASH
+ARG COMMIT_ID
+ARG BUILD_TIME
+LABEL source=${SOURCE}
+LABEL commit_hash=${COMMIT_HASH}
+LABEL commit_id=${COMMIT_ID}
+LABEL build_time=${BUILD_TIME}
+
+# can be passed during Docker build as build time environment for github branch to pickup configuration from.
+ARG container_user=mosip
+
+# can be passed during Docker build as build time environment for github branch to pickup configuration from.
+ARG container_user_group=mosip
+
+# can be passed during Docker build as build time environment for github branch to pickup configuration from.
+ARG container_user_uid=1002
+
+# can be passed during Docker build as build time environment for github branch to pickup configuration from.
+ARG container_user_gid=1001
+
+ARG KUBECTL_VERSION=1.22.9
+
+# set working directory for the user
+WORKDIR /home/${container_user}
+
+ENV work_dir=/home/${container_user}
+
+ADD ./apitest/target/ $work_dir
+
+ADD entrypoint.sh $work_dir/entrypoint.sh
+
+# install packages and create user
+RUN apt-get -y update \
+&& apt-get install -y unzip jq curl \
+&& groupadd -g ${container_user_gid} ${container_user_group} \
+&& useradd -u ${container_user_uid} -g ${container_user_group} -s /bin/bash -m ${container_user} \
+&& curl -LO "https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl" \
+&& mkdir -p /home/${container_user} \
+&& chmod +x kubectl $work_dir/entrypoint.sh \
+&& mv kubectl /usr/local/bin/ \
+&& chown -R ${container_user}:${container_user} /home/${container_user} /etc/ssl/certs/java/cacerts \
+&& chmod 644 /etc/ssl/certs/java/cacerts
+
+# select container user for all tasks
+USER ${container_user_uid}:${container_user_gid}
+
+EXPOSE 8083
+
+ENV MODULES=
+ENV ENV_USER=
+ENV ENV_ENDPOINT=
+ENV ENV_TESTLEVEL=smokeAndRegression
+
+ENTRYPOINT ["./entrypoint.sh"]
diff --git a/apitest/README.md b/apitest/README.md
new file mode 100644
index 00000000000..51b6226796a
--- /dev/null
+++ b/apitest/README.md
@@ -0,0 +1,3 @@
+# Automation test
+
+All automation test code.
diff --git a/apitest/entrypoint.sh b/apitest/entrypoint.sh
new file mode 100644
index 00000000000..02756bf9f06
--- /dev/null
+++ b/apitest/entrypoint.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+## Run automationtests
+java -jar -Dmodules="$MODULES" -Denv.user="$ENV_USER" -Denv.endpoint="$ENV_ENDPOINT" -Denv.testLevel="$ENV_TESTLEVEL" apitest-prereg-*-jar-with-dependencies.jar;
\ No newline at end of file
diff --git a/apitest/pom.xml b/apitest/pom.xml
new file mode 100644
index 00000000000..e0651508aba
--- /dev/null
+++ b/apitest/pom.xml
@@ -0,0 +1,415 @@
+
+ 4.0.0
+ io.mosip.prereg
+ apitest-prereg
+ jar
+ apitest-prereg
+ Parent project of MOSIP Pre-Registration apitests
+ https://github.com/mosip/pre-registration
+ 1.2.1-java21-SNAPSHOT
+
+
+
+ MPL 2.0
+ https://www.mozilla.org/en-US/MPL/2.0/
+
+
+
+
+ scm:git:git://github.com/mosip/pre-registration.git
+ scm:git:ssh://github.com:mosip/pre-registration.git
+ https://github.com/mosip/pre-registration
+ HEAD
+
+
+
+
+ Mosip
+ mosip.emailnotifier@gmail.com
+ io.mosip
+ https://github.com/mosip/pre-registration
+
+
+
+
+ UTF-8
+
+
+ 21
+ 21
+ 3.8.0
+ 3.0.2
+ 3.1.0
+ 3.2.0
+ 1.5
+ 3.2.4
+ 3.0.0
+ 2.2.1
+
+ 3.0.1
+ apitest-prereg-1.2.1-java21-SNAPSHOT-jar-with-dependencies
+
+
+
+
+
+
+ UTF-8
+
+
+ 11
+ 11
+ 3.7.0
+ 3.0.2
+ 3.1.0
+ 2.9
+ 0.8.1
+ 3.2
+ 3.0.1
+ 2.3
+ false
+ 3.7.0.1746
+
+ 2.0.2.RELEASE
+ 2.0.7.RELEASE
+ 5.0.5.RELEASE
+ 2.0.0.RELEASE
+
+ 2.0.7
+ 1.5.20
+ 2.9.2
+
+ 3.6.2
+ 3.7.0
+
+
+
+ 1.2
+ 3.0.0
+ 1.3
+ 2.2
+ 2.0.1.Final
+ 2.2.6
+
+
+ 1.4.197
+ 5.1.46
+ 42.2.2
+ 2.5.0
+ 6.0.12.Final
+
+
+ 1.10.19
+ 1.7.4
+ 2.0.0-beta.5
+
+
+ 3.6.1
+ 3.7
+ 2.6
+ 1.11
+ 4.3
+ 1.9.2
+ 2.2
+ 4.5.6
+ 19.0
+ 1.18.32
+ 0.1.54
+ 1.4.0
+ 7.1.0
+ 2.0.0
+ 5.5.13
+ 2.3.23
+ 1.7
+ 2.0
+ 1.5.2
+ 2.1.1
+ 1.60
+ 63.1
+ 1.0.0
+ 3.3.3
+ 2.8.1
+ 4.1.0-incubating
+ 1.11.368
+ 0.2.4
+ 2.3.0
+ 3.0.1
+ 1.9.12
+ 0.6.0
+ 2.0.0.AM2
+
+
+
+
+
+
+
+ 0.8.2
+ 2.2
+ 3.2
+ UTF-8
+ 3.7.0
+ 3.0.1
+
+
+ 1.1.6
+ 1.7.19
+ 1.10.19
+
+
+ 1.4.6
+
+
+ 5.0.6.RELEASE
+
+
+ 5.4.2.Final
+
+
+ 2.1.1
+
+
+ 10.13.1.1
+
+
+ 3.4.0
+
+
+ 1.3.5
+
+
+ 0.3.12
+
+
+ 0.3.0
+
+
+ 1.1.2-incubating
+ 1.2.0.1-B1
+ 0.4.7
+ 3.0.0
+ 2.41.2
+ 2.4.0
+ 3.3.9
+ 3.0.7
+ 6.11
+ 1.13
+ automationtests-commons-1.2.0.1-SNAPSHOT-jar-with-dependencies
+
+
+
+
+ io.mosip.testrig.apirig.apitest.commons
+ apitest-commons
+ 1.2.1-java21-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+
+ attach-javadocs
+
+ jar
+
+
+
+
+ none
+
+
+
+ maven-compiler-plugin
+ ${maven.compiler.version}
+
+
+ ${maven.compiler.target}
+ -Dfile.encoding=UTF-8
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ ${maven.javadoc.version}
+
+ none
+
+
+
+ pl.project13.maven
+ git-commit-id-plugin
+ ${git.commit.id.plugin.version}
+
+
+ populate-git-commit-information
+
+ revision
+
+
+ true
+ MM/dd/yyyy HH:mm:ss Z
+ 8
+ true
+
+ ${project.build.outputDirectory}/git.properties
+
+
+
+
+ ${project.basedir}/.git
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ ${maven.gpg.plugin.version}
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+ --pinentry-mode
+ loopback
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ ${maven.shade.plugin.version}
+
+
+
+ shade
+
+
+ ${fileName}
+
+
+
+
+
+
+ io.mosip.testrig.apirig.testrunner.MosipTestRunner
+
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ true
+ true
+
+
+ ${project.name}
+ ${project.version}
+ ${user.name}
+ ${os.name}
+ ${maven.build.timestamp}
+ ${env.BUILD_NUMBER}
+ ${env.BUILD_ID}
+ ${env.BUILD_URL}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+
+ true
+ true
+
+
+ ${project.name}
+ ${project.version}
+ ${user.name}
+ ${os.name}
+ ${maven.build.timestamp}
+ ${env.BUILD_NUMBER}
+ ${env.BUILD_ID}
+ ${env.BUILD_URL}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ ${maven.source.plugin.version}
+
+
+ attach-sources
+
+ jar-no-fork
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+ ${maven.antrun.plugin.version}
+
+
+ make-jar-executable
+ package
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testrunner/MosipTestRunner.java b/apitest/src/main/java/io/mosip/testrig/apirig/testrunner/MosipTestRunner.java
new file mode 100644
index 00000000000..de2bc877984
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testrunner/MosipTestRunner.java
@@ -0,0 +1,350 @@
+package io.mosip.testrig.apirig.testrunner;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.PublicKey;
+import java.security.interfaces.RSAPublicKey;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.log4j.Logger;
+import org.bouncycastle.openssl.jcajce.JcaPEMWriter;
+import org.testng.TestNG;
+
+import com.nimbusds.jose.jwk.KeyUse;
+import com.nimbusds.jose.jwk.RSAKey;
+
+import io.mosip.testrig.apirig.dbaccess.DBManager;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.CertificateGenerationUtil;
+import io.mosip.testrig.apirig.utils.CertsUtil;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.EncryptionDecrptionUtil;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.JWKKeyUtil;
+import io.mosip.testrig.apirig.utils.KeyCloakUserAndAPIKeyGeneration;
+import io.mosip.testrig.apirig.utils.KeycloakUserManager;
+import io.mosip.testrig.apirig.utils.MispPartnerAndLicenseKeyGeneration;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.PartnerRegistration;
+
+/**
+ * Class to initiate mosip api test execution
+ *
+ * @author Vignesh
+ *
+ */
+public class MosipTestRunner {
+ private static final Logger LOGGER = Logger.getLogger(MosipTestRunner.class);
+ private static String cachedPath = null;
+
+ public static String jarUrl = MosipTestRunner.class.getProtectionDomain().getCodeSource().getLocation().getPath();
+ public static List languageList = new ArrayList<>();
+
+ /**
+ * C Main method to start mosip test execution
+ *
+ * @param arg
+ */
+ public static void main(String[] arg) {
+
+ try {
+
+ Map envMap = System.getenv();
+ LOGGER.info("** ------------- Get ALL ENV varibales --------------------------------------------- **");
+ for (String envName : envMap.keySet()) {
+ LOGGER.info(String.format("ENV %s = %s%n", envName, envMap.get(envName)));
+ }
+ ExtractResource.removeOldMosipTestTestResource();
+ if (checkRunType().equalsIgnoreCase("JAR")) {
+ ExtractResource.extractCommonResourceFromJar();
+ } else {
+ ExtractResource.copyCommonResources();
+ }
+ ConfigManager.init();
+ BaseTestCase.suiteSetup();
+ setLogLevels();
+ AdminTestUtil.encryptDecryptUtil = new EncryptionDecrptionUtil();
+
+ // For now we are not doing health check for qa-115.
+ if (BaseTestCase.isTargetEnvLTS()) {
+ HealthChecker healthcheck = new HealthChecker();
+ healthcheck.setCurrentRunningModule(BaseTestCase.currentModule);
+ Thread trigger = new Thread(healthcheck);
+ trigger.start();
+ }
+ KeycloakUserManager.removeUser();
+ KeycloakUserManager.createUsers();
+ KeycloakUserManager.closeKeycloakInstance();
+
+ List localLanguageList = new ArrayList<>(BaseTestCase.getLanguageList());
+ AdminTestUtil.getLocationData();
+
+ String partnerKeyURL = "";
+ String updatedPartnerKeyURL = "";
+ String ekycPartnerKeyURL = "";
+
+ if (BaseTestCase.listOfModules.contains("auth")
+ || BaseTestCase.listOfModules.contains(GlobalConstants.ESIGNET)) {
+ PartnerRegistration.deleteCertificates();
+ CertificateGenerationUtil.getThumbprints();
+ AdminTestUtil.createAndPublishPolicy();
+ AdminTestUtil.createEditAndPublishPolicy();
+ partnerKeyURL = PartnerRegistration.generateAndGetPartnerKeyUrl();
+ updatedPartnerKeyURL = PartnerRegistration.generateAndGetUpdatedPartnerKeyUrl();
+
+ AdminTestUtil.createAndPublishPolicyForKyc();
+ ekycPartnerKeyURL = PartnerRegistration.generateAndGetEkycPartnerKeyUrl();
+
+ }
+
+ if (BaseTestCase.listOfModules.contains(GlobalConstants.MASTERDATA)) {
+ AdminTestUtil.getHierarchyZoneCode();
+ BaseTestCase.mapUserToZone();
+ BaseTestCase.mapZone();
+ AdminTestUtil.getLocationLevelData();
+ AdminTestUtil.getLocationData();
+ AdminTestUtil.getZoneName();
+
+
+
+ for (int i = 0; i < localLanguageList.size(); i++) {
+ BaseTestCase.languageList.clear();
+ BaseTestCase.languageList.add(localLanguageList.get(i));
+
+ DBManager.clearMasterDbData();
+ BaseTestCase.currentModule = GlobalConstants.MASTERDATA;
+ BaseTestCase.setReportName("masterdata-" + localLanguageList.get(i));
+ startTestRunner();
+
+ }
+
+ } else if (BaseTestCase.listOfModules.contains("auth")
+ || BaseTestCase.listOfModules.contains(GlobalConstants.ESIGNET)) {
+ if (partnerKeyURL.isEmpty())
+ // if (partnerKeyURL.isEmpty() || ekycPartnerKeyURL.isEmpty())
+ LOGGER.error("partnerKeyURL is null");
+ else
+ startTestRunner();
+ } else {
+ startTestRunner();
+ }
+ } catch (Exception e) {
+ LOGGER.error("Exception " + e.getMessage());
+ }
+
+ MockSMTPListener.bTerminate = true;
+
+ if (BaseTestCase.isTargetEnvLTS())
+ HealthChecker.bTerminate = true;
+
+ System.exit(0);
+
+ }
+
+ private static void setLogLevels() {
+ AdminTestUtil.setLogLevel();
+ OutputValidationUtil.setLogLevel();
+ PartnerRegistration.setLogLevel();
+ KeyCloakUserAndAPIKeyGeneration.setLogLevel();
+ MispPartnerAndLicenseKeyGeneration.setLogLevel();
+ JWKKeyUtil.setLogLevel();
+ CertsUtil.setLogLevel();
+ }
+
+ /**
+ * The method to start mosip testng execution
+ *
+ * @throws IOException
+ */
+ public static void startTestRunner() {
+ File homeDir = null;
+ TestNG runner = new TestNG();
+ List suitefiles = new ArrayList<>();
+ List modulesToRun = BaseTestCase.listOfModules;
+ String os = System.getProperty("os.name");
+ LOGGER.info(os);
+ if (checkRunType().contains("IDE") || os.toLowerCase().contains("windows")) {
+ homeDir = new File(System.getProperty("user.dir") + "/testNgXmlFiles");
+ LOGGER.info("IDE :" + homeDir);
+ } else {
+ File dir = new File(System.getProperty("user.dir"));
+ homeDir = new File(dir.getParent() + "/mosip/testNgXmlFiles");
+ LOGGER.info("ELSE :" + homeDir);
+ }
+ for (File file : homeDir.listFiles()) {
+ for (String fileName : modulesToRun) {
+ if (file.getName().toLowerCase().contains(fileName)) {
+ suitefiles.add(file.getAbsolutePath());
+ } else if (fileName.equals("all") && file.getName().toLowerCase().contains("testng")) {
+ suitefiles.add(file.getAbsolutePath());
+ }
+ }
+ }
+ runner.setTestSuites(suitefiles);
+ System.getProperties().setProperty("testng.outpur.dir", "testng-report");
+ runner.setOutputDirectory("testng-report");
+ runner.run();
+ }
+
+ /**
+ * The method to return class loader resource path
+ *
+ * @return String
+ * @throws IOException
+ */
+ /*
+ * public static String getGlobalResourcePath() { if
+ * (checkRunType().equalsIgnoreCase("JAR")) { return new
+ * File(jarUrl).getParentFile().getAbsolutePath() +
+ * "/MosipTestResource/MosipTemporaryTestResource"; } else if
+ * (checkRunType().equalsIgnoreCase("IDE")) { String path = new
+ * File(MosipTestRunner.class.getClassLoader().getResource("").getPath()).
+ * getAbsolutePath() + "/MosipTestResource/MosipTemporaryTestResource"; if
+ * (path.contains(GlobalConstants.TESTCLASSES)) path =
+ * path.replace(GlobalConstants.TESTCLASSES, "classes"); return path; } return
+ * "Global Resource File Path Not Found"; }
+ */
+
+ public static String getGlobalResourcePath() {
+ if (cachedPath != null) {
+ return cachedPath;
+ }
+
+ String path = null;
+ if (checkRunType().equalsIgnoreCase("JAR")) {
+ path = new File(jarUrl).getParentFile().getAbsolutePath() + "/MosipTestResource/MosipTemporaryTestResource";
+ } else if (checkRunType().equalsIgnoreCase("IDE")) {
+ path = new File(MosipTestRunner.class.getClassLoader().getResource("").getPath()).getAbsolutePath()
+ + "/MosipTestResource/MosipTemporaryTestResource";
+ if (path.contains(GlobalConstants.TESTCLASSES))
+ path = path.replace(GlobalConstants.TESTCLASSES, "classes");
+ }
+
+ if (path != null) {
+ cachedPath = path;
+ return path;
+ } else {
+ return "Global Resource File Path Not Found";
+ }
+ }
+
+ public static String getResourcePath() {
+ return getGlobalResourcePath();
+// if (checkRunType().equalsIgnoreCase("JAR")) {
+// return new File(jarUrl).getParentFile().getAbsolutePath();
+// } else if (checkRunType().equalsIgnoreCase("IDE")) {
+// String path = new File(MosipTestRunner.class.getClassLoader().getResource("").getPath()).getAbsolutePath();
+// if (path.contains(GlobalConstants.TESTCLASSES))
+// path = path.replace(GlobalConstants.TESTCLASSES, "classes");
+// return path;
+// }
+// return "Global Resource File Path Not Found";
+ }
+
+ public static String generatePulicKey() {
+ String publicKey = null;
+ try {
+ KeyPairGenerator keyGenerator = KeyPairGenerator.getInstance("RSA");
+ keyGenerator.initialize(2048, BaseTestCase.secureRandom);
+ final KeyPair keypair = keyGenerator.generateKeyPair();
+ publicKey = java.util.Base64.getEncoder().encodeToString(keypair.getPublic().getEncoded());
+ } catch (NoSuchAlgorithmException e) {
+ LOGGER.error(e.getMessage());
+ }
+ return publicKey;
+ }
+
+ public static KeyPairGenerator keyPairGen = null;
+
+ public static KeyPairGenerator getKeyPairGeneratorInstance() {
+ if (keyPairGen != null)
+ return keyPairGen;
+ try {
+ keyPairGen = KeyPairGenerator.getInstance("RSA");
+ keyPairGen.initialize(2048);
+
+ } catch (NoSuchAlgorithmException e) {
+ LOGGER.error(e.getMessage());
+ }
+
+ return keyPairGen;
+ }
+
+ public static String generatePublicKeyForMimoto() {
+
+ String vcString = "";
+ try {
+ KeyPairGenerator keyPairGenerator = getKeyPairGeneratorInstance();
+ KeyPair keyPair = keyPairGenerator.generateKeyPair();
+ PublicKey publicKey = keyPair.getPublic();
+ StringWriter stringWriter = new StringWriter();
+ try (JcaPEMWriter pemWriter = new JcaPEMWriter(stringWriter)) {
+ pemWriter.writeObject(publicKey);
+ pemWriter.flush();
+ vcString = stringWriter.toString();
+ if (System.getProperty("os.name").toLowerCase().contains("windows")) {
+ vcString = vcString.replaceAll("\r\n", "\\\\n");
+ } else {
+ vcString = vcString.replaceAll("\n", "\\\\n");
+ }
+ } catch (Exception e) {
+ throw e;
+ }
+ } catch (Exception e) {
+ LOGGER.error(e.getMessage());
+ }
+ return vcString;
+ }
+
+ public static String generateJWKPublicKey() {
+ try {
+ KeyPairGenerator keyGenerator = KeyPairGenerator.getInstance("RSA");
+ keyGenerator.initialize(2048, BaseTestCase.secureRandom);
+ final KeyPair keypair = keyGenerator.generateKeyPair();
+ RSAKey jwk = new RSAKey.Builder((RSAPublicKey) keypair.getPublic()).keyID("RSAKeyID")
+ .keyUse(KeyUse.SIGNATURE).privateKey(keypair.getPrivate()).build();
+
+ return jwk.toJSONString();
+ } catch (NoSuchAlgorithmException e) {
+ LOGGER.error(e.getMessage());
+ return null;
+ }
+ }
+
+ public static Properties getproperty(String path) {
+ Properties prop = new Properties();
+ FileInputStream inputStream = null;
+ try {
+ File file = new File(path);
+ inputStream = new FileInputStream(file);
+ prop.load(inputStream);
+ } catch (Exception e) {
+ LOGGER.error(GlobalConstants.EXCEPTION_STRING_2 + e.getMessage());
+ } finally {
+ AdminTestUtil.closeInputStream(inputStream);
+ }
+ return prop;
+ }
+
+ /**
+ * The method will return mode of application started either from jar or eclipse
+ * ide
+ *
+ * @return
+ */
+ public static String checkRunType() {
+ if (MosipTestRunner.class.getResource("MosipTestRunner.class").getPath().contains(".jar"))
+ return "JAR";
+ else
+ return "IDE";
+ }
+
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/BookAppoinmentByPrid.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/BookAppoinmentByPrid.java
new file mode 100644
index 00000000000..a709f1e9656
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/BookAppoinmentByPrid.java
@@ -0,0 +1,146 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.List;
+import java.util.Map;
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.testng.Assert;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.KernelAuthentication;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.mosip.testrig.apirig.utils.RestClient;
+import io.restassured.response.Response;
+
+public class BookAppoinmentByPrid extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(BookAppoinmentByPrid.class);
+ protected String testCaseName = "";
+ public Response response = null;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, AdminTestException {
+ String regCenterId = null;
+ String appDate = null;
+ String timeSlotFrom = null;
+ String timeSlotTo = null;
+ testCaseName = testCaseDTO.getTestCaseName();
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+ Response slotAvailabilityResponse = RestClient.getRequestWithCookie(
+ ApplnURI + properties.getProperty("appointmentavailabilityurl")
+ + properties.getProperty("regcentretobookappointment"),
+ MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON, COOKIENAME,
+ new KernelAuthentication().getTokenByRole(testCaseDTO.getRole()));
+ List appointmentDetails = AdminTestUtil.getAppointmentDetails(slotAvailabilityResponse);
+ if (appointmentDetails.size() >= 4) {
+ try {
+ regCenterId = appointmentDetails.get(0);
+ appDate = appointmentDetails.get(1);
+ timeSlotFrom = appointmentDetails.get(2);
+ timeSlotTo = appointmentDetails.get(3);
+ } catch (IndexOutOfBoundsException e) {
+ logger.info("Center not available");
+ Assert.fail("Centers unavailable");
+ }
+ }
+ String inputJosn = getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate());
+ inputJosn = inputJosn.replace("$registration_center_id$", regCenterId);
+ inputJosn = inputJosn.replace("$appointment_date$", appDate);
+ inputJosn = inputJosn.replace("$time_slot_from$", timeSlotFrom);
+ inputJosn = inputJosn.replace("$time_slot_to$", timeSlotTo);
+ response = postWithBodyAndCookie(ApplnURI + testCaseDTO.getEndPoint(), inputJosn, COOKIENAME,
+ testCaseDTO.getRole(), testCaseDTO.getTestCaseName());
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(), getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+
+ }
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/CreatePreReg.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/CreatePreReg.java
new file mode 100644
index 00000000000..f64c3ef307b
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/CreatePreReg.java
@@ -0,0 +1,148 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.json.JSONObject;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.BaseTestCase;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class CreatePreReg extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(CreatePreReg.class);
+ protected String testCaseName = "";
+ public String idKeyName = null;
+ public Response response = null;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ idKeyName = context.getCurrentXmlTest().getLocalParameters().get("idKeyName");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ * @throws NoSuchAlgorithmException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO)
+ throws AuthenticationTestException, AdminTestException, NoSuchAlgorithmException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+ testCaseDTO.setInputTemplate(AdminTestUtil.generateHbsForPrereg(false));
+ String[] templateFields = testCaseDTO.getTemplateFields();
+
+ String jsonInput = testCaseDTO.getInput();
+
+ String inputJson = getJsonFromTemplate(jsonInput, testCaseDTO.getInputTemplate(), false);
+ String outputJson = getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate());
+ if (testCaseDTO.getTemplateFields() != null && templateFields.length > 0) {
+ ArrayList inputtestCases = AdminTestUtil.getInputTestCase(testCaseDTO);
+ ArrayList outputtestcase = AdminTestUtil.getOutputTestCase(testCaseDTO);
+
+ languageList = new ArrayList<>(BaseTestCase.getLanguageList());
+ for (int i = 0; i < languageList.size(); i++) {
+ response = postWithBodyAndCookieForAutoGeneratedId(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(inputtestCases.get(i).toString(), testCaseDTO.getInputTemplate()),
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName(), idKeyName);
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(),
+ getJsonFromTemplate(outputtestcase.get(i).toString(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+ } else {
+ response = postWithBodyAndCookieForAutoGeneratedId(ApplnURI + testCaseDTO.getEndPoint(), inputJson,
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName(), idKeyName);
+ Map> ouputValid = OutputValidationUtil
+ .doJsonOutputValidation(response.asString(), outputJson, testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+
+ }
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/DeleteWithParam.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/DeleteWithParam.java
new file mode 100644
index 00000000000..cf3496b404e
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/DeleteWithParam.java
@@ -0,0 +1,137 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.json.JSONObject;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class DeleteWithParam extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(DeleteWithParam.class);
+ protected String testCaseName = "";
+ public Response response = null;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ *
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, AdminTestException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ testCaseName = isTestCaseValidForExecution(testCaseDTO);
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+ String[] templateFields = testCaseDTO.getTemplateFields();
+
+ if (testCaseDTO.getTemplateFields() != null && templateFields.length > 0) {
+ ArrayList inputtestCases = AdminTestUtil.getInputTestCase(testCaseDTO);
+ ArrayList outputtestcase = AdminTestUtil.getOutputTestCase(testCaseDTO);
+
+ for (int i = 0; i < languageList.size(); i++) {
+ response = deleteWithPathParamAndCookie(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(inputtestCases.get(i).toString(), testCaseDTO.getInputTemplate()),
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName());
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(),
+ getJsonFromTemplate(outputtestcase.get(i).toString(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+ }
+
+ else {
+ response = deleteWithPathParamAndCookie(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate()), COOKIENAME,
+ testCaseDTO.getRole(), testCaseDTO.getTestCaseName());
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(), getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+ }
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/GetWithParam.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/GetWithParam.java
new file mode 100644
index 00000000000..619854620ab
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/GetWithParam.java
@@ -0,0 +1,145 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.json.JSONObject;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class GetWithParam extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(GetWithParam.class);
+ protected String testCaseName = "";
+ public Response response = null;
+ public boolean auditLogCheck = false;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, AdminTestException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ testCaseName = isTestCaseValidForExecution(testCaseDTO);
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+
+ auditLogCheck = testCaseDTO.isAuditLogCheck();
+ String[] templateFields = testCaseDTO.getTemplateFields();
+
+
+ if (testCaseDTO.getTemplateFields() != null && templateFields.length > 0) {
+ ArrayList inputtestCases = AdminTestUtil.getInputTestCase(testCaseDTO);
+ ArrayList outputtestcase = AdminTestUtil.getOutputTestCase(testCaseDTO);
+ for (int i = 0; i < languageList.size(); i++) {
+ response = getWithPathParamAndCookie(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(inputtestCases.get(i).toString(), testCaseDTO.getInputTemplate()),
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName());
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(),
+ getJsonFromTemplate(outputtestcase.get(i).toString(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+ }
+
+ else {
+ response = getWithPathParamAndCookie(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate()), auditLogCheck,
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName());
+ }
+ Map> ouputValid = null;
+ ouputValid = OutputValidationUtil.doJsonOutputValidation(response.asString(),
+ getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate()), testCaseDTO,
+ response.getStatusCode());
+
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/GetWithParamForAutoGenId.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/GetWithParamForAutoGenId.java
new file mode 100644
index 00000000000..73c0d3dafe3
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/GetWithParamForAutoGenId.java
@@ -0,0 +1,147 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.json.JSONObject;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class GetWithParamForAutoGenId extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(GetWithParamForAutoGenId.class);
+ protected String testCaseName = "";
+ public String idKeyName = null;
+ public Response response = null;
+ public boolean auditLogCheck = false;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ idKeyName = context.getCurrentXmlTest().getLocalParameters().get("idKeyName");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, AdminTestException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ testCaseName = isTestCaseValidForExecution(testCaseDTO);
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+
+ auditLogCheck = testCaseDTO.isAuditLogCheck();
+ String[] templateFields = testCaseDTO.getTemplateFields();
+
+ if (testCaseDTO.getTemplateFields() != null && templateFields.length > 0) {
+ ArrayList inputtestCases = AdminTestUtil.getInputTestCase(testCaseDTO);
+ ArrayList outputtestcase = AdminTestUtil.getOutputTestCase(testCaseDTO);
+ for (int i = 0; i < languageList.size(); i++) {
+ response = getWithPathParamAndCookieForAutoGeneratedId(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(inputtestCases.get(i).toString(), testCaseDTO.getInputTemplate()),
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName(), idKeyName);
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(),
+ getJsonFromTemplate(outputtestcase.get(i).toString(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+ } else {
+ response = getWithPathParamAndCookieForAutoGeneratedId(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate()), auditLogCheck,
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName(), idKeyName);
+ }
+ Map> ouputValid = null;
+
+ ouputValid = OutputValidationUtil.doJsonOutputValidation(response.asString(),
+ getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate()), testCaseDTO,
+ response.getStatusCode());
+
+
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+
+
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PostWithFormDataAndFileForNotificationAPI.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PostWithFormDataAndFileForNotificationAPI.java
new file mode 100644
index 00000000000..6aafb09a868
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PostWithFormDataAndFileForNotificationAPI.java
@@ -0,0 +1,121 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class PostWithFormDataAndFileForNotificationAPI extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(PostWithFormDataAndFileForNotificationAPI.class);
+ protected String testCaseName = "";
+ String idKeyName = null;
+ public Response response = null;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ idKeyName = context.getCurrentXmlTest().getLocalParameters().get("idKeyName");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AdminTestException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ String inputJson = getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate());
+ testCaseDTO = AdminTestUtil.filterHbs(testCaseDTO);
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+
+
+ response = postWithMultipartFormDataAndFile(ApplnURI + testCaseDTO.getEndPoint(), inputJson,
+ testCaseDTO.getRole(), testCaseDTO.getTestCaseName(), idKeyName);
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(), getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+
+ }
+
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PostWithFormPathParamAndFile.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PostWithFormPathParamAndFile.java
new file mode 100644
index 00000000000..d318db71eb3
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PostWithFormPathParamAndFile.java
@@ -0,0 +1,123 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class PostWithFormPathParamAndFile extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(PostWithFormPathParamAndFile.class);
+ protected String testCaseName = "";
+ public String idKeyName = null;
+ public Response response = null;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ idKeyName = context.getCurrentXmlTest().getLocalParameters().get("idKeyName");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AdminTestException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+
+ String inputJson = getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate());
+
+ response = postWithFormPathParamAndFile(ApplnURI + testCaseDTO.getEndPoint(), inputJson, testCaseDTO.getRole(),
+ testCaseDTO.getTestCaseName(), idKeyName);
+
+ Map> ouputValid = null;
+
+ ouputValid = OutputValidationUtil.doJsonOutputValidation(response.asString(),
+ getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate()), testCaseDTO,
+ response.getStatusCode());
+
+
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+
+ }
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PostWithPathParamsAndBody.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PostWithPathParamsAndBody.java
new file mode 100644
index 00000000000..00ca27af272
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PostWithPathParamsAndBody.java
@@ -0,0 +1,121 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class PostWithPathParamsAndBody extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(PostWithPathParamsAndBody.class);
+ protected String testCaseName = "";
+ public String pathParams = null;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ pathParams = context.getCurrentXmlTest().getLocalParameters().get("pathParams");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, AdminTestException {
+ String regCenterId = null;
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+
+
+
+ String inputJosn = getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate());
+
+ Response response = postWithPathParamsBodyAndCookie(ApplnURI + testCaseDTO.getEndPoint(), inputJosn, COOKIENAME,
+ testCaseDTO.getRole(), testCaseDTO.getTestCaseName(), pathParams);
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(), getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+
+ }
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PreregAuditValidator.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PreregAuditValidator.java
new file mode 100644
index 00000000000..fde9395570d
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PreregAuditValidator.java
@@ -0,0 +1,130 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dbaccess.AuditDBManager;
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.BaseTestCase;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.restassured.response.Response;
+
+public class PreregAuditValidator extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(PreregAuditValidator.class);
+ protected String testCaseName = "";
+ public static List templateFields = new ArrayList<>();
+ public Response response = null;
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, AdminTestException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+ String[] templateFields = testCaseDTO.getTemplateFields();
+ List queryProp = Arrays.asList(templateFields);
+ logger.info(queryProp);
+
+ String query = "select * from audit.app_audit_log where app_name = 'PREREGISTRATION' && session_user_name = '"
+ + "robin.hood@mailinator.com" + "'";
+
+ logger.info(query);
+ Map response = AuditDBManager.executeQueryAndGetRecord(testCaseDTO.getRole(), query);
+
+ Map> objMap = new HashMap<>();
+ List objList = new ArrayList<>();
+ OutputValidationDto objOpDto = new OutputValidationDto();
+ if (response.size() > 0) {
+
+ objOpDto.setStatus("PASS");
+ } else {
+ objOpDto.setStatus(GlobalConstants.FAIL_STRING);
+ }
+
+ objList.add(objOpDto);
+ objMap.put(GlobalConstants.EXPECTED_VS_ACTUAL, objList);
+
+ if (!OutputValidationUtil.publishOutputResult(objMap))
+ throw new AdminTestException("Failed at output validation");
+ }
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+
+ String deleteQuery = "delete from audit.app_audit_log where app_name = 'PREREGISTRATION' and session_user_name = '"
+ + "robin.hood@mailinator.com" + "'";
+
+ logger.info(deleteQuery);
+ AuditDBManager.executeQueryAndDeleteRecord("audit", deleteQuery);
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PutWithPathParam.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PutWithPathParam.java
new file mode 100644
index 00000000000..0dbf734bd61
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/PutWithPathParam.java
@@ -0,0 +1,141 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.json.JSONObject;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class PutWithPathParam extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(PutWithPathParam.class);
+ protected String testCaseName = "";
+ public Response response = null;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, AdminTestException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ String[] templateFields = testCaseDTO.getTemplateFields();
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+
+
+ if (testCaseDTO.getTemplateFields() != null && templateFields.length > 0) {
+ ArrayList inputtestCases = AdminTestUtil.getInputTestCase(testCaseDTO);
+ ArrayList outputtestcase = AdminTestUtil.getOutputTestCase(testCaseDTO);
+ for (int i = 0; i < languageList.size(); i++) {
+ response = putWithPathParamAndCookie(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(inputtestCases.get(i).toString(), testCaseDTO.getInputTemplate()),
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName());
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(),
+ getJsonFromTemplate(outputtestcase.get(i).toString(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+ }
+
+ else {
+ response = putWithPathParamAndCookie(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate()), COOKIENAME,
+ testCaseDTO.getRole(), testCaseDTO.getTestCaseName());
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(), getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+
+ }
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/SimplePost.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/SimplePost.java
new file mode 100644
index 00000000000..08d3cd2f648
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/SimplePost.java
@@ -0,0 +1,146 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.json.JSONObject;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class SimplePost extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(SimplePost.class);
+ protected String testCaseName = "";
+ public Response response = null;
+ public boolean auditLogCheck = false;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, AdminTestException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ testCaseName = isTestCaseValidForExecution(testCaseDTO);
+ auditLogCheck = testCaseDTO.isAuditLogCheck();
+ String[] templateFields = testCaseDTO.getTemplateFields();
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+
+ String inputJson = getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate());
+
+ if (testCaseDTO.getTemplateFields() != null && templateFields.length > 0) {
+ ArrayList inputtestCases = AdminTestUtil.getInputTestCase(testCaseDTO);
+ ArrayList outputtestcase = AdminTestUtil.getOutputTestCase(testCaseDTO);
+ for (int i = 0; i < languageList.size(); i++) {
+ response = postWithBodyAndCookie(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(inputtestCases.get(i).toString(), testCaseDTO.getInputTemplate()),
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName());
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(),
+ getJsonFromTemplate(outputtestcase.get(i).toString(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+ }
+
+ else {
+ response = postWithBodyAndCookie(ApplnURI + testCaseDTO.getEndPoint(), inputJson, auditLogCheck, COOKIENAME,
+ testCaseDTO.getRole(), testCaseDTO.getTestCaseName());
+ }
+ Map> ouputValid = null;
+
+ ouputValid = OutputValidationUtil.doJsonOutputValidation(response.asString(),
+ getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate()), testCaseDTO,
+ response.getStatusCode());
+
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid)) {
+ throw new AdminTestException("Failed at otp output validation");
+ }
+ }
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
diff --git a/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/UpdatePrereg.java b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/UpdatePrereg.java
new file mode 100644
index 00000000000..5ca9372519d
--- /dev/null
+++ b/apitest/src/main/java/io/mosip/testrig/apirig/testscripts/UpdatePrereg.java
@@ -0,0 +1,144 @@
+package io.mosip.testrig.apirig.testscripts;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.json.JSONObject;
+import org.testng.ITest;
+import org.testng.ITestContext;
+import org.testng.ITestResult;
+import org.testng.Reporter;
+import org.testng.SkipException;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.testng.internal.BaseTestMethod;
+import org.testng.internal.TestResult;
+
+import io.mosip.testrig.apirig.dto.OutputValidationDto;
+import io.mosip.testrig.apirig.dto.TestCaseDTO;
+import io.mosip.testrig.apirig.testrunner.HealthChecker;
+import io.mosip.testrig.apirig.utils.AdminTestException;
+import io.mosip.testrig.apirig.utils.AdminTestUtil;
+import io.mosip.testrig.apirig.utils.AuthenticationTestException;
+import io.mosip.testrig.apirig.utils.ConfigManager;
+import io.mosip.testrig.apirig.utils.GlobalConstants;
+import io.mosip.testrig.apirig.utils.OutputValidationUtil;
+import io.mosip.testrig.apirig.utils.ReportUtil;
+import io.restassured.response.Response;
+
+public class UpdatePrereg extends AdminTestUtil implements ITest {
+ private static final Logger logger = Logger.getLogger(UpdatePrereg.class);
+ protected String testCaseName = "";
+ String pathParams = null;
+ public Response response = null;
+
+ @BeforeClass
+ public static void setLogLevel() {
+ if (ConfigManager.IsDebugEnabled())
+ logger.setLevel(Level.ALL);
+ else
+ logger.setLevel(Level.ERROR);
+ }
+
+ /**
+ * get current testcaseName
+ */
+ @Override
+ public String getTestName() {
+ return testCaseName;
+ }
+
+ /**
+ * Data provider class provides test case list
+ *
+ * @return object of data provider
+ */
+ @DataProvider(name = "testcaselist")
+ public Object[] getTestCaseList(ITestContext context) {
+ String ymlFile = context.getCurrentXmlTest().getLocalParameters().get("ymlFile");
+ pathParams = context.getCurrentXmlTest().getLocalParameters().get("pathParams");
+ logger.info("Started executing yml: " + ymlFile);
+ return getYmlTestData(ymlFile);
+ }
+
+ /**
+ * Test method for OTP Generation execution
+ *
+ * @param objTestParameters
+ * @param testScenario
+ * @param testcaseName
+ * @throws AuthenticationTestException
+ * @throws AdminTestException
+ */
+ @Test(dataProvider = "testcaselist")
+ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, AdminTestException {
+ testCaseName = testCaseDTO.getTestCaseName();
+ testCaseDTO.setInputTemplate(AdminTestUtil.generateHbsForPrereg(true));
+ String[] templateFields = testCaseDTO.getTemplateFields();
+ if (HealthChecker.signalTerminateExecution) {
+ throw new SkipException(
+ GlobalConstants.TARGET_ENV_HEALTH_CHECK_FAILED + HealthChecker.healthCheckFailureMapS);
+ }
+
+ String outputJson = getJsonFromTemplate(testCaseDTO.getOutput(), testCaseDTO.getOutputTemplate());
+ String inputJson = getJsonFromTemplate(testCaseDTO.getInput(), testCaseDTO.getInputTemplate(), false);
+
+ if (testCaseDTO.getTemplateFields() != null && templateFields.length > 0) {
+ ArrayList inputtestCases = AdminTestUtil.getInputTestCase(testCaseDTO);
+ ArrayList outputtestcase = AdminTestUtil.getOutputTestCase(testCaseDTO);
+ for (int i = 0; i < languageList.size(); i++) {
+ response = putWithPathParamsBodyAndCookie(ApplnURI + testCaseDTO.getEndPoint(),
+ getJsonFromTemplate(inputtestCases.get(i).toString(), testCaseDTO.getInputTemplate()),
+ COOKIENAME, testCaseDTO.getRole(), testCaseDTO.getTestCaseName(), pathParams);
+
+ Map> ouputValid = OutputValidationUtil.doJsonOutputValidation(
+ response.asString(),
+ getJsonFromTemplate(outputtestcase.get(i).toString(), testCaseDTO.getOutputTemplate()),
+ testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+ }
+
+ else {
+ response = putWithPathParamsBodyAndCookie(ApplnURI + testCaseDTO.getEndPoint(), inputJson, COOKIENAME,
+ testCaseDTO.getRole(), testCaseDTO.getTestCaseName(), pathParams);
+
+ Map> ouputValid = OutputValidationUtil
+ .doJsonOutputValidation(response.asString(), outputJson, testCaseDTO, response.getStatusCode());
+ Reporter.log(ReportUtil.getOutputValidationReport(ouputValid));
+
+ if (!OutputValidationUtil.publishOutputResult(ouputValid))
+ throw new AdminTestException("Failed at output validation");
+ }
+
+ }
+
+ /**
+ * The method ser current test name to result
+ *
+ * @param result
+ */
+ @AfterMethod(alwaysRun = true)
+ public void setResultTestName(ITestResult result) {
+ try {
+ Field method = TestResult.class.getDeclaredField("m_method");
+ method.setAccessible(true);
+ method.set(result, result.getMethod().clone());
+ BaseTestMethod baseTestMethod = (BaseTestMethod) result.getMethod();
+ Field f = baseTestMethod.getClass().getSuperclass().getDeclaredField("m_methodName");
+ f.setAccessible(true);
+ f.set(baseTestMethod, testCaseName);
+ } catch (Exception e) {
+ Reporter.log("Exception : " + e.getMessage());
+ }
+ }
+}
diff --git a/apitest/src/main/resources/config/Authorization/internalAuthRequest.json b/apitest/src/main/resources/config/Authorization/internalAuthRequest.json
new file mode 100644
index 00000000000..162f0524bfa
--- /dev/null
+++ b/apitest/src/main/resources/config/Authorization/internalAuthRequest.json
@@ -0,0 +1,9 @@
+{
+ "request": {
+ "userName": "110005",
+ "password": "mosip",
+ "appId": "admin",
+ "clientId": "mosip-admin-client",
+ "clientSecret": "xyz123"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/config/Authorization/request.json b/apitest/src/main/resources/config/Authorization/request.json
new file mode 100644
index 00000000000..e86c7431df3
--- /dev/null
+++ b/apitest/src/main/resources/config/Authorization/request.json
@@ -0,0 +1,7 @@
+{
+ "request": {
+ "appId": "prereg",
+ "password": "prereguser",
+ "userName": "prereguser"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/config/Kernel.properties b/apitest/src/main/resources/config/Kernel.properties
new file mode 100644
index 00000000000..d98d4febeca
--- /dev/null
+++ b/apitest/src/main/resources/config/Kernel.properties
@@ -0,0 +1,278 @@
+#---------------------------------- End point(s) relative URLs ----------------------------------#
+authclientidsecretkeyURL = /v1/authmanager/authenticate/clientidsecretkey
+authentication = /v1/authmanager/authenticate/useridPwd
+authenticationInternal = /v1/authmanager/authenticate/internal/useridPwd
+keycloakAuthURL = /auth/realms/master/protocol/openid-connect/token
+auditLog_URI = /v1/auditmanager/audits
+CentetMachineUserMappingToMasterData_uri = /v1/masterdata/registrationmachineusermappings
+EmailNotification_URI = /v1/notifier/email/send
+encrypt_URI = /v1/keymanager/encrypt
+decrypt_URI = /v1/keymanager/decrypt
+FetchApplication_URI = /v1/masterdata/applicationtypes
+FetchApplication_lang_URI = /v1/masterdata/applicationtypes/{langcode}
+FetchApplication_id_lang_URI = /v1/masterdata/applicationtypes/{code}/{langcode}
+FetchBiometricAttribute_URI = /v1/masterdata/getbiometricattributesbyauthtype/{langcode}/{biometrictypecode}
+FetchBiometricAuthType_URI = /v1/masterdata/biometrictypes/{langcode}
+FetchBlackListedWord_URI = /v1/masterdata/blacklistedwords/{langcode}
+FetchDevice_lang_URI = /v1/masterdata/devices/{languagecode}
+FetchDevice_id_lang_URI = /v1/masterdata/devices/{languagecode}/{deviceType}
+FetchDeviceSpec_lang_URI = /v1/masterdata/devicespecifications/{langcode}
+FetchDeviceSpec_id_lang_URI = /v1/masterdata/devicespecifications/{langcode}/{devicetypecode}
+FetchDocumentCategories_URI = /v1/masterdata/documentcategories/{langcode}
+FetchDocumentCategories_URI_withcodeAndLangCode = /v1/masterdata/documentcategories/{code}/{langcode}
+FetchDocumentTypes_URI = /v1/masterdata/documenttypes/{documentcategorycode}/{langcode}
+FetchGenderType_URI = /v1/masterdata/gendertypes
+FetchGenderType_id_lang_URI = /v1/masterdata/gendertypes/{langcode}
+FetchHolidays_URI = /v1/masterdata/holidays
+FetchHolidays_id_URI = /v1/masterdata/holidays/{holidayid}
+FetchHolidays_id_lang_URI = /v1/masterdata/holidays/{holidayid}/{langcode}
+FetchIDlist_URI = /v1/masterdata/idtypes/{langcode}
+FetchLocationHierarchy_URI_withlangCode = /v1/masterdata/locations/{langcode}
+FetchLocationHierarchy_URI_locationcode = /v1/masterdata/locations/{locationcode}/{langcode}
+FetchLocationHierarchy_URI_hierarchyname = /v1/masterdata/locations/locationhierarchy/{hierarchyname}
+FetchMachine_URI = /v1/masterdata/machines
+FetchMachine_lang_URI = /v1/masterdata/machines/{langcode}
+FetchMachine_id_lang_URI = /v1/masterdata/machines/{id}/{langcode}
+FetchMachineHistory_URI = /v1/masterdata/machineshistories/{id}/{langcode}/{effdatetimes}
+FetchRegCent_URI = /v1/masterdata/registrationcenters
+FetchRegCent_id_lang_URI = /v1/masterdata/registrationcenters/{id}/{langcode}
+FetchRegCent_loc_lang_URI = /v1/masterdata/getlocspecificregistrationcenters/{langcode}/{locationcode}
+FetchRegCent_hir_name_lang_URI = /v1/masterdata/registrationcenters/{langcode}/{hierarchylevel}/{name}
+FetchRegCent_prox_lang_URI = /v1/masterdata/getcoordinatespecificregistrationcenters/{langcode}/{longitude}/{latitude}/{proximitydistance}
+FetchRegCentHistory_URI = /v1/masterdata/registrationcentershistory/{registrationCenterId}/{langcode}/{effectiveDate}
+FetchRegCentHolidays_URI = /v1/masterdata/getregistrationcenterholidays/{langcode}/{registrationcenterid}/{year}
+FetchRegcentMachUserMaping_URI = /v1/masterdata/getregistrationmachineusermappinghistory/{effdtimes}/{registrationcenterid}/{machineid}/{userid}
+FetchRejectionReason_URI = /v1/masterdata/packetrejectionreasons/{reasoncategorycode}/{langcode}
+FetchTemplate_URI = /v1/masterdata/templates
+FetchTemplate_lang_URI = /v1/masterdata/templates/{langcode}
+FetchTemplate_id_lang_URI = /v1/masterdata/templates/{langcode}/{templatetypecode}
+FetchTitle_URI = /v1/masterdata/title/{langcode}
+fetchAllTemplate = /v1/masterdata/templates/templatetypecodes/{code}
+getApplicantType = /v1/masterdata/getApplicantType
+fetchDeviceHistory = /v1/masterdata/deviceshistories/{id}/{langcode}/{effdatetimes}
+getDocType_DocCatByAppID = /v1/masterdata/applicanttype/{applicantId}/languages
+getDocTypeDocCatByLangCode = /v1/masterdata/validdocuments/{languagecode}
+fetchImmediateChildLocation = /v1/masterdata/locations/immediatechildren/{locationcode}/{langcode}
+getIndividualType = /v1/masterdata/individualtypes
+getRoles = /v1/syncdata/roles
+fetchRegCenter = /v1/masterdata/registrationcenters/validate/{id}/{langCode}/{timestamp}
+fetchRegistrationCenterDeviceHistory = /v1/masterdata/registrationcenterdevicehistory/{regcenterid}/{deviceid}/{effdatetimes}
+getusersBasedOnRegCenter = /v1/syncdata/userdetails/{regid}
+licKeyGenerator = /v1/keymanager/license/generate
+mapLicenseKey = /v1/keymanager/license/permission
+fetchmapLicenseKey = /v1/keymanager/license/permission
+OTPGeneration = /v1/otpmanager/otp/generate
+OTPValidation = /v1/otpmanager/otp/validate
+otpNotifier = /v1/otpnotifier/otp/send
+RIDGenerator_URI = /v1/ridgenerator/generate/rid/{centerid}/{machineid}
+SmsNotification_URI = /v1/notifier/sms/send
+syncConf = /v1/syncdata/configs
+fetchIncrementalData = /v1/syncjob/syncjobdef
+fetchmasterdata = /v1/syncdata/masterdata
+fetchmasterdatawithRID = /v1/syncdata/masterdata/{regcenterId}
+SyncPublicKeyToRegClient_URI = /v1/keymanager/publickey/
+uingenerator = /v1/idgenerator/uin
+validateGenderByName = /v1/masterdata/gendertypes/validate/{gendername}
+validateLocationByName = /v1/masterdata/locations/validate/{locationname}
+tokenIdGenerator_URI = /v1/keymanager/{uin}/{partnercode}
+getRIDByUserId = /v1/authmanager/rid/{appid}/{userid}
+syncMdatawithKeyIndex = /v1/syncdata/clientsettings
+syncMdatawithRegCentIdKeyIndex = /v1/syncdata/clientsettings/{regcenterid}
+uploadpublickey = /v1/syncdata/tpm/publickey
+getUserHistory = /v1/masterdata/users/{id}/{eff_dtimes}
+sendOtp = /v1/authmanager/authenticate/sendotp
+useridOTP = /v1/authmanager/authenticate/useridOTP
+preregSendOtp = /preregistration/v1/login/sendOtp/langcode
+preregValidateOtp = /preregistration/v1/login/validateOtp
+zoneMappingUrl = /v1/masterdata/zoneuser
+zoneNameUrl = /v1/masterdata/zones/zonename
+zoneMappingActivateUrl = /v1/masterdata/zoneuser
+userCenterMappingUrl = /v1/masterdata/usercentermapping
+bulkUploadUrl = /v1/admin/bulkupload
+currentUserURI=/#/uinservices/viewhistory
+actuatorEndpoint=/resident/v1/actuator/env
+actuatorAdminEndpoint=/v1/admin/actuator/env
+actuatorMasterDataEndpoint=/v1/masterdata/actuator/env
+actuatorIDAEndpoint=/idauthentication/v1/actuator/env
+actuatorRegprocEndpoint=/registrationprocessor/v1/registrationtransaction/actuator/env
+actuatorEsignetEndpoint=/v1/esignet/actuator/env
+tokenEndpoint=/v1/esignet/oauth/token
+auditActuatorEndpoint=/v1/auditmanager/actuator/info
+validateBindingEndpoint=ida-binding
+esignetWellKnownEndPoint=/v1/esignet/oidc/.well-known/openid-configuration
+signupSettingsEndPoint=/v1/signup/settings
+
+
+
+
+#---------------------------------- APP IDs ----------------------------------#
+#-- When test rig ran in docker, these values dervied from the environment ---#
+mosip_pms_app_id = partner
+mosip_resident_app_id = resident
+mosip_idrepo_app_id = idrepo
+mosip_regclient_app_id = registrationclient
+mosip_hotlist_app_id = hotlist
+mosip_regprocclient_app_id = regproc
+AuthAppID = resident
+mosip_admin_app_id = admin
+
+
+
+#---------------------------------- Client IDs -------------------------------#
+#-- When test rig ran in docker, these values dervied from the environment ---#
+mosip_pms_client_id = mosip-pms-client
+mosip_partner_client_id = mosip-partner-client
+mosip_resident_client_id = mosip-resident-client
+mosip_idrepo_client_id = mosip-idrepo-client
+mosip_reg_client_id = mosip-reg-client
+mosip_admin_client_id = mosip-admin-client
+mosip_hotlist_client_id = mosip-hotlist-client
+mosip_regproc_client_id = mosip-regproc-client
+mpartner_default_mobile_client_id = mpartner-default-mobile
+mosip_testrig_client_id = mosip-testrig-client
+AuthClientID = mosip-resident-client
+
+
+
+#---------------------------------- Client Secret Keys -----------------------#
+#-- When test rig ran in docker, these values dervied from the environment ---#
+mosip_partner_client_secret = vXS7WUyPDpfWYuoz
+mosip_pms_client_secret = 5Qj8vn989OL1Vlu6
+mosip_resident_client_secret = SnZQ6nnVwN9YWvdM
+mosip_idrepo_client_secret = AeM2TwFuuZygCuvO
+mosip_reg_client_secret = DLXygc82rkAkjrwV
+mosip_admin_client_secret = Styop9nqkshXMTgj
+mosip_hotlist_client_secret = TKyc4cqWymxjiLEsVydX4uME1xU3i9xl
+mosip_regproc_client_secret = eyeXdyhO0u2ETibw
+mpartner_default_mobile_secret = iCkj8BRZU6hP6MAN
+mosip_testrig_client_secret = AonuXbikoWmHP5ug
+AuthClientSecret = SnZQ6nnVwN9YWvdM
+
+
+
+#----------------------------- minio proprties ------------------------------#
+s3-user-key = minioadmin
+s3-user-secret = minioadmin
+s3-host = http://minio.minio:9000
+s3-account = automation
+s3-region = null
+reportExpirationInDays = 3
+s3-account-for-persona-data = personaData
+push-reports-to-s3 = no
+
+
+#-------------------- Keycloak User Creation proprties ----------------------#
+#-- When test rig ran in docker,few of below dervied from the environment ---#
+new_Resident_User = 111995
+new_Resident_Password = mosip123
+new_Resident_Role = default-roles-mosip,PARTNER_ADMIN
+roles.111995 = PARTNER_ADMIN,default-roles-mosip
+keycloak_UserName = admin
+keycloak_Password = sMDr9Ainw9
+keycloak-external-url = https://iam.qa-inji.mosip.net
+keycloak-realm-id = mosip
+iam-users-to-create = 111997,111998,220005,111992,globaladmin,111887
+iam-users-password = mosip123,mosip123,mosip123,mosip123,mosip123
+roles.220005 = GLOBAL_ADMIN,ID_AUTHENTICATION,REGISTRATION_ADMIN,REGISTRATION_SUPERVISOR,ZONAL_ADMIN
+roles.111997 = AUTH_PARTNER,PARTNER_ADMIN,PMS_ADMIN,POLICYMANAGER,REGISTRATION_SUPERVISOR
+roles.111887 = AUTH_PARTNER,PARTNER_ADMIN,PMS_ADMIN,REGISTRATION_SUPERVISOR
+roles.111998 = POLICYMANAGER
+roles.111992 = GLOBAL_ADMIN
+roles.globaladmin = GLOBAL_ADMIN,REGISTRATION_ADMIN,uma_authorization,ZONAL_ADMIN,default-roles-mosip
+
+
+#------------------------- DB Connectivity proprties ------------------------#
+#-- When test rig ran in docker,few of below dervied from the environment ---#
+driver_class=org.postgresql.Driver
+pool_size=1
+dialect=org.hibernate.dialect.PostgreSQLDialect
+show_sql=true
+current_session_context_class=thread
+audit_url=jdbc:postgresql://qa-inji.mosip.net:5432/mosip_audit
+audit_username=postgres
+audit_password=2BhgiSpCaT
+audit_default_schema=audit
+DB_PORT=
+installation-domain=
+partner_url=jdbc:postgresql://qa-inji.mosip.net:5432/mosip_ida
+partner_username=postgres
+partner_password=2BhgiSpCaT
+partner_default_schema=partner
+reportLogPath=automationLogAndReport
+postgresqlUser=postgresql
+db-port=5432
+db-server=qa-inji.mosip.net
+hibernate.connection.driver_class=org.postgresql.Driver
+hibernate.connection.pool_size=1
+hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
+hibernate.show_sql=true
+hibernate.current_session_context_class=thread
+db-su-user=postgres
+postgres-password=2BhgiSpCaT
+pms_db_schema=pms
+km_db_schema=keymgr
+master_db_schema=master
+audit_db_schema=audit
+ida_db_schema=ida
+
+
+#------------------------- DSL specific proprties ------------------------#
+#------------------------- We need to see how to have DSL specific proprties file ------------------------#
+packetUtilityBaseUrl=http://localhost:8080
+mountPathForScenario=D:/centralized/mountvolume
+mountPath=/home/mosip/mountvolume
+# Add scenarios to skip from automation and server side
+# supported values "S-scnearioNumber" for server side and "A-scnearioNumber" for automation
+scenariosToSkip=
+# Add scenarios to include in the the execution list
+# Empty if we want to execute all the scenarios---
+scenariosToExecute=
+# supported values yes or no
+useExternalScenarioSheet=yes
+# supported values are 1 to 8
+threadCount=1
+
+#------------------------ Generic properties ------------------------#
+enableDebug=yes
+preconfiguredOtp=111111
+usePreConfiguredOtp=true
+# supported values yes or no. Assume that by Default e-signet is deployed
+eSignetDeployed=yes
+partnerUrlSuffix=oYf63Lax0DY2QkYMRHnrmDqhmO3RMWQagwm0ftgLlkuin1KOND/666/576732
+reportIgnoredTestCases=yes
+servicesNotDeployed=
+esignetMockBaseURL=esignet-insurance.
+slack-webhook-url=
+serverErrorsToMonitor=IDA-MLC-018
+pmsAuthInternal=true
+partner_password=mosip123
+partner_userName=111997
+partner_user_password=mosip123
+policytest_password=mosip123
+policytest_userName=111998
+policytest_without_pmrole_userName=111887
+admin_password=mosip123
+admin_userName=220005
+admin_zone_password=mosip123
+admin_zone_userName=globaladmin
+
+
+
+#------------------------- Need to check if these are used or not ------------------------#
+OTPTimeOut = 181
+attempt = 10
+ConfigParameters=mosip.kernel.rid.length,mosip.kernel.uin.length,mosip.kernel.sms.country.code,mosip.kernel.sms.number.length,mosip.kernel.otp.default-length,mosip.kernel.otp.expiry-time,mosip.kernel.otp.key-freeze-time,mosip.kernel.otp.validation-attempt-threshold,mosip.kernel.otp.min-key-length,mosip.kernel.otp.max-key-length,mosip.kernel.licensekey.length,mosip.supported-languages
+# supported values are 0 ,1, 2 based on number of env languages
+langselect=0
+
+
+
+#----------------------------------AuthDemoService Host properties----------------------------------------------------------#
+#Uncommemnt the below to run locally
+authDemoServiceBaseURL=http://localhost
+authDemoServicePort=8082
+authCertsPath=
+#Uncommemnt the below to run in Docker
+#authDemoServiceBaseURL=http://authdemo.apitestrig
+#authDemoServicePort=80
+#authCertsPath=/home/mosip/authcerts
\ No newline at end of file
diff --git a/apitest/src/main/resources/config/application.properties b/apitest/src/main/resources/config/application.properties
new file mode 100644
index 00000000000..c0e9841a79c
--- /dev/null
+++ b/apitest/src/main/resources/config/application.properties
@@ -0,0 +1,103 @@
+## End point(s) relative URLs
+internalSignEndpoint=/idauthentication/v1/internal/jwtSign
+signJsonPath=config/sign.json
+encryptionPath=v1/identity/encrypt?isInternal=false
+internalEncryptionPath=v1/identity/encrypt?isInternal=true
+encodePath=v1/identity/encode
+decodePath=v1/identity/decode
+signRequest=v1/identity/signRequest
+decryptPath=/idauthentication/v1/internal/decrypt
+decryptkycdataurl = v1/identity/decryptEkycData
+encodeFilePath=v1/identity/encodeFile
+decodeFilePath=v1/identity/decodeFile/?fileName=cbeff
+validateSignaturePath=v1/identity/validateSign?signature=$signature$
+splitEncryptedData=v1/identity/splitEncryptedData
+bioValueEncryptionTemplate=config/bioValueEncryptionTemplate.json
+idaMappingPath=config/mapping.properties
+getIdaCertificateUrl=/idauthentication/v1/internal/getCertificate
+getPartnerCertificateUrl=/v1/partnermanager/partners/{partnerId}/certificate
+putPartnerRegistrationUrl=/v1/partnermanager/partners
+getPartnerCertURL=v1/identity/generatePartnerKeys
+uploadCACertificateUrl=/v1/partnermanager/partners/certificate/ca/upload
+uploadIntermediateCertificateUrl=/v1/partnermanager/partners/certificate/ca/upload
+uploadPartnerCertificateUrl=/v1/partnermanager/partners/certificate/upload
+uploadSignedCertificateUrl=v1/identity/updatePartnerCertificate
+getKeyCloakTokenUrl = /auth/realms/master/protocol/openid-connect/token
+masterSchemaURL=/v1/masterdata/idschema/latest
+preregLoginConfigUrl=/preregistration/v1/login/config
+uploadIdaFirurl=v1/identity/uploadIDACertificate?certificateType=IDA_FIR&moduleName=$MODULENAME$&certsDir=$CERTSDIR$
+uploadPartnerurl=v1/identity/uploadIDACertificate?certificateType=PARTNER&moduleName=$MODULENAME$&certsDir=$CERTSDIR$
+uploadInternalurl=v1/identity/uploadIDACertificate?certificateType=INTERNAL&moduleName=$MODULENAME$&certsDir=$CERTSDIR$
+authPolicyUrl=/v1/policymanager/policies
+policyGroupUrl=/v1/policymanager/policies/group/new
+publishPolicyurl=/v1/policymanager/policies/POLICYID/group/POLICYGROUPID/publish
+clearCertificateURL=v1/identity/clearKeys?moduleName=$MODULENAME$&certsDir=$CERTSDIR$
+fetchLocationData=/v1/masterdata/locations/all
+fetchLocationLevel=/v1/masterdata/locations/level/
+fetchTitle=/v1/masterdata/title
+fetchZoneCode=/v1/masterdata/zones/hierarchy/
+fetchZone=/v1/masterdata/zones/zonename
+decryptKycUrl=/v1/identity/decryptEkycData
+retrieveIdByUin=/idrepository/v1/identity/idvid/
+fetchLocationHierarchyLevels=/v1/masterdata/locationHierarchyLevels/
+fetchLocationHierarchy=/v1/masterdata/locations/locationhierarchy/
+generateArgon2HashURL=/v1/keymanager/generateArgon2Hash
+appointmentavailabilityurl=/preregistration/v1/appointment/availability/
+validateSignatureUrl=v1/identity/validateSign
+vciContextURL=https://www.w3.org/2018/credentials/v1
+
+## Auto generated properties while running the test rig(s)
+adminAutoGeneratedIdPropFileName=/admin/autoGeneratedId.properties
+masterDataAutoGeneratedIdPropFileName=/masterdata/autoGeneratedId.properties
+syncDataAutoGeneratedIdPropFileName=/syncdata/autoGeneratedId.properties
+preregAutoGeneratedIdPropFileName=/preReg/autoGeneratedId.properties
+partnerAutoGeneratedIdPropFileName=/partner/autoGeneratedId.properties
+idrepoAutoGeneratedIdPropFileName=/idRepository/autoGeneratedId.properties
+residentAutoGeneratedIdPropFileName=/resident/autoGeneratedId.properties
+esignetAutoGeneratedIdPropFileName=/esignet/autoGeneratedId.properties
+mimotoAutoGeneratedIdPropFileName=/mimoto/autoGeneratedId.properties
+authAutoGeneratedIdPropFileName=/ida/autoGeneratedId.properties
+prerequisiteAutoGeneratedIdPropFileName=/prerequisite/autoGeneratedId.properties
+regProcAutoGeneratedIdPropFileName=/regProc/autoGeneratedId.properties
+mobileIdAutoGeneratedIdPropFileName=/mobileId/autoGeneratedId.properties
+
+## As below are non changble values, move these out from properties file
+appIdForCertificate=IDA
+partnerrefId=PARTNER
+internalrefId=INTERNAL
+idaFirRefId=IDA-FIR
+proxyOTP=111111
+wrongOtp=123455
+
+##
+regcentretobookappointment=10003
+keysToValidateInKYC=phoneNumber,emailId,age,dob,name_eng
+#partner certificate refId, used for getting the partner certificate
+partner=9998
+signatureheaderKey=response-signature
+uinGenMaxLoopCount=20
+uinGenDelayTime=10000
+Delaytime=90000
+
+
+## Remove this from properties file
+picturevalue=iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAABCSURBVChTbYtBEgAgCAL7/6eNhBy09qDi6gpjXZSxUU8o/jrfpDmcmY1QAOWhgTswv6sSm8zVhULlgst++8T51IjYNUHdI+4XZHoAAAAASUVORK5CYII=
+
+
+## Check are we using these properties. If not remove them
+zoneCode_to_beMapped=NTH
+expireOtpTime=180000
+demoAppVersion=1.2.1-SNAPSHOT
+AttributetoBeUpdate:Name
+ValuetoBeUpdate:Sohan
+
+## As these will be based on regEx, move these out from proprties file
+passwordForAddIdentity=12341234_Aa
+passwordToReset=12341234_AaB
+
+## Need to revisit these propeties
+XSRFTOKEN=7d01b2a8-b89d-41ad-9361-d7f6294021d1
+codeChallenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
+codeVerifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
+policyNumberForSunBirdRC=654321
+challengeValueForSunBirdRC=eyJmdWxsTmFtZSI6IkthaWYgU2lkZGlxdWUiLCJkb2IiOiIyMDAwLTA3LTI2In0=
\ No newline at end of file
diff --git a/apitest/src/main/resources/config/healthCheckEndpoint.properties b/apitest/src/main/resources/config/healthCheckEndpoint.properties
new file mode 100644
index 00000000000..f7a8576fe1e
--- /dev/null
+++ b/apitest/src/main/resources/config/healthCheckEndpoint.properties
@@ -0,0 +1,45 @@
+###### =
+regproc_masterdata=/v1/hotlist/actuator/health
+masterdata=/v1/admin/actuator/health
+auth_idrepo_resident_regproc_masterdata=/v1/auditmanager/actuator/health
+auth_idrepo_resident_regproc_masterdata=/v1/authmanager/actuator/health
+auth_idrepo_regproc=/biosdk-service/actuator/health
+auth_mobileid=/v1/credentialservice/actuator/health
+auth_mobileid=/v1/credentialrequest/actuator/health
+auth_idrepo_regproc_partner=/v1/datashare/actuator/health
+auth_mobileid_esignet=/idauthentication/v1/actuator/health
+auth_mobileid_esignet_partner=/idauthentication/v1/internal/actuator/health
+auth_mobileid_esignet=/idauthentication/v1/otp/actuator/health
+idrepo_auth_mobileid_mimoto_esignet_resident_regproc=/idrepository/v1/identity/actuator/health
+idrepo_regproc=/v1/idgenerator/actuator/health
+idrepo_resident_regproc_masterdata=/v1/keymanager/actuator/health
+auth_idrepo_masterdata_mobileid_mimoto_esignet_resident_partner_prereg_regproc=/v1/masterdata/actuator/health
+auth_idrepo_resident_regproc=/v1/notifier/actuator/health
+auth_mobileid=/v1/otpmanager/actuator/health
+partner_auth_esignet_idrepo_resident_regproc=/v1/partnermanager/actuator/health
+partner_auth_esignet_regproc=/v1/policymanager/actuator/health
+prereg=/preregistration/v1/captcha/actuator/health
+prereg=/v1/pridgenerator/actuator/health
+resident_regproc=/registrationprocessor/v1/packetreceiver/actuator/health
+regproc_masterdata=/registrationprocessor/v1/registrationstatus/actuator/health
+resident_auth_esignet_mobileid=/resident/v1/actuator/health
+# TO DO idrepo_auth_mobileid_mimoto_esignet_resident=/v1/ridgenerator/actuator/health
+regproc_masterdata=/v1/syncdata/actuator/health
+idrepo_auth_mobileid_mimoto_esignet_resident_regproc=/idrepository/v1/actuator/health
+auth_idrepo_resident_regproc=/hub/actuator/health
+resident_esignet=/v1/esignet/actuator/health
+
+#The below actuators are not used for functional test rigs.
+#regproc=/v1/identity/actuator/health
+#regproc=/registrationprocessor/v1/registrationtransaction/actuator/health
+#regproc=/registrationprocessor/v1/workflowmanager/actuator/health
+#regproc=/registrationprocessor/v1/landingzone/actuator/health
+#regproc=/registrationprocessor/v1/notification/actuator/health
+#regproc=/registrationprocessor/v1/opencrvs-stage/actuator/health
+#regproc=/registrationprocessor/v1/reprocessor/actuator/health
+#regproc=/v1/print/actuator/health
+#regproc=/registrationprocessor/v1/camelbridge/actuator/health
+#regproc=/v1/packetcreator/actuator/health
+#regproc=/commons/v1/packetmanager/actuator/health
+#regproc=/v1/mock-abis-service/actuator/health
+#regproc=/v1/mockmv/actuator/health
\ No newline at end of file
diff --git a/apitest/src/main/resources/config/prereg_SendOtp.json b/apitest/src/main/resources/config/prereg_SendOtp.json
new file mode 100644
index 00000000000..142abe1273f
--- /dev/null
+++ b/apitest/src/main/resources/config/prereg_SendOtp.json
@@ -0,0 +1,9 @@
+{
+ "id": "mosip.pre-registration.login.sendotp",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "request": {
+ "langCode": "$PRIMARYLANG$",
+ "userId": "robin.hood@mailinator.com"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/config/prereg_ValidateOtp.json b/apitest/src/main/resources/config/prereg_ValidateOtp.json
new file mode 100644
index 00000000000..93d22c9b123
--- /dev/null
+++ b/apitest/src/main/resources/config/prereg_ValidateOtp.json
@@ -0,0 +1,9 @@
+{
+ "id": "mosip.pre-registration.login.useridotp",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "request": {
+ "otp": "781412",
+ "userId": "robin.hood@mailinator.com"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/customize-emailable-report-template.html b/apitest/src/main/resources/customize-emailable-report-template.html
new file mode 100644
index 00000000000..cfeca4d6e18
--- /dev/null
+++ b/apitest/src/main/resources/customize-emailable-report-template.html
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apitest/src/main/resources/dbFiles/.xml b/apitest/src/main/resources/dbFiles/.xml
new file mode 100644
index 00000000000..ae236dcffbd
--- /dev/null
+++ b/apitest/src/main/resources/dbFiles/.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apitest/src/main/resources/dbFiles/PMS_delete_script.txt b/apitest/src/main/resources/dbFiles/PMS_delete_script.txt
new file mode 100644
index 00000000000..a0100b9d415
--- /dev/null
+++ b/apitest/src/main/resources/dbFiles/PMS_delete_script.txt
@@ -0,0 +1,28 @@
+delete from pms.partner_contact where partner_id='Tech-123';
+delete from partner_policy where part_id='Tech-123';
+delete from partner_policy where policy_id in (select id from auth_policy where name in ('mosip policy','mosip data share policy'));
+delete from partner_policy_request where part_id='Tech-123';
+delete from pms.partner_policy where label='string';
+delete from partner_policy_request where policy_id in (select id from auth_policy where name in ('mosip policy','mosip data share policy'));
+delete from partner_policy_bioextract where policy_id in (select id from auth_policy where name in ('mosip policy','mosip data share policy'));
+delete from partner_policy_credential_type where part_id='MOVP';
+delete from pms.partner where id in ('Tech-123','MOVP','DPP','MISP','MISP2','FTP','111997','updatepolicy');
+delete from pms.auth_policy where name in('mosip policy','mosip policy2','mosip policy3','mosip data share policy','mosip data share policy2');
+delete from pms.policy_group where name in ('mosip policy group','mosip policy group2','update_policy_group');
+delete from pms.misp_license where cr_by='pm_testuser';
+delete from pms.misp_license where misp_id in ('MISP','MISP2');
+delete from pms.ftp_chip_detail where foundational_trust_provider_id='FTP';
+delete from pms.misp where name='mosip_misp';
+delete from pms.secure_biometric_interface where provider_id='Tech-123';
+delete from pms.device_detail where id='device-id-123';
+delete from pms.device_detail where make in ('abcde','abcdef');
+delete from mosip_keymgr.keymgr.ca_cert_store where cert_subject ='CN=mosiptest.org,O=MOSIPTEST,L=Bangalore,ST=Karantaka,C=IN';
+delete from mosip_keymgr.keymgr.partner_cert_store where cert_subject ='CN=Techno.com,O=Techno,L=Bangalore,ST=Karnataka,C=IN';
+delete from mosip_keymgr.keymgr.partner_cert_store where cert_subject ='CN=Techno,O=Techno,L=Bangalore,ST=Karnataka,C=IN';
+delete from mosip_keymgr.keymgr.ca_cert_store where cert_subject ='CN=apitest,OU=apitest,O=apitest,L=BLR,ST=KAR,C=IN';
+delete from mosip_keymgr.keymgr.ca_cert_store where cert_subject ='CN=apitest2,OU=apitest2,O=apitest2,L=BLR,ST=KAR,C=IN';
+delete from mosip_keymgr.keymgr.partner_cert_store where cert_subject ='CN=deviceprovider,OU=deviceprovider,O=deviceprovider,L=BLR,ST=KAR,C=IN';
+delete from mosip_keymgr.keymgr.partner_cert_store where cert_subject ='CN=movp,OU=movp,O=movp,L=BLR,ST=KAR,C=IN';
+delete from mosip_keymgr.keymgr.partner_cert_store where cert_subject ='CN=ftp,OU=ftp,O=ftp,L=BLR,ST=KAR,C=IN';
+delete from mosip_keymgr.keymgr.partner_cert_store where cert_subject ='CN=misp,OU=misp,O=misp,L=BLR,ST=KAR,C=IN';
+delete from mosip_keymgr.keymgr.partner_cert_store where cert_subject ='CN=misp2,OU=misp2,O=misp2,L=BLR,ST=KAR,C=IN';
\ No newline at end of file
diff --git a/apitest/src/main/resources/dbFiles/dbConfig.xml b/apitest/src/main/resources/dbFiles/dbConfig.xml
new file mode 100644
index 00000000000..e27fb8f563a
--- /dev/null
+++ b/apitest/src/main/resources/dbFiles/dbConfig.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apitest/src/main/resources/dbFiles/delete_Masterdata.sql b/apitest/src/main/resources/dbFiles/delete_Masterdata.sql
new file mode 100644
index 00000000000..8724f6b2e58
--- /dev/null
+++ b/apitest/src/main/resources/dbFiles/delete_Masterdata.sql
@@ -0,0 +1,88 @@
+delete from master.blocklisted_words where cr_by='dumbo6';
+delete from master.blocklisted_words where word='dumbooo';
+delete from master.blocklisted_words where cr_by='masterdata-220005';
+delete from master.machine_master where cr_by='masterdata-220005';
+delete from master.machine_master where cr_by='masterdata-220005';
+delete from master.machine_master where name in ('Mach-Test','Mach-Test2','Mach-Test updated');
+delete from master.machine_master mm WHERE mm.mspec_id IN(SELECT ms.id from master.machine_spec ms where ms.cr_by='masterdata-220005');
+delete FROM master.machine_spec WHERE mtyp_code IN (SELECT code FROM master.machine_type WHERE cr_by = 'masterdata-220005');
+delete from master.machine_spec where cr_by='masterdata-220005';
+delete from master.machine_type where cr_by='masterdata-220005';
+delete from master.gender where cr_by='masterdata-220005';
+delete from master.device_master where upd_by='masterdata-220005';
+delete from master.device_master where cr_by='masterdata-220005';
+delete from master.device_master where name='testDevicedummy';
+DELETE FROM master.device_master WHERE dspec_id IN(SELECT id FROM master.device_spec WHERE cr_by='masterdata-220005');
+delete from master.device_spec where cr_by='masterdata-220005';
+delete from master.device_type where cr_by='masterdata-220005';
+delete from master.loc_holiday where cr_by='masterdata-220005';
+delete from master.reg_center_type where cr_by='masterdata-220005';
+delete from master.registration_center where cr_by='masterdata-220005';
+delete from master.loc_holiday where cr_by='masterdata-220005';
+delete from master.reg_center_type where cr_by='masterdata-220005';
+delete from master.registration_center where cr_by='masterdata-220005';
+delete from master.device_type where cr_by='masterdata-220005';
+delete from master.doc_type where cr_by='masterdata-220005';
+delete from master.doc_category where cr_by='masterdata-220005';
+delete from master.location where cr_by='masterdata-220005';
+delete from master.template where cr_by='masterdata-220005';
+update master.template set is_active='true', is_deleted='false' where id='1101';
+delete from master.template where template_typ_code IN(select code from master.template_type where code='Test-info-Template-auto');
+delete from master.template_type where code='Test-info-Template-auto';
+update master.location set is_active='true', is_deleted='false' where code='10114';
+delete from master.location where code in('TST123','IND');
+delete from master.valid_document where cr_by='masterdata-220005';
+delete from master.user_detail where cr_by='masterdata-220005';
+delete from master.template_type where cr_by='masterdata-220005';
+delete from master.template_file_format where cr_by='masterdata-220005';
+delete from master.reason_list where cr_by='masterdata-220005';
+delete from master.reason_category where cr_by='masterdata-220005';
+delete from master.language where cr_by='masterdata-220005';
+delete from master.identity_schema where cr_by='masterdata-220005';
+delete from master.biometric_attribute where cr_by='masterdata-220005';
+delete from master.biometric_type where cr_by='masterdata-220005';
+delete from master.appl_form_type where cr_by='masterdata-220005';
+delete from master.id_type where cr_by='masterdata-220005';
+delete from master.dynamic_field where cr_by='masterdata-220005';
+delete from master.zone_user where usr_id='masterdata-220005';
+delete from master.blocklisted_words where word='dumbo6';
+delete from master.blocklisted_words where word='dumbo7';
+delete from master.machine_master where name in ('Mach-Test','Mach-Test2','Mach-Test updated');
+delete from master.machine_master where mac_address = '61-D3-FD-12-C9-ED';
+delete from master.machine_spec where name='HP';
+delete from master.machine_master where cr_by='masterdata-220005';
+delete from master.machine_type where code='Laptop2';
+delete from master.gender where code='Genderdummy';
+delete FROM master.device_master where name in ('testDevicedummy','testDevicedummy updated');
+delete from master.device_master where dspec_id='743';
+delete from master.device_spec where id='743';
+delete from master.device_type where code='GST3';
+delete from master.loc_holiday where holiday_name='AutoTest user Eng';
+delete from master.reg_center_type where code='ALT-3';
+delete FROM master.registration_center where name in ('Test123','HSR Center updated');
+delete from master.loc_holiday where holiday_name in ('AutoTest user Eng','AutoTest user');
+delete from master.reg_center_type where code in('ALT-3','ALT-5');
+delete from master.registration_center where id='10000';
+delete from master.device_type where code in ('GST3','GST4');
+delete from master.doc_type where code in ('TestDocType0010','TestDocType0020');
+delete from master.doc_category where code in ('DocTestCode123','DocTestCode321');
+delete from master.location where code='TST12';
+delete from master.template where id='445566777';
+delete from master.template where template_typ_code IN(select code from master.template_type where code='Test-info-Template-auto');
+update master.template set is_active='true', is_deleted='false' where id='1101';
+delete from master.template_type where code='Test-info-Template-auto';
+update master.location set is_active='true', is_deleted='false' where code='10114';
+delete from master.location where code in('TST123','IND');
+delete from master.valid_document where doctyp_Code='doc_auto_test';
+delete from master.user_detail where cr_by='110005';
+delete from master.template_type where code='Test-info-Template-auto';
+delete from master.template_file_format where code='Doc';
+delete from master.reason_list where code='TEST_LIST_CODE';
+delete from master.reason_category where code='TEST_CAT_CODE';
+delete from master.language where code='automationLang';
+delete from master.identity_schema where title='test-schema';
+delete from master.biometric_attribute where code='TST';
+delete from master.biometric_type where code='dumbo6';
+delete from master.appl_form_type where code='dumbo';
+delete from master.id_type where code='NEW';
+delete from master.dynamic_field where name in ('TestAutomationField','TestAPL');
diff --git a/apitest/src/main/resources/krb5.conf b/apitest/src/main/resources/krb5.conf
new file mode 100644
index 00000000000..734dbfcf887
--- /dev/null
+++ b/apitest/src/main/resources/krb5.conf
@@ -0,0 +1,29 @@
+# Configuration snippets may be placed in this directory as well
+includedir /etc/krb5.conf.d/
+
+[logging]
+ default = FILE:/var/log/krb5libs.log
+ kdc = FILE:/var/log/krb5kdc.log
+ admin_server = FILE:/var/log/kadmind.log
+
+[libdefaults]
+ kdc_timeout = 30s
+ udp_preference_limit = 1
+ dns_lookup_realm = false
+ ticket_lifetime = 365d
+ renew_lifetime = 365d
+ forwardable = true
+ rdns = false
+ pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
+ default_realm = NODE-MASTER.SOUTHINDIA.CLOUDAPP.AZURE.COM
+ #default_ccache_name = KEYRING:persistent:%{uid}
+
+[realms]
+ NODE-MASTER.SOUTHINDIA.CLOUDAPP.AZURE.COM = {
+ kdc = node-master.southindia.cloudapp.azure.com:51088
+ admin_server = node-master.southindia.cloudapp.azure.com
+}
+
+[domain_realm]
+ .node-master.southindia.cloudapp.azure.com = NODE-MASTER.SOUTHINDIA.CLOUDAPP.AZURE.COM
+ node-master.southindia.cloudapp.azure.com = NODE-MASTER.SOUTHINDIA.CLOUDAPP.AZURE.COM
\ No newline at end of file
diff --git a/apitest/src/main/resources/log4j.properties b/apitest/src/main/resources/log4j.properties
new file mode 100644
index 00000000000..93001dc6826
--- /dev/null
+++ b/apitest/src/main/resources/log4j.properties
@@ -0,0 +1,8 @@
+log4j.rootLogger=INFO, Appender1,Appender2
+log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
+log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
+log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n
+log4j.appender.Appender2=org.apache.log4j.FileAppender
+log4j.appender.Appender2.File=src/logs/mosip-api-test.log
+log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
+log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n
diff --git a/apitest/src/main/resources/metadata.xml b/apitest/src/main/resources/metadata.xml
new file mode 100644
index 00000000000..ea66c92e66e
--- /dev/null
+++ b/apitest/src/main/resources/metadata.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ io.mosip.testrig.apirig.automationtests
+ automationtests
+ jar
+ io.mosip.testrig.apirig.automationtests
+ http://maven.apache.org
+
+
+ io.mosip
+ mosip-parent
+ 1.0.10
+
+
+
diff --git a/apitest/src/main/resources/preReg/AddLostUinApplication/AddLostUinApplication.yml b/apitest/src/main/resources/preReg/AddLostUinApplication/AddLostUinApplication.yml
new file mode 100644
index 00000000000..9fe69c02a42
--- /dev/null
+++ b/apitest/src/main/resources/preReg/AddLostUinApplication/AddLostUinApplication.yml
@@ -0,0 +1,171 @@
+AddLostUinApplication:
+ Prereg_AddLostUinApplication_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/lostuin
+ role: batch
+ templateFields: ["langCode"]
+ restMethod: post
+ inputTemplate: preReg/AddLostUinApplication/addLostUinApplication
+ outputTemplate: preReg/AddLostUinApplication/addLostUinApplicationResult
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "eng",
+ "id": "mosip.pre-registration.lostuin.create"
+}'
+ output: '{
+ "bookingType": "LOST_FORGOTTEN_UIN",
+ "applicationStatusCode": "SUBMITTED"
+}'
+ Prereg_AddLostUinApplication_Invalid_id:
+ endPoint: /preregistration/v1/applications/lostuin
+ role: batch
+ templateFields: ["langCode"]
+ restMethod: post
+ inputTemplate: preReg/AddLostUinApplication/addLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "eng",
+ "id": "n.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
+ Prereg_AddLostUinApplication_invalid_lang_code:
+ endPoint: /preregistration/v1/applications/lostuin
+ role: batch
+ templateFields: ["langCode"]
+ restMethod: post
+ inputTemplate: preReg/AddLostUinApplication/addLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "e@@dd",
+ "id": "mosip.pre-registration.lostuin.create"
+}'
+ output: '{
+ "bookingType": "LOST_FORGOTTEN_UIN",
+ "applicationStatusCode": "SUBMITTED"
+}'
+ Prereg_AddLostUinApplication_without_version:
+ endPoint: /preregistration/v1/applications/lostuin
+ role: batch
+ templateFields: ["langCode"]
+ restMethod: post
+ inputTemplate: preReg/AddLostUinApplication/addLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "version": "",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "eng",
+ "id": "mosip.pre-registration.lostuin.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
+ Prereg_AddLostUinApplication_without_version_attribute:
+ endPoint: /preregistration/v1/applications/lostuin
+ role: batch
+ templateFields: ["langCode"]
+ restMethod: post
+ inputTemplate: preReg/AddLostUinApplication/addLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "version": "$IGNORE$",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "eng",
+ "id": "mosip.pre-registration.lostuin.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
+ Prereg_AddLostUinApplication_with_INVALID_version:
+ endPoint: /preregistration/v1/applications/lostuin
+ role: batch
+ templateFields: ["langCode"]
+ restMethod: post
+ inputTemplate: preReg/AddLostUinApplication/addLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "version": "$353F@GGWYS",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "eng",
+ "id": "mosip.pre-registration.lostuin.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
+ Prereg_AddLostUinApplication_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/lostuin
+ role: batch
+ templateFields: ["langCode"]
+ restMethod: post
+ inputTemplate: preReg/AddLostUinApplication/addLostUinApplication
+ outputTemplate: preReg/AddLostUinApplication/addLostUinApplicationResult
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "eng",
+ "id": "mosip.pre-registration.lostuin.create"
+}'
+ output: '{
+ "bookingType": "LOST_FORGOTTEN_UIN",
+ "applicationStatusCode": "SUBMITTED"
+}'
+
+ Prereg_AddLostUinApplication_inValid_langcode:
+ endPoint: /preregistration/v1/applications/lostuin
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/AddLostUinApplication/addLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "xyz",
+ "id": "mosip.pre-registration.lostuin.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
+ Prereg_AddLostUinApplication_without_any_data:
+ endPoint: /preregistration/v1/applications/lostuin
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/AddLostUinApplication/addLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "version": "",
+ "requesttime": "",
+ "langCode": "",
+ "id": ""
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/AddLostUinApplication/addLostUinApplication.hbs b/apitest/src/main/resources/preReg/AddLostUinApplication/addLostUinApplication.hbs
new file mode 100644
index 00000000000..0cd0453f1dc
--- /dev/null
+++ b/apitest/src/main/resources/preReg/AddLostUinApplication/addLostUinApplication.hbs
@@ -0,0 +1,8 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "request": {
+ "langCode": "{{langCode}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/AddLostUinApplication/addLostUinApplicationResult.hbs b/apitest/src/main/resources/preReg/AddLostUinApplication/addLostUinApplicationResult.hbs
new file mode 100644
index 00000000000..c9bc8b39df3
--- /dev/null
+++ b/apitest/src/main/resources/preReg/AddLostUinApplication/addLostUinApplicationResult.hbs
@@ -0,0 +1,6 @@
+{
+ "response": {
+ "applicationStatusCode": "{{applicationStatusCode}}",
+ "bookingType": "{{bookingType}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/AddUpdateRegistration/AddUpdateRegistration.yml b/apitest/src/main/resources/preReg/AddUpdateRegistration/AddUpdateRegistration.yml
new file mode 100644
index 00000000000..b31e8d97d5f
--- /dev/null
+++ b/apitest/src/main/resources/preReg/AddUpdateRegistration/AddUpdateRegistration.yml
@@ -0,0 +1,39 @@
+AddUpdateRegistration:
+ Prereg_AddUpdateRegistration_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/updateregistration
+ role: batch
+ templateFields: ["langCode"]
+ restMethod: post
+ inputTemplate: preReg/AddUpdateRegistration/addUpdateRegistration
+ outputTemplate: preReg/AddUpdateRegistration/addUpdateRegistrationResult
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "eng",
+ "id": "mosip.pre-registration.updateregistration.create"
+}'
+ output: '{
+ "bookingType": "UPDATE_REGISTRATION",
+ "applicationStatusCode": "SUBMITTED"
+}'
+
+ Prereg_AddUpdateRegistration_inValid_langcode:
+ endPoint: /preregistration/v1/applications/updateregistration
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/AddUpdateRegistration/addUpdateRegistration
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "langCode": "xyz",
+ "id": "mosip.pre-registration.updateregistration.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014",
+ "message": "Lang code is invalid"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/AddUpdateRegistration/addUpdateRegistration.hbs b/apitest/src/main/resources/preReg/AddUpdateRegistration/addUpdateRegistration.hbs
new file mode 100644
index 00000000000..0cd0453f1dc
--- /dev/null
+++ b/apitest/src/main/resources/preReg/AddUpdateRegistration/addUpdateRegistration.hbs
@@ -0,0 +1,8 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "request": {
+ "langCode": "{{langCode}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/AddUpdateRegistration/addUpdateRegistrationResult.hbs b/apitest/src/main/resources/preReg/AddUpdateRegistration/addUpdateRegistrationResult.hbs
new file mode 100644
index 00000000000..c9bc8b39df3
--- /dev/null
+++ b/apitest/src/main/resources/preReg/AddUpdateRegistration/addUpdateRegistrationResult.hbs
@@ -0,0 +1,6 @@
+{
+ "response": {
+ "applicationStatusCode": "{{applicationStatusCode}}",
+ "bookingType": "{{bookingType}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/AuditLog/AuditLog.yml b/apitest/src/main/resources/preReg/AuditLog/AuditLog.yml
new file mode 100644
index 00000000000..e3a9031befa
--- /dev/null
+++ b/apitest/src/main/resources/preReg/AuditLog/AuditLog.yml
@@ -0,0 +1,13 @@
+addContact:
+ Prereg_AddContact_All_Valid_Smoke:
+ endPoint: SELECT module_name,cr_by FROM audit.app_audit_log where module_name LIKE '%prereg%' order by action_dtimes desc LIMIT 5
+ role: audit
+ templateFields: ["preregQuery","prereg service"]
+ restMethod: post
+ inputTemplate: prereg/AuditLog/auditlog
+ outputTemplate: prereg/AuditLog/AuditLogResult
+ input: '{
+ }'
+ output: '{
+ "module_name": "prereg service"
+ }'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/AuditLog/AuditLogResult.hbs b/apitest/src/main/resources/preReg/AuditLog/AuditLogResult.hbs
new file mode 100644
index 00000000000..ecf91c4fc6c
--- /dev/null
+++ b/apitest/src/main/resources/preReg/AuditLog/AuditLogResult.hbs
@@ -0,0 +1,4 @@
+{
+ "module_name": "{{module_name}}",
+ "cr_by": "{{cr_by}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/AuditLog/auditlog.hbs b/apitest/src/main/resources/preReg/AuditLog/auditlog.hbs
new file mode 100644
index 00000000000..be4951065d3
--- /dev/null
+++ b/apitest/src/main/resources/preReg/AuditLog/auditlog.hbs
@@ -0,0 +1,3 @@
+{
+ "moduleName": "{{moduleName}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/BookMultipleAppointment/BookMultipleAppointment.yml b/apitest/src/main/resources/preReg/BookMultipleAppointment/BookMultipleAppointment.yml
new file mode 100644
index 00000000000..3b4926980be
--- /dev/null
+++ b/apitest/src/main/resources/preReg/BookMultipleAppointment/BookMultipleAppointment.yml
@@ -0,0 +1,32 @@
+BookMultipleAppointment:
+ Prereg_BookMultipleAppointment_All_Valid_Smoke:
+ endPoint: /preregistration/v1/appointment
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/BookMultipleAppointment/bookMultipleAppointment
+ outputTemplate: preReg/BookMultipleAppointment/bookMultipleAppointmentResult
+ input: '{
+"bookingRequest": [{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ }
+"bookingR{
+ "preRegistrationId": "$ID:CreatePrereg_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$"
+ }]
+}'
+ output: '{
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/BookMultipleAppointment/bookMultipleAppointment.hbs b/apitest/src/main/resources/preReg/BookMultipleAppointment/bookMultipleAppointment.hbs
new file mode 100644
index 00000000000..5cffcaf1f63
--- /dev/null
+++ b/apitest/src/main/resources/preReg/BookMultipleAppointment/bookMultipleAppointment.hbs
@@ -0,0 +1,23 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "request":{
+ "bookingRequest": [
+ {
+ "preRegistrationId":"{{preRegistrationId}}",
+ "registration_center_id": "{{registration_center_id}}",
+ "appointment_date": "{{appointment_date}}",
+ "time_slot_from": "{{time_slot_from}}",
+ "time_slot_to": "{{time_slot_to}}"
+ },
+ {
+ "preRegistrationId":"{{preRegistrationId}}",
+ "registration_center_id": "{{registration_center_id}}",
+ "appointment_date": "{{appointment_date}}",
+ "time_slot_from": "{{time_slot_from}}",
+ "time_slot_to": "{{time_slot_to}}"
+ }
+
+ ]}
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/BookMultipleAppointment/bookMultipleAppointmentResult.hbs b/apitest/src/main/resources/preReg/BookMultipleAppointment/bookMultipleAppointmentResult.hbs
new file mode 100644
index 00000000000..4e4d62b305e
--- /dev/null
+++ b/apitest/src/main/resources/preReg/BookMultipleAppointment/bookMultipleAppointmentResult.hbs
@@ -0,0 +1,12 @@
+{
+ "response": {
+ "bookingStatusResponse": [
+ {
+ "bookingMessage": "{{bookingMessage}}"
+ },
+ {
+ "bookingMessage": "{{bookingMessage}}"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/CancelApplicationsAppointment/CancelApplicationsAppointment.yml b/apitest/src/main/resources/preReg/CancelApplicationsAppointment/CancelApplicationsAppointment.yml
new file mode 100644
index 00000000000..4b3744b61ae
--- /dev/null
+++ b/apitest/src/main/resources/preReg/CancelApplicationsAppointment/CancelApplicationsAppointment.yml
@@ -0,0 +1,29 @@
+CancelApplicationsAppointment:
+ Prereg_CancelApplicationsAppointment_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/CancelApplicationsAppointment/cancelApplicationsAppointment
+ outputTemplate: preReg/CancelApplicationsAppointment/cancelApplicationsAppointmentResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancelApplicationsAppointment_sid_preRegistrationId$"
+}'
+ output: '{
+}'
+ Prereg_CancelApplicationsAppointment_inValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/CancelApplicationsAppointment/cancelApplicationsAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "36272yhshsgblAppointment_sid_preRegistrati"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/CancelApplicationsAppointment/cancelApplicationsAppointment.hbs b/apitest/src/main/resources/preReg/CancelApplicationsAppointment/cancelApplicationsAppointment.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/CancelApplicationsAppointment/cancelApplicationsAppointment.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/CancelApplicationsAppointment/cancelApplicationsAppointmentResult.hbs b/apitest/src/main/resources/preReg/CancelApplicationsAppointment/cancelApplicationsAppointmentResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/CancelApplicationsAppointment/cancelApplicationsAppointmentResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/CancelAppointment/CancelAppointment.yml b/apitest/src/main/resources/preReg/CancelAppointment/CancelAppointment.yml
new file mode 100644
index 00000000000..db6b22ce282
--- /dev/null
+++ b/apitest/src/main/resources/preReg/CancelAppointment/CancelAppointment.yml
@@ -0,0 +1,63 @@
+CancelAppointment:
+ Prereg_CancelAppointment_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/appointment/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/CancelAppointment/cancelAppointment
+ outputTemplate: preReg/CancelAppointment/cancelAppointmentResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancellAppointment_sid_preRegistrationId$"
+}'
+ output: '{
+}'
+ Prereg_CancelAppointment_with_already_cancelled_appoinment:
+ endPoint: /preregistration/v1/appointment/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/CancelAppointment/cancelAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancellAppointment_sid_preRegistrationId$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
+ Prereg_CancelAppointment_cancell_incomplete_appoinment:
+ endPoint: /preregistration/v1/appointment/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/CancelAppointment/cancelAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_cancell_incomplete_prid_sid_preRegistrationId$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
+ Prereg_CancelAppointment_inValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/appointment/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/CancelAppointment/cancelAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "36272yhshsgblAppointment_sid_preRegistrati"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/CancelAppointment/cancelAppointment.hbs b/apitest/src/main/resources/preReg/CancelAppointment/cancelAppointment.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/CancelAppointment/cancelAppointment.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/CancelAppointment/cancelAppointmentResult.hbs b/apitest/src/main/resources/preReg/CancelAppointment/cancelAppointmentResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/CancelAppointment/cancelAppointmentResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/CopyDocument/CopyDocument.yml b/apitest/src/main/resources/preReg/CopyDocument/CopyDocument.yml
new file mode 100644
index 00000000000..6a94b624d06
--- /dev/null
+++ b/apitest/src/main/resources/preReg/CopyDocument/CopyDocument.yml
@@ -0,0 +1,66 @@
+CopyDocument:
+ Prereg_CopyDocument_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}?catCode={doc_cat_code}&sourcePreId={preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/CopyDocument/copyDocument
+ outputTemplate: preReg/CopyDocument/copyDocumentResult
+ input: '{
+ "doc_cat_code" : "POA",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+"docCatCode":"POA",
+"docTypCode": "RNC"
+}'
+ Prereg_CopyDocument_in_Valid_doc_cat_code_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}?catCode={doc_cat_code}&sourcePreId={preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/CopyDocument/copyDocument
+ outputTemplate: preReg/error
+ input: '{
+ "doc_cat_code" : "saxs@34dbjhj",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_017"
+ }
+ ]
+}'
+ Prereg_CopyDocument_blank_doc_cat_code_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}?catCode={doc_cat_code}&sourcePreId={preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/CopyDocument/copyDocument
+ outputTemplate: preReg/error
+ input: '{
+ "doc_cat_code" : "",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_017"
+ }
+ ]
+}'
+ Prereg_CopyDocument_Invalid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}?catCode={doc_cat_code}&sourcePreId={preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/CopyDocument/copyDocument
+ outputTemplate: preReg/error
+ input: '{
+ "doc_cat_code" : "POA",
+ "preRegistrationId": "zsvahhv@345rc"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/CopyDocument/copyDocument.hbs b/apitest/src/main/resources/preReg/CopyDocument/copyDocument.hbs
new file mode 100644
index 00000000000..f9dc04d65d0
--- /dev/null
+++ b/apitest/src/main/resources/preReg/CopyDocument/copyDocument.hbs
@@ -0,0 +1,4 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}",
+ "doc_cat_code": "{{doc_cat_code}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/CopyDocument/copyDocumentResult.hbs b/apitest/src/main/resources/preReg/CopyDocument/copyDocumentResult.hbs
new file mode 100644
index 00000000000..c8f97455235
--- /dev/null
+++ b/apitest/src/main/resources/preReg/CopyDocument/copyDocumentResult.hbs
@@ -0,0 +1,6 @@
+{
+ "response": {
+ "docCatCode": "{{docCatCode}}",
+ "docTypCode": "{{docTypCode}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteAllDocForaPRID/DeleteAllDocForaPRID.yml b/apitest/src/main/resources/preReg/DeleteAllDocForaPRID/DeleteAllDocForaPRID.yml
new file mode 100644
index 00000000000..b616cda969d
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteAllDocForaPRID/DeleteAllDocForaPRID.yml
@@ -0,0 +1,29 @@
+DeleteAllDocForaPRID:
+ Prereg_DeletePreRegistration_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/documents/preregistration/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: delete
+ inputTemplate: preReg/DeleteAllDocForaPRID/deleteAllDocForaPRID
+ outputTemplate: preReg/DeleteAllDocForaPRID/deleteAllDocForaPRIDResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_alldel_sid_preRegistrationId$"
+}'
+ output: '{
+}'
+ Prereg_DeletePreRegistration_InValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/documents/preregistration/{preRegistrationId}
+ role: batch
+ restMethod: delete
+ inputTemplate: preReg/DeleteAllDocForaPRID/deleteAllDocForaPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$I8765fghsid_preRegistrationId$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005",
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteAllDocForaPRID/deleteAllDocForaPRID.hbs b/apitest/src/main/resources/preReg/DeleteAllDocForaPRID/deleteAllDocForaPRID.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteAllDocForaPRID/deleteAllDocForaPRID.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteAllDocForaPRID/deleteAllDocForaPRIDResult.hbs b/apitest/src/main/resources/preReg/DeleteAllDocForaPRID/deleteAllDocForaPRIDResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteAllDocForaPRID/deleteAllDocForaPRIDResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteBooking/DeleteBooking.yml b/apitest/src/main/resources/preReg/DeleteBooking/DeleteBooking.yml
new file mode 100644
index 00000000000..3c2974c5dee
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteBooking/DeleteBooking.yml
@@ -0,0 +1,13 @@
+DeleteBooking:
+ Prereg_DeleteBooking_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/appointment?preRegistrationId={preRegistrationId}
+ role: batch
+ restMethod: delete
+ inputTemplate: preReg/DeleteBooking/deleteBooking
+ outputTemplate: preReg/DeleteBooking/deleteBookingResult
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "deletedBy":"robin.hood@mailinator.com"
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteBooking/deleteBooking.hbs b/apitest/src/main/resources/preReg/DeleteBooking/deleteBooking.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteBooking/deleteBooking.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteBooking/deleteBookingResult.hbs b/apitest/src/main/resources/preReg/DeleteBooking/deleteBookingResult.hbs
new file mode 100644
index 00000000000..ad158d3d0d7
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteBooking/deleteBookingResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "deletedBy": "{{deletedBy}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteLostUinApplication/DeleteLostUinApplication.yml b/apitest/src/main/resources/preReg/DeleteLostUinApplication/DeleteLostUinApplication.yml
new file mode 100644
index 00000000000..125a4b5093a
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteLostUinApplication/DeleteLostUinApplication.yml
@@ -0,0 +1,76 @@
+DeleteLostUinApplication:
+ Prereg_DeleteLostUinApplication_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg/{applicationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: delete
+ inputTemplate: preReg/DeleteLostUinApplication/deleteLostUinApplication
+ outputTemplate: preReg/DeleteLostUinApplication/deleteLostUinApplicationResult
+ input: '{
+ "applicationId": "$ID:CreatePrereg_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "deletedBy": "$IGNORE$"
+}'
+ Prereg_DeleteLostUinApplication_after_its_deletion:
+ endPoint: /preregistration/v1/applications/prereg/{applicationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: delete
+ inputTemplate: preReg/DeleteLostUinApplication/deleteLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "applicationId": "$ID:CreatePrereg_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
+ Prereg_DeleteLostUinApplication_multiple_application_sid:
+ endPoint: /preregistration/v1/applications/prereg/{applicationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: delete
+ inputTemplate: preReg/DeleteLostUinApplication/deleteLostUinApplication
+ outputTemplate: preReg/DeleteLostUinApplication/deleteLostUinApplicationResult
+ input: '{
+ "applicationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$"
+}'
+ output: '{
+ "deletedBy": "$IGNORE$"
+}'
+ Prereg_DeleteLostUinApplication_inValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/applications/prereg/{applicationId}
+ role: batch
+ restMethod: delete
+ inputTemplate: preReg/DeleteLostUinApplication/deleteLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "applicationId": "nhhh654443@@ffffv"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
+ Prereg_DeleteLostUinApplication_random_number_sid:
+ endPoint: /preregistration/v1/applications/prereg/{applicationId}
+ role: batch
+ restMethod: delete
+ inputTemplate: preReg/DeleteLostUinApplication/deleteLostUinApplication
+ outputTemplate: preReg/error
+ input: '{
+ "applicationId": "12736445738389"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteLostUinApplication/deleteLostUinApplication.hbs b/apitest/src/main/resources/preReg/DeleteLostUinApplication/deleteLostUinApplication.hbs
new file mode 100644
index 00000000000..95f5a367e5a
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteLostUinApplication/deleteLostUinApplication.hbs
@@ -0,0 +1,3 @@
+{
+ "applicationId": "{{applicationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteLostUinApplication/deleteLostUinApplicationResult.hbs b/apitest/src/main/resources/preReg/DeleteLostUinApplication/deleteLostUinApplicationResult.hbs
new file mode 100644
index 00000000000..0fac661eed6
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteLostUinApplication/deleteLostUinApplicationResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "deletedBy": "{{deletedBy}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeletePreRegistration/DeletePreRegistration.yml b/apitest/src/main/resources/preReg/DeletePreRegistration/DeletePreRegistration.yml
new file mode 100644
index 00000000000..0d23be3e7dd
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeletePreRegistration/DeletePreRegistration.yml
@@ -0,0 +1,29 @@
+DeletePreRegistration:
+ Prereg_DeletePreRegistration_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: delete
+ inputTemplate: preReg/DeletePreRegistration/deletePreRegistration
+ outputTemplate: preReg/DeletePreRegistration/deletePreRegistrationResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$"
+}'
+ output: '{
+"deletedBy": "robin.hood@mailinator.com"
+}'
+ Prereg_DeletePreRegistration_inValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: delete
+ inputTemplate: preReg/DeletePreRegistration/deletePreRegistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "nhhh654443@@ffffv"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeletePreRegistration/deletePreRegistration.hbs b/apitest/src/main/resources/preReg/DeletePreRegistration/deletePreRegistration.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeletePreRegistration/deletePreRegistration.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeletePreRegistration/deletePreRegistrationResult.hbs b/apitest/src/main/resources/preReg/DeletePreRegistration/deletePreRegistrationResult.hbs
new file mode 100644
index 00000000000..0fac661eed6
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeletePreRegistration/deletePreRegistrationResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "deletedBy": "{{deletedBy}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteSpecificDocForaPRID/DeleteSpecificDocForaPRID.yml b/apitest/src/main/resources/preReg/DeleteSpecificDocForaPRID/DeleteSpecificDocForaPRID.yml
new file mode 100644
index 00000000000..1ce3096c3ed
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteSpecificDocForaPRID/DeleteSpecificDocForaPRID.yml
@@ -0,0 +1,49 @@
+DeleteSpecificDocForaPRID:
+ Prereg_DeleteSpecificDocForaPRID_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/documents/{documentId}?preRegistrationId={preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRID
+ outputTemplate: preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRIDResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "documentId": "$ID:UploadDocument_All_Valid_Smoke_sid_docId$"
+}'
+ output: '{
+
+}'
+ Prereg_DeletePreRegistration_inValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/documents/{documentId}?preRegistrationId={preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "hnyfv_preRegistrationId",
+ "documentId": "$ID:UploadDocument_All_Valid_Smoke_sid_docId$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
+ Prereg_DeletePreRegistration_inValid_documentId_sid:
+ endPoint: /preregistration/v1/documents/{documentId}?preRegistrationId={preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "documentId": "53fhv@fgjd_Smoke_sid_docId$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_DOC_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRID.hbs b/apitest/src/main/resources/preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRID.hbs
new file mode 100644
index 00000000000..81173ad49d8
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRID.hbs
@@ -0,0 +1,4 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}",
+ "documentId": "{{documentId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRIDResult.hbs b/apitest/src/main/resources/preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRIDResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DeleteSpecificDocForaPRID/deleteSpecificDocForaPRIDResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DiscardBooking/DiscardBookingOutput.json b/apitest/src/main/resources/preReg/DiscardBooking/DiscardBookingOutput.json
new file mode 100644
index 00000000000..43dbcd677e9
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DiscardBooking/DiscardBookingOutput.json
@@ -0,0 +1 @@
+[{"testType":"smoke","testCaseName":"DiscardBooking_smoke","jiraId":"MOS-1002","pre_registration_id":"valid","status":""}, {"testType":"regression","pre_registration_id":"invalid","status":""}]
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DiscardBooking/DiscardBookingRequest.json b/apitest/src/main/resources/preReg/DiscardBooking/DiscardBookingRequest.json
new file mode 100644
index 00000000000..8a3b358bd72
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DiscardBooking/DiscardBookingRequest.json
@@ -0,0 +1,5 @@
+{
+"pre_registration_id":"36840240571537"
+
+
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DiscardBooking/DiscardBooking_smoke/request.json b/apitest/src/main/resources/preReg/DiscardBooking/DiscardBooking_smoke/request.json
new file mode 100644
index 00000000000..b01819561b0
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DiscardBooking/DiscardBooking_smoke/request.json
@@ -0,0 +1,3 @@
+{
+ "pre_registration_id": "20489159324981"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/DiscardBooking/DiscardBooking_smoke/response.json b/apitest/src/main/resources/preReg/DiscardBooking/DiscardBooking_smoke/response.json
new file mode 100644
index 00000000000..e27e947ae49
--- /dev/null
+++ b/apitest/src/main/resources/preReg/DiscardBooking/DiscardBooking_smoke/response.json
@@ -0,0 +1,14 @@
+{
+"id":"mosip.pre-registration.booking.book",
+"version":"1.0",
+"err":null,
+"responsetime":"2019-04-01T07:22:13.078Z",
+"response":
+[
+{
+"preRegistrationId":"60724608364839",
+"deletedBy":"987654321",
+"deletedDateTime":"2019-04-01T07:22:13.078+0000"
+}
+]
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/Documents/invalidDocument/docSizeGreaterThan5MB.pdf b/apitest/src/main/resources/preReg/Documents/invalidDocument/docSizeGreaterThan5MB.pdf
new file mode 100644
index 00000000000..8a4a67edab3
Binary files /dev/null and b/apitest/src/main/resources/preReg/Documents/invalidDocument/docSizeGreaterThan5MB.pdf differ
diff --git a/apitest/src/main/resources/preReg/Documents/invalidDocument/file.csv b/apitest/src/main/resources/preReg/Documents/invalidDocument/file.csv
new file mode 100644
index 00000000000..1a41026057e
--- /dev/null
+++ b/apitest/src/main/resources/preReg/Documents/invalidDocument/file.csv
@@ -0,0 +1,2 @@
+Task1,Task2,Task3,Task4,Task5,Task6,Task7
+"Total 234234234 ",Task arrival,Task departure,Time Taken,Time spent,Time left,Time out
diff --git a/apitest/src/main/resources/preReg/Documents/invalidDocument/file.txt b/apitest/src/main/resources/preReg/Documents/invalidDocument/file.txt
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apitest/src/main/resources/preReg/Documents/invalidDocument/file.xlsx b/apitest/src/main/resources/preReg/Documents/invalidDocument/file.xlsx
new file mode 100644
index 00000000000..f71c049f719
Binary files /dev/null and b/apitest/src/main/resources/preReg/Documents/invalidDocument/file.xlsx differ
diff --git a/apitest/src/main/resources/preReg/Documents/validDocument/IDProof.pdf b/apitest/src/main/resources/preReg/Documents/validDocument/IDProof.pdf
new file mode 100644
index 00000000000..f3e47ffdd7b
Binary files /dev/null and b/apitest/src/main/resources/preReg/Documents/validDocument/IDProof.pdf differ
diff --git a/apitest/src/main/resources/preReg/FetchApplicationByPrid/FetchApplicationByPrid.yml b/apitest/src/main/resources/preReg/FetchApplicationByPrid/FetchApplicationByPrid.yml
new file mode 100644
index 00000000000..b6adbbaa5d8
--- /dev/null
+++ b/apitest/src/main/resources/preReg/FetchApplicationByPrid/FetchApplicationByPrid.yml
@@ -0,0 +1,29 @@
+FetchApplicationByPrid:
+ Prereg_FetchApplicationByPrid_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/FetchApplicationByPrid/fetchApplicationByPrid
+ outputTemplate: preReg/FetchApplicationByPrid/fetchApplicationByPridResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "preRegistrationId": "59286406501581"
+}'
+ Prereg_FetchApplicationByPrid_inValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/FetchApplicationByPrid/fetchApplicationByPrid
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "ggfr3567ugg"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/FetchApplicationByPrid/fetchApplicationByPrid.hbs b/apitest/src/main/resources/preReg/FetchApplicationByPrid/fetchApplicationByPrid.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/FetchApplicationByPrid/fetchApplicationByPrid.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/FetchApplicationByPrid/fetchApplicationByPridResult.hbs b/apitest/src/main/resources/preReg/FetchApplicationByPrid/fetchApplicationByPridResult.hbs
new file mode 100644
index 00000000000..3032571e178
--- /dev/null
+++ b/apitest/src/main/resources/preReg/FetchApplicationByPrid/fetchApplicationByPridResult.hbs
@@ -0,0 +1,12 @@
+{
+ "response": {
+ "demographicDetails": {
+ "identity": {
+ "postalCode": "14022",
+ "dateOfBirth": "1996/01/01",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/FetchAppointmentDetailsByPrid/FetchAppointmentDetailsByPrid.yml b/apitest/src/main/resources/preReg/FetchAppointmentDetailsByPrid/FetchAppointmentDetailsByPrid.yml
new file mode 100644
index 00000000000..c5f28547e5b
--- /dev/null
+++ b/apitest/src/main/resources/preReg/FetchAppointmentDetailsByPrid/FetchAppointmentDetailsByPrid.yml
@@ -0,0 +1,29 @@
+FetchAppointmentDetailsByPrid:
+ Prereg_FetchAppointmentDetailsByPrid_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/FetchAppointmentDetailsByPrid/fetchAppointmentDetailsByPrid
+ outputTemplate: preReg/FetchAppointmentDetailsByPrid/fetchAppointmentDetailsByPridResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "registration_center_id": "10003"
+}'
+ Prereg_FetchAppointmentDetailsByPrid_inValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/FetchAppointmentDetailsByPrid/fetchAppointmentDetailsByPrid
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "ggfr3567ugg"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/FetchAppointmentDetailsByPrid/fetchAppointmentDetailsByPrid.hbs b/apitest/src/main/resources/preReg/FetchAppointmentDetailsByPrid/fetchAppointmentDetailsByPrid.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/FetchAppointmentDetailsByPrid/fetchAppointmentDetailsByPrid.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/FetchAppointmentDetailsByPrid/fetchAppointmentDetailsByPridResult.hbs b/apitest/src/main/resources/preReg/FetchAppointmentDetailsByPrid/fetchAppointmentDetailsByPridResult.hbs
new file mode 100644
index 00000000000..556701d6072
--- /dev/null
+++ b/apitest/src/main/resources/preReg/FetchAppointmentDetailsByPrid/fetchAppointmentDetailsByPridResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "registration_center_id": "{{registration_center_id}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllApplications/GetAllApplications.yml b/apitest/src/main/resources/preReg/GetAllApplications/GetAllApplications.yml
new file mode 100644
index 00000000000..a2917f183f6
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllApplications/GetAllApplications.yml
@@ -0,0 +1,58 @@
+GetAllApplications:
+ Prereg_GetAllApplications_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllApplications/getAllApplications
+ outputTemplate: preReg/GetAllApplications/getAllApplicationsResult
+ input: '{
+ "type": null
+}'
+ output: '{
+}'
+ Prereg_GetAllApplications_InValid:
+ endPoint: /preregistration/v1/applications
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllApplications/getAllApplications
+ outputTemplate: preReg/error
+ input: '{
+ "type": "263gedbdbegegedb"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_016"
+ }
+ ]
+}'
+ Prereg_GetAllApplications_InValid_Type:
+ endPoint: /preregistration/v1/applications?type={type}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAllApplications/getAllApplications
+ outputTemplate: preReg/error
+ input: '{
+ "type": "erwsdhgqw5dcfbz"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_016"
+ }
+ ]
+}'
+ Prereg_GetAllApplications_Valid_Type_Smoke_sid:
+ endPoint: /preregistration/v1/applications?type={type}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllApplications/getAllApplications
+ outputTemplate: preReg/GetAllApplications/getAllApplicationsResult
+ input: '{
+ "type": "NEW_PREREGISTRATION"
+}'
+ output: '{
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllApplications/getAllApplications.hbs b/apitest/src/main/resources/preReg/GetAllApplications/getAllApplications.hbs
new file mode 100644
index 00000000000..d94c75f3b55
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllApplications/getAllApplications.hbs
@@ -0,0 +1,3 @@
+{
+ "type": "{{type}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllApplications/getAllApplicationsResult.hbs b/apitest/src/main/resources/preReg/GetAllApplications/getAllApplicationsResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllApplications/getAllApplicationsResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllApplicationsWithapplicationId/GetAllApplicationsWithapplicationId.hbs b/apitest/src/main/resources/preReg/GetAllApplicationsWithapplicationId/GetAllApplicationsWithapplicationId.hbs
new file mode 100644
index 00000000000..e783efaae56
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllApplicationsWithapplicationId/GetAllApplicationsWithapplicationId.hbs
@@ -0,0 +1,3 @@
+{
+ "applicationId": "{{applicationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllApplicationsWithapplicationId/GetAllApplicationsWithapplicationId.yml b/apitest/src/main/resources/preReg/GetAllApplicationsWithapplicationId/GetAllApplicationsWithapplicationId.yml
new file mode 100644
index 00000000000..1ea0cdb397f
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllApplicationsWithapplicationId/GetAllApplicationsWithapplicationId.yml
@@ -0,0 +1,42 @@
+GetAllApplicationsWithapplicationId:
+ Prereg_GetAllApplicationsWithapplicationId_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/{applicationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllApplicationsWithapplicationId/GetAllApplicationsWithapplicationId
+ outputTemplate: preReg/GetAllApplicationsWithapplicationId/getAllApplicationsResult
+ input: '{
+ "applicationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+}'
+ Prereg_GetAllApplicationsWithapplicationId_with_expired:
+ endPoint: /preregistration/v1/applications/{applicationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllApplicationsWithapplicationId/GetAllApplicationsWithapplicationId
+ outputTemplate: preReg/GetAllApplicationsWithapplicationId/getAllApplicationsResult
+ input: '{
+ "applicationId": "$ID:CreatePrereg_with_future_date_preRegistrationId$"
+}'
+ output: '{
+}'
+ Prereg_GetAllApplicationsWithapplicationId_with_invalid_app;icationId:
+ endPoint: /preregistration/v1/applications/{applicationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllApplicationsWithapplicationId/GetAllApplicationsWithapplicationId
+ outputTemplate: preReg/error
+ input: '{
+ "applicationId": "26363gdgdb@636e4gdg"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_016"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllApplicationsWithapplicationId/getAllApplicationsResult.hbs b/apitest/src/main/resources/preReg/GetAllApplicationsWithapplicationId/getAllApplicationsResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllApplicationsWithapplicationId/getAllApplicationsResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllDocForPrId/GetAllDocForPrId.yml b/apitest/src/main/resources/preReg/GetAllDocForPrId/GetAllDocForPrId.yml
new file mode 100644
index 00000000000..02e97b7ea52
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllDocForPrId/GetAllDocForPrId.yml
@@ -0,0 +1,31 @@
+GetAllDocForPrId:
+ Prereg_GetAllDocForPrId_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/documents/preregistration/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllDocForPrId/getAllDocForPrId
+ outputTemplate: preReg/GetAllDocForPrId/getAllDocForPrIdResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "docCatCode": "$IGNORE$",
+ "docTypCode": "$IGNORE$"
+}'
+ Prereg_GetAllDocForPrId_inValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/documents/preregistration/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAllDocForPrId/getAllDocForPrId
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "jhgf4324"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllDocForPrId/getAllDocForPrId.hbs b/apitest/src/main/resources/preReg/GetAllDocForPrId/getAllDocForPrId.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllDocForPrId/getAllDocForPrId.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllDocForPrId/getAllDocForPrIdResult.hbs b/apitest/src/main/resources/preReg/GetAllDocForPrId/getAllDocForPrIdResult.hbs
new file mode 100644
index 00000000000..08b3e148303
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllDocForPrId/getAllDocForPrIdResult.hbs
@@ -0,0 +1,10 @@
+{
+ "response": {
+ "documentsMetaData": [
+ {
+ "docCatCode": "{{docCatCode}}",
+ "docTypCode": "{{docTypCode}}"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllPreRegApplications/GetAllPreRegApplications.yml b/apitest/src/main/resources/preReg/GetAllPreRegApplications/GetAllPreRegApplications.yml
new file mode 100644
index 00000000000..673ce6cadfb
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllPreRegApplications/GetAllPreRegApplications.yml
@@ -0,0 +1,34 @@
+GetAllPreRegApplications:
+ Prereg_GetAllPreRegApplications_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllPreRegApplications/getAllPreRegApplications
+ outputTemplate: preReg/GetAllPreRegApplications/GetAllPreRegApplicationsResult
+ input: '{}'
+ output: '{
+ "bookingType": "NEW_PREREGISTRATION"
+}'
+ Prereg_GetAllPreRegApplications_LOST_UIN_APPLICATION_sid:
+ endPoint: /preregistration/v1/applications
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllPreRegApplications/getAllPreRegApplications
+ outputTemplate: preReg/GetAllPreRegApplications/GetAllPreRegApplicationsResult
+ input: '{}'
+ output: '{
+ "bookingType": "NEW_PREREGISTRATION"
+}'
+ Prereg_GetAllPreRegApplications_DELETE_UIN_APPLICATION_sid:
+ endPoint: /preregistration/v1/applications
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetAllPreRegApplications/getAllPreRegApplications
+ outputTemplate: preReg/GetAllPreRegApplications/GetAllPreRegApplicationsResult
+ input: '{}'
+ output: '{
+ "bookingType": "NEW_PREREGISTRATION"
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllPreRegApplications/GetAllPreRegApplicationsResult.hbs b/apitest/src/main/resources/preReg/GetAllPreRegApplications/GetAllPreRegApplicationsResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllPreRegApplications/GetAllPreRegApplicationsResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAllPreRegApplications/getAllPreRegApplications.hbs b/apitest/src/main/resources/preReg/GetAllPreRegApplications/getAllPreRegApplications.hbs
new file mode 100644
index 00000000000..9e26dfeeb6e
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAllPreRegApplications/getAllPreRegApplications.hbs
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetApplicationStatusWithPrId/GetApplicationStatusWithPrId.yml b/apitest/src/main/resources/preReg/GetApplicationStatusWithPrId/GetApplicationStatusWithPrId.yml
new file mode 100644
index 00000000000..5804173f01e
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetApplicationStatusWithPrId/GetApplicationStatusWithPrId.yml
@@ -0,0 +1,45 @@
+GetApplicationStatusWithPrId:
+ Prereg_GetApplicationStatusWithPrId_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrId
+ outputTemplate: preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrIdResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "statusCode": "Application_Incomplete"
+}'
+ Prereg_GetApplicationStatusWithPrId_inValid_PRID_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrId
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "65125923803sass948"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
+ Prereg_GetApplicationStatusWithPrId_Blank_PRID_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrId
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": ""
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrId.hbs b/apitest/src/main/resources/preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrId.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrId.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrIdResult.hbs b/apitest/src/main/resources/preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrIdResult.hbs
new file mode 100644
index 00000000000..5bd4b5fb05f
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetApplicationStatusWithPrId/getApplicationStatusWithPrIdResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "statusCode": "{{statusCode}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetApplicationWithPrId/GetApplicationWithPrId.yml b/apitest/src/main/resources/preReg/GetApplicationWithPrId/GetApplicationWithPrId.yml
new file mode 100644
index 00000000000..a6d6ed9b187
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetApplicationWithPrId/GetApplicationWithPrId.yml
@@ -0,0 +1,17 @@
+GetApplicationWithPrId:
+ Prereg_GetApplicationWithPrId_inValid_preRegistrationId:
+ endPoint: /preregistration/v1/applications/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetApplicationWithPrId/getApplicationWithPrId
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "dhsb3772@Dfvgbgh"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetApplicationWithPrId/getApplicationWithPrId.hbs b/apitest/src/main/resources/preReg/GetApplicationWithPrId/getApplicationWithPrId.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetApplicationWithPrId/getApplicationWithPrId.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetApplicationWithPrId/getApplicationWithPrIdResult.hbs b/apitest/src/main/resources/preReg/GetApplicationWithPrId/getApplicationWithPrIdResult.hbs
new file mode 100644
index 00000000000..e2a27c29bce
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetApplicationWithPrId/getApplicationWithPrIdResult.hbs
@@ -0,0 +1,95 @@
+{
+ "response": {
+ "statusCode": "{{statusCode}}",
+ "langCode": "{{langCode}}",
+ "demographicDetails": {
+ "identity": {
+ "gender": [
+ {
+ "language": "eng",
+ "value": "MLE"
+ },
+ {
+ "language": "ara",
+ "value": "MLE"
+ }
+ ],
+ "city": [
+ {
+ "language": "eng",
+ "value": "KNT"
+ },
+ {
+ "language": "ara",
+ "value": "KNT"
+ }
+ ],
+ "postalCode": "14022",
+ "fullName": [
+ {
+ "language": "eng",
+ "value": "Test Book appointment"
+ },
+ {
+ "language": "ara",
+ "value": "پُجَ تهَكُر"
+ }
+ ],
+ "dateOfBirth": "1996/01/01",
+ "IDSchemaVersion": 0.1,
+ "province": [
+ {
+ "language": "eng",
+ "value": "KTA"
+ },
+ {
+ "language": "ara",
+ "value": "KTA"
+ }
+ ],
+ "zone": [
+ {
+ "language": "eng",
+ "value": "BNMR"
+ },
+ {
+ "language": "ara",
+ "value": "BNMR"
+ }
+ ],
+ "phone": "8249742850",
+ "addressLine1": [
+ {
+ "language": "eng",
+ "value": "line1"
+ },
+ {
+ "language": "ara",
+ "value": "لِنِ١"
+ }
+ ],
+ "residenceStatus": [
+ {
+ "language": "eng",
+ "value": "NFR"
+ },
+ {
+ "language": "ara",
+ "value": "NFR"
+ }
+ ],
+ "region": [
+ {
+ "language": "eng",
+ "value": "RSK"
+ },
+ {
+ "language": "ara",
+ "value": "RSK"
+ }
+ ],
+ "email": "goku@hogwarts.co.in"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAppointmentDetails/GetAppointmentDetails.yml b/apitest/src/main/resources/preReg/GetAppointmentDetails/GetAppointmentDetails.yml
new file mode 100644
index 00000000000..ae02d25efc4
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAppointmentDetails/GetAppointmentDetails.yml
@@ -0,0 +1,70 @@
+GetAppointmentDetails:
+ Prereg_GetAppointmentDetails_BookByPRID_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/appointment/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAppointmentDetails/getAppointmentDetails
+ outputTemplate: preReg/GetAppointmentDetails/getAppointmentDetailsResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$"
+}'
+ output: '{
+ "registration_center_id": "10003"
+}'
+ Prereg_GetAppointmentDetails_with_cancelled_appoinment:
+ endPoint: /preregistration/v1/appointment/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAppointmentDetails/getAppointmentDetails
+ outputTemplate: preReg/GetAppointmentDetails/getAppointmentDetailsResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancelApplicationsAppointment_sid_preRegistrationId$"
+}'
+ output: '{
+ "registration_center_id": "10003"
+}'
+ Prereg_GetAppointmentDetails_AllValid_Smoke_sid:
+ endPoint: /preregistration/v1/appointment/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAppointmentDetails/getAppointmentDetails
+ outputTemplate: preReg/GetAppointmentDetails/getAppointmentDetailsResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "registration_center_id": "10003"
+}'
+
+ Prereg_GetAppointmentDetails_inValid_preRegistrationId:
+ endPoint: /preregistration/v1/appointment/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAppointmentDetails/getAppointmentDetails
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "ggfr3567ugg"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
+ Prereg_GetAppointmentDetails_empty_space_preRegistrationId:
+ endPoint: /preregistration/v1/appointment/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAppointmentDetails/getAppointmentDetails
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": " "
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAppointmentDetails/getAppointmentDetails.hbs b/apitest/src/main/resources/preReg/GetAppointmentDetails/getAppointmentDetails.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAppointmentDetails/getAppointmentDetails.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAppointmentDetails/getAppointmentDetailsResult.hbs b/apitest/src/main/resources/preReg/GetAppointmentDetails/getAppointmentDetailsResult.hbs
new file mode 100644
index 00000000000..556701d6072
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAppointmentDetails/getAppointmentDetailsResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "registration_center_id": "{{registration_center_id}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAvailableSlotForRegCentreId/GetAvailableSlotForRegCentreId.yml b/apitest/src/main/resources/preReg/GetAvailableSlotForRegCentreId/GetAvailableSlotForRegCentreId.yml
new file mode 100644
index 00000000000..07ad9e5a2d6
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAvailableSlotForRegCentreId/GetAvailableSlotForRegCentreId.yml
@@ -0,0 +1,41 @@
+GetAvailableSlotForRegCentreId:
+ Prereg_GetAvailableSlotForRegCentreId_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/appointment/availability/{registrationCenterId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId
+ outputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreIdResult
+ input: '{
+ "registrationCenterId": "10003"
+}'
+ output: '{
+ "regCenterId": "10003"
+}'
+ Prereg_GetAvailableSlotForRegCentreId_inValid_registrationCenterId_sid:
+ endPoint: /preregistration/v1/appointment/availability/{registrationCenterId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId
+ outputTemplate: preReg/error
+ input: '{
+ "registrationCenterId": "1shsbsb@@@GB3"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-MSD-215"
+ }
+ ]
+}'
+ Prereg_GetAvailableSlotForRegCentreId_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/appointment/availability/{registrationCenterId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId
+ outputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreIdResult
+ input: '{
+ "registrationCenterId": "10003"
+}'
+ output: '{
+ "regCenterId": "10003"
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId.hbs b/apitest/src/main/resources/preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId.hbs
new file mode 100644
index 00000000000..38c9e50ee98
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId.hbs
@@ -0,0 +1,3 @@
+{
+ "registrationCenterId": "{{registrationCenterId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreIdResult.hbs b/apitest/src/main/resources/preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreIdResult.hbs
new file mode 100644
index 00000000000..5ef68303359
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreIdResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "regCenterId": "{{regCenterId}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetBookingsForRegCenter/GetBookingsForRegCenter.yml b/apitest/src/main/resources/preReg/GetBookingsForRegCenter/GetBookingsForRegCenter.yml
new file mode 100644
index 00000000000..77e4a954e2d
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetBookingsForRegCenter/GetBookingsForRegCenter.yml
@@ -0,0 +1,61 @@
+GetBookingsForRegCenter:
+ Prereg_GetBookingsForRegCenter_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/bookings/{regCenterId}?from_date=2020-10-01&to_date=2034-10-13
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId
+ outputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreIdResult
+ input: '{
+ "regCenterId": "10003"
+}'
+ output: '{
+ "regCenterId": "10003"
+}'
+ Prereg_GetBookingsForRegCenter_with_InValid_date_format:
+ endPoint: /preregistration/v1/applications/bookings/{regCenterId}?from_date=2020-45461&to_date=2034-10-13
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId
+ outputTemplate: preReg/error
+ input: '{
+ "regCenterId": "10003"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_032"
+ }
+ ]
+}'
+ Prereg_GetBookingsForRegCenter_with_InValid_regcenter:
+ endPoint: /preregistration/v1/applications/bookings/{regCenterId}?from_date=2020-10-01&to_date=2034-10-13
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId
+ outputTemplate: preReg/error
+ input: '{
+ "regCenterId": "10@@#$$003"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_032"
+ }
+ ]
+}'
+ Prereg_GetBookingsForRegCenter_with_InValid_regcenter_invalidDate:
+ endPoint: /preregistration/v1/applications/bookings/{regCenterId}?from_date=20204555&to_date=2034-10-13
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetAvailableSlotForRegCentreId/getAvailableSlotForRegCentreId
+ outputTemplate: preReg/error
+ input: '{
+ "regCenterId": "10@@#$$003"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_032"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetBookingsForRegCenter/getBookingsForRegCenter.hbs b/apitest/src/main/resources/preReg/GetBookingsForRegCenter/getBookingsForRegCenter.hbs
new file mode 100644
index 00000000000..20c9ca46561
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetBookingsForRegCenter/getBookingsForRegCenter.hbs
@@ -0,0 +1,3 @@
+{
+ "regCenterId": "{{regCenterId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetBookingsForRegCenter/getBookingsForRegCenterResult.hbs b/apitest/src/main/resources/preReg/GetBookingsForRegCenter/getBookingsForRegCenterResult.hbs
new file mode 100644
index 00000000000..5ef68303359
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetBookingsForRegCenter/getBookingsForRegCenterResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "regCenterId": "{{regCenterId}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetPRIDByDateRange/GetPRIDByDateRange.yml b/apitest/src/main/resources/preReg/GetPRIDByDateRange/GetPRIDByDateRange.yml
new file mode 100644
index 00000000000..9f5895f62d9
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetPRIDByDateRange/GetPRIDByDateRange.yml
@@ -0,0 +1,396 @@
+GetPRIDByDateRange:
+ Prereg_GetPRIDByDateRange_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRangeResult
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2030-10-11"
+}'
+ output: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids"
+}'
+ Prereg_GetPRIDByDateRange_inValid_id:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mop.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_blank_id:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_missing_id:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "$REMOVE$",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_invalid_version:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1djhsnb@@@0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_002"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_missing_version:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "$REMOVE$",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_002"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_blank_version:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_002"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_blank_requesttime:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_003"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_missing_requesttime:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$REMOVE$",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_003"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_Invalid_requesttime:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "OVEdgeu37373",
+ "registrationCenterId": "10003",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_015"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_Invalid_registrationCenterId:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "100fff01",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_032"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_blank_registrationCenterId:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_DATA_SYNC_009"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_missing_registrationCenterId:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "$REMOVE$",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_DATA_SYNC_009"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_missing_fromDate:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10001",
+ "fromDate": "$REMOVE$",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_019"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_Invalid_fromDate:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10001",
+ "fromDate": "2020-05dfddd-09",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_019"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_blank_fromDate:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10001",
+ "fromDate": "",
+ "toDate": "2021-10-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_019"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_blank_toDate:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10001",
+ "fromDate": "2020-05-09",
+ "toDate": ""
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_032"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_missing_toDate:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10001",
+ "fromDate": "2020-05-09",
+ "toDate": "$REMOVE$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_032"
+ }
+ ]
+}'
+ Prereg_GetPRIDByDateRange_Invalid_toDate:
+ endPoint: /preregistration/v1/sync
+ role: regproc
+ restMethod: post
+ inputTemplate: preReg/GetPRIDByDateRange/getPRIDByDateRange
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.datasync.fetch.ids",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registrationCenterId": "10001",
+ "fromDate": "2020-05-09",
+ "toDate": "2021-1dddd0-11"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_019"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetPRIDByDateRange/getPRIDByDateRange.hbs b/apitest/src/main/resources/preReg/GetPRIDByDateRange/getPRIDByDateRange.hbs
new file mode 100644
index 00000000000..a2889cce546
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetPRIDByDateRange/getPRIDByDateRange.hbs
@@ -0,0 +1,10 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "request": {
+ "registrationCenterId":"{{registrationCenterId}}",
+ "fromDate":"{{fromDate}}",
+ "toDate":"{{toDate}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetPRIDByDateRange/getPRIDByDateRangeResult.hbs b/apitest/src/main/resources/preReg/GetPRIDByDateRange/getPRIDByDateRangeResult.hbs
new file mode 100644
index 00000000000..2addbfee983
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetPRIDByDateRange/getPRIDByDateRangeResult.hbs
@@ -0,0 +1,4 @@
+{
+ "response": {
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetPRIDForRegCent/GetPRIDForRegCent.yml b/apitest/src/main/resources/preReg/GetPRIDForRegCent/GetPRIDForRegCent.yml
new file mode 100644
index 00000000000..bfe838ce631
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetPRIDForRegCent/GetPRIDForRegCent.yml
@@ -0,0 +1,29 @@
+GetPRIDForRegCent:
+ Prereg_GetPRIDForRegCent_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/appointment/preRegistrationId/{registrationCenterId}?from_date=2020-10-01&to_date=2034-10-13
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetPRIDForRegCent/getPRIDForRegCent
+ outputTemplate: preReg/GetPRIDForRegCent/getPRIDForRegCentResult
+ input: '{
+ "registrationCenterId": "10003"
+}'
+ output: '{
+ "registration_center_id": "10003"
+}'
+ Prereg_GetPRIDForRegCent_inValid_registrationCenterId_sid:
+ endPoint: /preregistration/v1/appointment/preRegistrationId/{registrationCenterId}?from_date=2020-10-01&to_date=2021-10-13
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetPRIDForRegCent/getPRIDForRegCent
+ outputTemplate: preReg/error
+ input: '{
+ "registrationCenterId": "1000dnsjsja2@@3"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_032"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetPRIDForRegCent/getPRIDForRegCent.hbs b/apitest/src/main/resources/preReg/GetPRIDForRegCent/getPRIDForRegCent.hbs
new file mode 100644
index 00000000000..38c9e50ee98
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetPRIDForRegCent/getPRIDForRegCent.hbs
@@ -0,0 +1,3 @@
+{
+ "registrationCenterId": "{{registrationCenterId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetPRIDForRegCent/getPRIDForRegCentResult.hbs b/apitest/src/main/resources/preReg/GetPRIDForRegCent/getPRIDForRegCentResult.hbs
new file mode 100644
index 00000000000..556701d6072
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetPRIDForRegCent/getPRIDForRegCentResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "registration_center_id": "{{registration_center_id}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetPreRegInfoByPrid/GetPreRegInfoByPrid.yml b/apitest/src/main/resources/preReg/GetPreRegInfoByPrid/GetPreRegInfoByPrid.yml
new file mode 100644
index 00000000000..6b26c8c8a1f
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetPreRegInfoByPrid/GetPreRegInfoByPrid.yml
@@ -0,0 +1,33 @@
+GetPreRegInfoByPrid:
+ Prereg_GetPreRegInfoByPrid_Valid_preRegistrationId:
+ endPoint: /preregistration/v1/applications/prereg/info/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetPreRegInfoByPrid/getPreRegInfoByPrid
+ outputTemplate: preReg/GetPreRegInfoByPrid/getPreRegInfoByPridResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+}'
+ output: '{
+ "postalCode":"14022",
+ "dateOfBirth": "$IGNORE$",
+ "IDSchemaVersion": "$IGNORE$",
+ "phone": "$IGNORE$"
+}'
+
+ Prereg_GetPreRegInfoByPrid_inValid_preRegistrationId:
+ endPoint: /preregistration/v1/applications/prereg/info/{preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetPreRegInfoByPrid/getPreRegInfoByPrid
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "123456"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetPreRegInfoByPrid/getPreRegInfoByPrid.hbs b/apitest/src/main/resources/preReg/GetPreRegInfoByPrid/getPreRegInfoByPrid.hbs
new file mode 100644
index 00000000000..790ad2f2993
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetPreRegInfoByPrid/getPreRegInfoByPrid.hbs
@@ -0,0 +1,3 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetPreRegInfoByPrid/getPreRegInfoByPridResult.hbs b/apitest/src/main/resources/preReg/GetPreRegInfoByPrid/getPreRegInfoByPridResult.hbs
new file mode 100644
index 00000000000..849334514ea
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetPreRegInfoByPrid/getPreRegInfoByPridResult.hbs
@@ -0,0 +1,14 @@
+{
+ "response": {
+ "demographicResponse": {
+ "demographicDetails": {
+ "identity": {
+ "postalCode": "14022",
+ "dateOfBirth": "1996/01/01",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetSpecificDocumentforaPRID/GetSpecificDocumentforaPRID.yml b/apitest/src/main/resources/preReg/GetSpecificDocumentforaPRID/GetSpecificDocumentforaPRID.yml
new file mode 100644
index 00000000000..ff67fcaa8c2
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetSpecificDocumentforaPRID/GetSpecificDocumentforaPRID.yml
@@ -0,0 +1,49 @@
+GetSpecificDocumentforaPRID:
+ Prereg_GetSpecificDocumentforaPRID_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/documents/{documentId}?preRegistrationId={preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRID
+ outputTemplate: preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRIDResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "documentId": "$ID:UploadDocument_All_Valid_Smoke_sid_docId$"
+}'
+ output: '{
+ "document": "$IGNORE$"
+}'
+ Prereg_GetSpecificDocumentforaPRID_inValid_preRegistrationId_sid:
+ endPoint: /preregistration/v1/documents/{documentId}?preRegistrationId={preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "shssb2423fsfvs",
+ "documentId": "$ID:UploadDocument_All_Valid_Smoke_sid_docId$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
+ Prereg_GetSpecificDocumentforaPRID_inValid_documentId_sid:
+ endPoint: /preregistration/v1/documents/{documentId}?preRegistrationId={preRegistrationId}
+ role: batch
+ restMethod: get
+ inputTemplate: preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "documentId": "shshsbz5325"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_DOC_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRID.hbs b/apitest/src/main/resources/preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRID.hbs
new file mode 100644
index 00000000000..81173ad49d8
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRID.hbs
@@ -0,0 +1,4 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}",
+ "documentId": "{{documentId}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRIDResult.hbs b/apitest/src/main/resources/preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRIDResult.hbs
new file mode 100644
index 00000000000..7a7c6c63455
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetSpecificDocumentforaPRID/getSpecificDocumentforaPRIDResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "document": "{{document}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetUpdatedDateTimeByPrid/GetUpdatedDateTimeByPrid.yml b/apitest/src/main/resources/preReg/GetUpdatedDateTimeByPrid/GetUpdatedDateTimeByPrid.yml
new file mode 100644
index 00000000000..ac4ba56f9cf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetUpdatedDateTimeByPrid/GetUpdatedDateTimeByPrid.yml
@@ -0,0 +1,51 @@
+GetUpdatedDateTimeByPrid:
+ Prereg_GetUpdatedDateTimeByPrid_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg/updatedTime
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/GetUpdatedDateTimeByPrid/getUpdatedDateTimeByPrid
+ outputTemplate: preReg/GetUpdatedDateTimeByPrid/getUpdatedDateTimeByPridResult
+ input: '{
+ "id": "mosip.pre-registration.demographic.retrieve.date",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registartion_center_id": "10003",
+ "pre_registration_ids": [
+ {
+ "pre_registration_id":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$"
+ },
+ {
+ "pre_registration_id":"$ID:CreatePrereg_Valid_Smoke_sid_preRegistrationId$"
+ },
+ {
+ "pre_registration_id":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$"
+ }
+ ]
+}'
+ output: '{
+}'
+ Prereg_GetUpdatedDateTimeByPrid_InValid_ID:
+ endPoint: /preregistration/v1/applications/prereg/updatedTime
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/GetUpdatedDateTimeByPrid/getUpdatedDateTimeByPrid
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.demographic.retrieve.date",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "registartion_center_id": "10003",
+ "pre_registration_ids": [
+ {
+ "pre_registration_id":"rtr4243456rsdgfb"
+ }
+ ]
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetUpdatedDateTimeByPrid/getUpdatedDateTimeByPrid.hbs b/apitest/src/main/resources/preReg/GetUpdatedDateTimeByPrid/getUpdatedDateTimeByPrid.hbs
new file mode 100644
index 00000000000..ba73a4d44c3
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetUpdatedDateTimeByPrid/getUpdatedDateTimeByPrid.hbs
@@ -0,0 +1,14 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "request": {
+ "registartion_center_id": "{{registartion_center_id}}",
+ "pre_registration_ids": [
+ {{#each pre_registration_ids}}
+ "{{pre_registration_id}}"
+ {{#unless @last}},{{/unless}}
+ {{/each}}
+ ]
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/GetUpdatedDateTimeByPrid/getUpdatedDateTimeByPridResult.hbs b/apitest/src/main/resources/preReg/GetUpdatedDateTimeByPrid/getUpdatedDateTimeByPridResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/GetUpdatedDateTimeByPrid/getUpdatedDateTimeByPridResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/InvalidateToken/InvalidateToken.yml b/apitest/src/main/resources/preReg/InvalidateToken/InvalidateToken.yml
new file mode 100644
index 00000000000..ce93d3c279b
--- /dev/null
+++ b/apitest/src/main/resources/preReg/InvalidateToken/InvalidateToken.yml
@@ -0,0 +1,12 @@
+InvalidateToken:
+ Prereg_InvalidateToken_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/login/invalidateToken
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/InvalidateToken/invalidatetoken
+ outputTemplate: preReg/InvalidateToken/invalidatetokenresult
+ input: '{
+}'
+ output: '{
+ "response": "Loggedout successfully"
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/InvalidateToken/invalidatetoken.hbs b/apitest/src/main/resources/preReg/InvalidateToken/invalidatetoken.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/InvalidateToken/invalidatetoken.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/InvalidateToken/invalidatetokenresult.hbs b/apitest/src/main/resources/preReg/InvalidateToken/invalidatetokenresult.hbs
new file mode 100644
index 00000000000..eb8d6fea9a8
--- /dev/null
+++ b/apitest/src/main/resources/preReg/InvalidateToken/invalidatetokenresult.hbs
@@ -0,0 +1,3 @@
+{
+ "response": "{{response}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/SendNotifications/SendNotifications.yml b/apitest/src/main/resources/preReg/SendNotifications/SendNotifications.yml
new file mode 100644
index 00000000000..69fb53a07aa
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendNotifications/SendNotifications.yml
@@ -0,0 +1,97 @@
+SendNotifications:
+ Prereg_SendNotifications_All_Valid_Smoke:
+ endPoint: /preregistration/v1/notification
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/SendNotifications/sendNotifications_$LANGNUMBER$
+ outputTemplate: preReg/SendNotifications/sendNotificationsResult
+ input: '{
+ "id":"mosip.pre-registration.notification.notify",
+ "version":"1.0",
+ "requesttime":"$TIMESTAMP$",
+ "name":"TEST_FULLNAME",
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "appointmentDate":"$ID:GetAppointmentDetails_BookByPRID_All_Valid_Smoke_sid_appointment_date$",
+ "appointmentTime":"$ID:GetAppointmentDetails_BookByPRID_All_Valid_Smoke_sid_time_slot_from$",
+ "mobNum":"9090872300",
+ "emailID":"mosipuser123@mailinator.com",
+ "additionalRecipient":false,
+ "isBatch":false
+}'
+ output: '{
+}'
+ Prereg_SendNotifications_Notify_All_Valid_Smoke:
+ endPoint: /preregistration/v1/notification/notify
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/SendNotifications/sendNotificationsNotify
+ outputTemplate: preReg/SendNotifications/sendNotificationsResult
+ input: '{
+ "id":"mosip.pre-registration.notification.notify",
+ "version":"1.0",
+ "requesttime":"$TIMESTAMP$",
+ "name":"TEST_FULLNAME",
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "appointmentDate":"$ID:GetAppointmentDetails_BookByPRID_All_Valid_Smoke_sid_appointment_date$",
+ "appointmentTime":"$ID:GetAppointmentDetails_BookByPRID_All_Valid_Smoke_sid_time_slot_from$",
+ "mobNum":"9090872300",
+ "emailID":"mosipuser123@mailinator.com",
+ "isBatch":true
+}'
+ output: '{
+}'
+ Prereg_SendNotifications_InValid_id:
+ endPoint: /preregistration/v1/notification
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendNotifications/sendNotifications_$LANGNUMBER$
+ outputTemplate: preReg/error
+ input: '{
+ "id":"mosip.pre-registration.notification.notifyasdf",
+ "version":"1.0",
+ "requesttime":"$TIMESTAMP$",
+ "name":"FR",
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "appointmentDate":"$ID:GetAppointmentDetails_BookByPRID_All_Valid_Smoke_sid_appointment_date$",
+ "appointmentTime":"$ID:GetAppointmentDetails_BookByPRID_All_Valid_Smoke_sid_time_slot_from$",
+ "mobNum":"9090872300",
+ "emailID":"mosipuser123@mailinator.com",
+ "additionalRecipient":false,
+ "isBatch":false
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_SendNotifications_InValid_preRegId:
+ endPoint: /preregistration/v1/notification
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendNotifications/sendNotifications_$LANGNUMBER$
+ outputTemplate: preReg/error
+ input: '{
+ "id":"mosip.pre-registration.notification.notify",
+ "version":"1.0",
+ "requesttime":"$TIMESTAMP$",
+ "name":"FR",
+ "preRegistrationId":"sadgf",
+ "appointmentDate":"$ID:GetAppointmentDetails_BookByPRID_All_Valid_Smoke_sid_appointment_date$",
+ "appointmentTime":"$ID:GetAppointmentDetails_BookByPRID_All_Valid_Smoke_sid_time_slot_from$",
+ "mobNum":"9090872300",
+ "emailID":"mosipuser123@mailinator.com",
+ "additionalRecipient":false,
+ "isBatch":false
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_005"
+
+ }
+ ]
+}'
diff --git a/apitest/src/main/resources/preReg/SendNotifications/sendNotificationsNotify.hbs b/apitest/src/main/resources/preReg/SendNotifications/sendNotificationsNotify.hbs
new file mode 100644
index 00000000000..a9562e2020f
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendNotifications/sendNotificationsNotify.hbs
@@ -0,0 +1,12 @@
+{
+ "requesttime":"{{requesttime}}",
+ "request":{
+ "name":"{{name}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "appointmentDate":"{{appointmentDate}}",
+ "appointmentTime":"{{appointmentTime}}",
+ "mobNum":"{{mobNum}}",
+ "emailID":"{{emailID}}",
+ "isBatch":{{isBatch}}
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/SendNotifications/sendNotificationsResult.hbs b/apitest/src/main/resources/preReg/SendNotifications/sendNotificationsResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendNotifications/sendNotificationsResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_DOUBLE.hbs b/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_DOUBLE.hbs
new file mode 100644
index 00000000000..e4200859d1b
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_DOUBLE.hbs
@@ -0,0 +1,27 @@
+{
+ "id":"{{id}}",
+ "version":"{{version}}",
+ "requesttime":"{{requesttime}}",
+ "request":{
+ "$1STLANG$":{
+ "name":"{{name}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "appointmentDate":"{{appointmentDate}}",
+ "appointmentTime":"{{appointmentTime}}",
+ "mobNum":"{{mobNum}}",
+ "emailID":"{{emailID}}",
+ "additionalRecipient":{{additionalRecipient}},
+ "isBatch":{{isBatch}}
+ },
+ "$2NDLANG$":{
+ "name":"{{name}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "appointmentDate":"{{appointmentDate}}",
+ "appointmentTime":"{{appointmentTime}}",
+ "mobNum":"{{mobNum}}",
+ "emailID":"{{emailID}}",
+ "additionalRecipient":{{additionalRecipient}},
+ "isBatch":{{isBatch}}
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_DOUBLE_V3.hbs b/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_DOUBLE_V3.hbs
new file mode 100644
index 00000000000..e4200859d1b
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_DOUBLE_V3.hbs
@@ -0,0 +1,27 @@
+{
+ "id":"{{id}}",
+ "version":"{{version}}",
+ "requesttime":"{{requesttime}}",
+ "request":{
+ "$1STLANG$":{
+ "name":"{{name}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "appointmentDate":"{{appointmentDate}}",
+ "appointmentTime":"{{appointmentTime}}",
+ "mobNum":"{{mobNum}}",
+ "emailID":"{{emailID}}",
+ "additionalRecipient":{{additionalRecipient}},
+ "isBatch":{{isBatch}}
+ },
+ "$2NDLANG$":{
+ "name":"{{name}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "appointmentDate":"{{appointmentDate}}",
+ "appointmentTime":"{{appointmentTime}}",
+ "mobNum":"{{mobNum}}",
+ "emailID":"{{emailID}}",
+ "additionalRecipient":{{additionalRecipient}},
+ "isBatch":{{isBatch}}
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_SINGLE.hbs b/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_SINGLE.hbs
new file mode 100644
index 00000000000..d950dad988b
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_SINGLE.hbs
@@ -0,0 +1,17 @@
+{
+ "id":"{{id}}",
+ "version":"{{version}}",
+ "requesttime":"{{requesttime}}",
+ "request":{
+ "$1STLANG$":{
+ "name":"{{name}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "appointmentDate":"{{appointmentDate}}",
+ "appointmentTime":"{{appointmentTime}}",
+ "mobNum":"{{mobNum}}",
+ "emailID":"{{emailID}}",
+ "additionalRecipient":{{additionalRecipient}},
+ "isBatch":{{isBatch}}
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_TRIPLE.hbs b/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_TRIPLE.hbs
new file mode 100644
index 00000000000..220c74d67cc
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendNotifications/sendNotifications_TRIPLE.hbs
@@ -0,0 +1,37 @@
+{
+ "id":"{{id}}",
+ "version":"{{version}}",
+ "requesttime":"{{requesttime}}",
+ "request":{
+ "$1STLANG$":{
+ "name":"{{name}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "appointmentDate":"{{appointmentDate}}",
+ "appointmentTime":"{{appointmentTime}}",
+ "mobNum":"{{mobNum}}",
+ "emailID":"{{emailID}}",
+ "additionalRecipient":{{additionalRecipient}},
+ "isBatch":{{isBatch}}
+ },
+ "$2NDLANG$":{
+ "name":"{{name}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "appointmentDate":"{{appointmentDate}}",
+ "appointmentTime":"{{appointmentTime}}",
+ "mobNum":"{{mobNum}}",
+ "emailID":"{{emailID}}",
+ "additionalRecipient":{{additionalRecipient}},
+ "isBatch":{{isBatch}}
+ },
+ "$3RDLANG$":{
+ "name":"{{name}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "appointmentDate":"{{appointmentDate}}",
+ "appointmentTime":"{{appointmentTime}}",
+ "mobNum":"{{mobNum}}",
+ "emailID":"{{emailID}}",
+ "additionalRecipient":{{additionalRecipient}},
+ "isBatch":{{isBatch}}
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/SendOtp/SendOtp.yml b/apitest/src/main/resources/preReg/SendOtp/SendOtp.yml
new file mode 100644
index 00000000000..5e7968946a9
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendOtp/SendOtp.yml
@@ -0,0 +1,152 @@
+SendOtp:
+ Prereg_SendOtp_All_Valid_Smoke_Phone_sid:
+ endPoint: /preregistration/v1/login/sendOtp/langcode
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendOtp/sendotp
+ outputTemplate: preReg/SendOtp/sendotpResult
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "9090872300",
+ "id": "mosip.pre-registration.login.sendotp"
+}'
+ output: '{
+ "status": "success"
+}'
+
+ Prereg_SendOtp_Invalid_Phone_Neg:
+ endPoint: /preregistration/v1/login/sendOtp/langcode
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendOtp/sendotp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "12",
+ "id": "mosip.pre-registration.login.sendotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_008"
+ }
+ ]
+}'
+
+ Prereg_SendOtp_MISSING_Phone_Neg:
+ endPoint: /preregistration/v1/login/sendOtp/langcode
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendOtp/sendotp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "$REMOVE$",
+ "id": "mosip.pre-registration.login.sendotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_008"
+ }
+ ]
+}'
+
+ Prereg_SendOtp_SpacialCharacter_Val_Phone_Neg:
+ endPoint: /preregistration/v1/login/sendOtp/langcode
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendOtp/sendotp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "974$%26",
+ "id": "mosip.pre-registration.login.sendotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_008"
+ }
+ ]
+}'
+
+ Prereg_SendOtp_All_Valid_Smoke_email_sid:
+ endPoint: /preregistration/v1/login/sendOtp/langcode
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendOtp/sendotp
+ outputTemplate: preReg/SendOtp/sendotpResult
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "john.doe@mailinator.com",
+ "id": "mosip.pre-registration.login.sendotp"
+}'
+ output: '{
+ "status": "success"
+}'
+
+ Prereg_SendOtp_Invalid__email_Neg:
+ endPoint: /preregistration/v1/login/sendOtp/langcode
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendOtp/sendotp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "jo32",
+ "id": "mosip.pre-registration.login.sendotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_008"
+ }
+ ]
+}'
+
+ Prereg_SendOtp_Missing_email_Neg:
+ endPoint: /preregistration/v1/login/sendOtp/langcode
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendOtp/sendotp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "$REMOVE$",
+ "id": "mosip.pre-registration.login.sendotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_008"
+ }
+ ]
+}'
+
+ Prereg_SendOtp_SpacialCharacter_email_Neg:
+ endPoint: /preregistration/v1/login/sendOtp/langcode
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/SendOtp/sendotp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "$!&",
+ "id": "mosip.pre-registration.login.sendotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_008"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/SendOtp/sendotp.hbs b/apitest/src/main/resources/preReg/SendOtp/sendotp.hbs
new file mode 100644
index 00000000000..9bf22aaa690
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendOtp/sendotp.hbs
@@ -0,0 +1,9 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "request": {
+ "langCode": "$1STLANG$",
+ "userId": "{{userId}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/SendOtp/sendotpResult.hbs b/apitest/src/main/resources/preReg/SendOtp/sendotpResult.hbs
new file mode 100644
index 00000000000..0137f52daaa
--- /dev/null
+++ b/apitest/src/main/resources/preReg/SendOtp/sendotpResult.hbs
@@ -0,0 +1,5 @@
+{
+ "response": {
+ "status": "{{status}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/Transliteration/Translate.yml b/apitest/src/main/resources/preReg/Transliteration/Translate.yml
new file mode 100644
index 00000000000..c9c78174036
--- /dev/null
+++ b/apitest/src/main/resources/preReg/Transliteration/Translate.yml
@@ -0,0 +1,66 @@
+Transliteration:
+ Prereg_Transliteration_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/transliteration/transliterate
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/Transliteration/translate
+ outputTemplate: preReg/Transliteration/translateResult
+ input: '{
+ "id": "mosip.pre-registration.transliteration.transliterate",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "from_field_value": "string",
+ "from_field_lang": "eng",
+ "to_field_lang": "ara"
+
+}'
+ output: '{
+ "from_field_value": "string",
+ "from_field_lang": "eng",
+ "to_field_value": "سترِنگ",
+ "to_field_lang": "ara"
+}'
+ Prereg_Transliteration_inValid_tofieldlang:
+ endPoint: /preregistration/v1/transliteration/transliterate
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/Transliteration/translate
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.transliteration.transliterate",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "from_field_value": "string",
+ "from_field_lang": "eng",
+ "to_field_lang": "asdlka"
+
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_TRL_APP_002"
+ }
+ ]
+}'
+ Prereg_Transliteration_inValid_fromfieldlang:
+ endPoint: /preregistration/v1/transliteration/transliterate
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/Transliteration/translate
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.transliteration.transliterate",
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "from_field_value": "string",
+ "from_field_lang": "wqeffv",
+ "to_field_lang": "ara"
+
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_TRL_APP_002"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/Transliteration/translate.hbs b/apitest/src/main/resources/preReg/Transliteration/translate.hbs
new file mode 100644
index 00000000000..b44b18f813c
--- /dev/null
+++ b/apitest/src/main/resources/preReg/Transliteration/translate.hbs
@@ -0,0 +1,10 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "request": {
+ "from_field_value": "{{from_field_value}}",
+ "from_field_lang": "{{from_field_lang}}",
+ "to_field_lang": "{{to_field_lang}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/Transliteration/translateResult.hbs b/apitest/src/main/resources/preReg/Transliteration/translateResult.hbs
new file mode 100644
index 00000000000..0b9563a103e
--- /dev/null
+++ b/apitest/src/main/resources/preReg/Transliteration/translateResult.hbs
@@ -0,0 +1,8 @@
+{
+ "response": {
+ "from_field_value": "{{from_field_value}}",
+ "from_field_lang": "{{from_field_lang}}",
+ "to_field_value": "{{to_field_value}}",
+ "to_field_lang": "{{to_field_lang}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/UpdateDocRefID/UpdateDocRefID.yml b/apitest/src/main/resources/preReg/UpdateDocRefID/UpdateDocRefID.yml
new file mode 100644
index 00000000000..8ca0d9fda82
--- /dev/null
+++ b/apitest/src/main/resources/preReg/UpdateDocRefID/UpdateDocRefID.yml
@@ -0,0 +1,115 @@
+UpdateDocRefID:
+ Prereg_UpdateDocRefID_All_Valid_Smoke_POA_sid:
+ endPoint: /preregistration/v1/documents/document/{documentId}?preRegistrationId={preRegistrationId}&refNumber={refNumber}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/UpdateDocRefID/updateDocRefID
+ outputTemplate: preReg/UpdateDocRefID/updateDocRefIDResult
+ input: '{
+ "documentId": "$ID:UploadDocument_All_Valid_Smoke_UpdateDocRefID_sid_docId$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "refNumber":"text"
+}'
+ output: '{
+}'
+ Prereg_UpdateDocRefID_All_Valid_Smoke_POI_sid:
+ endPoint: /preregistration/v1/documents/document/{documentId}?preRegistrationId={preRegistrationId}&refNumber={refNumber}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/UpdateDocRefID/updateDocRefID
+ outputTemplate: preReg/UpdateDocRefID/updateDocRefIDResult
+ input: '{
+ "documentId": "$ID:UploadDocument_All_Valid_Smoke_POI_UpdateDocRefID_sid_docId$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "refNumber":"text"
+}'
+ output: '{
+}'
+ Prereg_UpdateDocRefID_All_Valid_Smoke_POB_sid:
+ endPoint: /preregistration/v1/documents/document/{documentId}?preRegistrationId={preRegistrationId}&refNumber={refNumber}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/UpdateDocRefID/updateDocRefID
+ outputTemplate: preReg/UpdateDocRefID/updateDocRefIDResult
+ input: '{
+ "documentId": "$ID:UploadDocument_All_Valid_Smoke_POB_UpdateDocRefID_sid_docId$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "refNumber":"text"
+}'
+ output: '{
+}'
+ Prereg_UpdateDocRefID_All_Valid_Smoke_POR_sid:
+ endPoint: /preregistration/v1/documents/document/{documentId}?preRegistrationId={preRegistrationId}&refNumber={refNumber}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/UpdateDocRefID/updateDocRefID
+ outputTemplate: preReg/UpdateDocRefID/updateDocRefIDResult
+ input: '{
+ "documentId": "$ID:UploadDocument_All_Valid_Smoke_POR_UpdateDocRefID_sid_docId$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "refNumber":"text"
+}'
+ output: '{
+}'
+ Prereg_UpdateDocRefID_inValid_documentId:
+ endPoint: /preregistration/v1/documents/document/{documentId}?preRegistrationId={preRegistrationId}&refNumber={refNumber}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdateDocRefID/updateDocRefID
+ outputTemplate: preReg/error
+ input: '{
+ "documentId": "eafvsbegrw134",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "refNumber":"text"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_DOC_005"
+ }
+ ]
+}'
+
+ Prereg_UpdateDocRefID_All_SpatialCharacter_RefNum_Neg:
+ endPoint: /preregistration/v1/documents/document/{documentId}?preRegistrationId={preRegistrationId}&refNumber={refNumber}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/UpdateDocRefID/updateDocRefID
+ outputTemplate: preReg/error
+ input: '{
+ "documentId": "89jsn$!",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "refNumber":"text"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_DOC_005"
+ }
+ ]
+}'
+
+ Prereg_UpdateDocRefID_Exceeding_Limit_RefNum_Neg:
+ endPoint: /preregistration/v1/documents/document/{documentId}?preRegistrationId={preRegistrationId}&refNumber={refNumber}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: put
+ inputTemplate: preReg/UpdateDocRefID/updateDocRefID
+ outputTemplate: preReg/error
+ input: '{
+ "documentId": "qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "refNumber":"text"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_DOC_005"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/UpdateDocRefID/updateDocRefID.hbs b/apitest/src/main/resources/preReg/UpdateDocRefID/updateDocRefID.hbs
new file mode 100644
index 00000000000..38ba325b394
--- /dev/null
+++ b/apitest/src/main/resources/preReg/UpdateDocRefID/updateDocRefID.hbs
@@ -0,0 +1,5 @@
+{
+ "documentId": "{{documentId}}",
+ "preRegistrationId": "{{preRegistrationId}}",
+ "refNumber":"{{refNumber}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/UpdateDocRefID/updateDocRefIDResult.hbs b/apitest/src/main/resources/preReg/UpdateDocRefID/updateDocRefIDResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/UpdateDocRefID/updateDocRefIDResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/UpdatePreRegStatus/updatePreRegStatus.hbs b/apitest/src/main/resources/preReg/UpdatePreRegStatus/updatePreRegStatus.hbs
new file mode 100644
index 00000000000..e07f894aa66
--- /dev/null
+++ b/apitest/src/main/resources/preReg/UpdatePreRegStatus/updatePreRegStatus.hbs
@@ -0,0 +1,4 @@
+{
+ "preRegistrationId": "{{preRegistrationId}}",
+ "statusCode": "{{statusCode}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/UpdatePreRegStatus/updatePreRegStatus.yml b/apitest/src/main/resources/preReg/UpdatePreRegStatus/updatePreRegStatus.yml
new file mode 100644
index 00000000000..ef04ce3c4cc
--- /dev/null
+++ b/apitest/src/main/resources/preReg/UpdatePreRegStatus/updatePreRegStatus.yml
@@ -0,0 +1,123 @@
+UpdatePreRegStatus:
+ Prereg_UpdatePreRegStatus_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}?statusCode={statusCode}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatus
+ outputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatusResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "statusCode": "Pending_Appointment"
+}'
+ output: '{
+}'
+ Prereg_UpdatePreRegStatus_for_expired_testcase_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}?statusCode={statusCode}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatus
+ outputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatusResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_for_expiry_sid_preRegistrationId$",
+ "statusCode": "Pending_Appointment"
+}'
+ output: '{
+}'
+ Prereg_UpdatePreRegStatus_All_Valid_Smoke_BookByPRID_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}?statusCode={statusCode}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatus
+ outputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatusResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "statusCode": "Pending_Appointment"
+}'
+ output: '{
+}'
+ Prereg_UpdatePreRegStatus_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}?statusCode={statusCode}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatus
+ outputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatusResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Valid_Smoke_sid_preRegistrationId$",
+ "statusCode": "Pending_Appointment"
+}'
+ output: '{
+}'
+ Prereg_UpdatePreRegStatus_CA_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}?statusCode={statusCode}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatus
+ outputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatusResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancellAppointment_sid_preRegistrationId$",
+ "statusCode": "Pending_Appointment"
+}'
+ output: '{
+}'
+ Prereg_UpdatePreRegStatus_Smoke_alldel_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}?statusCode={statusCode}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatus
+ outputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatusResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_alldel_sid_preRegistrationId$",
+ "statusCode": "Pending_Appointment"
+}'
+ output: '{
+}'
+ Prereg_UpdatePreRegStatus_Smoke_CancellAppointment_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}?statusCode={statusCode}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatus
+ outputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatusResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancellAppointment_sid_preRegistrationId$",
+ "statusCode": "Pending_Appointment"
+}'
+ output: '{
+}'
+ Prereg_UpdatePreRegStatus_Smoke_CancelApplicationsAppointment_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}?statusCode={statusCode}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatus
+ outputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatusResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancelApplicationsAppointment_sid_preRegistrationId$",
+ "statusCode": "Pending_Appointment"
+}'
+ output: '{
+}'
+ Prereg_UpdatePreRegStatus_without_update_prereg_status_sid:
+ endPoint: /preregistration/v1/applications/prereg/status/{preRegistrationId}?statusCode={statusCode}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: get
+ inputTemplate: preReg/UpdatePreRegStatus/updatePreRegStatus
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_book_appoinment_without_update_prereg_status_sid_preRegistrationId$",
+ "statusCode": "Pending_Appointment"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_APP_023"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/UpdatePreRegStatus/updatePreRegStatusResult.hbs b/apitest/src/main/resources/preReg/UpdatePreRegStatus/updatePreRegStatusResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/UpdatePreRegStatus/updatePreRegStatusResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/UpdatePreregistration/UpdatePreregistration.yml b/apitest/src/main/resources/preReg/UpdatePreregistration/UpdatePreregistration.yml
new file mode 100644
index 00000000000..a60b44479e6
--- /dev/null
+++ b/apitest/src/main/resources/preReg/UpdatePreregistration/UpdatePreregistration.yml
@@ -0,0 +1,364 @@
+UpdatePreregistration:
+ Prereg_UpdatePrereg_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/UpdatePreregistration/updatePreregistrationResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "langCode": "$1STLANG$"
+}'
+ Prereg_UpdatePrereg_All_Valid_Smoke_BookByPRID_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/UpdatePreregistration/updatePreregistrationResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "langCode": "$1STLANG$"
+}'
+ Prereg_UpdatePrereg_inValid_dateOfBirth_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "272838SHSH",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-IOV-004"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_missing_Version_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@thogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "$REMOVE$",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_invalid_Version_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "2728SHBSHSH",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_invalid_email_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "soh#w@Scdfvg",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-IOV-004"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_missing_langCode_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "soh#w@Scdfvg",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$REMOVE$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_INVALID_langCode_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "soh#w@Scdfvg",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$2736EBDEB$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_INVALID_requesttime_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "soh#w@Scdfvg",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$47738$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_015"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_Missing_requesttime_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "soh#w@Scdfvg",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$REMOVE$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_003"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_previous_date_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "2018-02-10T07:28:57.314Z",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_013"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_invalid_id_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre43DD4@GGGgistration.demographic.update"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_missing_id_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "$REMOVE$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_blank_id_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": ""
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_UpdatePrereg_update_date_without_Status_change_sid:
+ endPoint: /preregistration/v1/applications/prereg/{preRegistrationId}
+ role: batch
+ restMethod: put
+ inputTemplate: preReg/UpdatePreregistration/updatePreregistration
+ outputTemplate: preReg/UpdatePreregistration/updatePreregistrationResult
+ input: '{
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_date_verification_sid_preRegistrationId$",
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": 0.7,
+ "dateOfBirth": "1998/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.update"
+}'
+ output: '{
+ "langCode": "$1STLANG$"
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/UpdatePreregistration/updatePreregistrationResult.hbs b/apitest/src/main/resources/preReg/UpdatePreregistration/updatePreregistrationResult.hbs
new file mode 100644
index 00000000000..00a7c85075b
--- /dev/null
+++ b/apitest/src/main/resources/preReg/UpdatePreregistration/updatePreregistrationResult.hbs
@@ -0,0 +1,10 @@
+{
+ "response": {
+ "statusCode": "Application_Incomplete",
+ "demographicDetails": {
+ "identity": {
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/UpdatePridStatus/UpdatePridStatus.yml b/apitest/src/main/resources/preReg/UpdatePridStatus/UpdatePridStatus.yml
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apitest/src/main/resources/preReg/UpdatePridStatus/updatePridStatus.hbs b/apitest/src/main/resources/preReg/UpdatePridStatus/updatePridStatus.hbs
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apitest/src/main/resources/preReg/UpdatePridStatus/updatePridStatusResult.hbs b/apitest/src/main/resources/preReg/UpdatePridStatus/updatePridStatusResult.hbs
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apitest/src/main/resources/preReg/ValidateOtp/ValidateOtp.yml b/apitest/src/main/resources/preReg/ValidateOtp/ValidateOtp.yml
new file mode 100644
index 00000000000..9303967830c
--- /dev/null
+++ b/apitest/src/main/resources/preReg/ValidateOtp/ValidateOtp.yml
@@ -0,0 +1,121 @@
+ValidateOtp:
+ Prereg_ValidateOtp_All_Valid_Smoke_Phone_sid:
+ endPoint: /preregistration/v1/login/validateOtp
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/ValidateOtp/validateOtp
+ outputTemplate: preReg/ValidateOtp/validateOtpResult
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "9090872300",
+ "otp": "111111",
+ "id": "mosip.pre-registration.login.useridotp"
+}'
+ output: '{
+}'
+
+ Prereg_ValidateOtp_Invalid_Phone_Neg:
+ endPoint: /preregistration/v1/login/validateOtp
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/ValidateOtp/validateOtp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "909",
+ "otp": "111111",
+ "id": "mosip.pre-registration.login.useridotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_013"
+ }
+ ]
+}'
+
+ Prereg_ValidateOtp_SpacialCharacters_Phone_Neg:
+ endPoint: /preregistration/v1/login/validateOtp
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/ValidateOtp/validateOtp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "$!(",
+ "otp": "111111",
+ "id": "mosip.pre-registration.login.useridotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_013"
+ }
+ ]
+}'
+
+ Prereg_SendOtp_All_Valid_Smoke_email_sid:
+ endPoint: /preregistration/v1/login/validateOtp
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/ValidateOtp/validateOtp
+ outputTemplate: preReg/ValidateOtp/validateOtpResult
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "john.doe@mailinator.com",
+ "otp": "111111",
+ "id": "mosip.pre-registration.login.useridotp"
+}'
+ output: '{
+}'
+
+ Prereg_ValidateOtp_SpacialCharacters_Email_Neg:
+ endPoint: /preregistration/v1/login/validateOtp
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/ValidateOtp/validateOtp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "john.doe@mail$!inator.com",
+ "otp": "111111",
+ "id": "mosip.pre-registration.login.useridotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_013"
+ }
+ ]
+}'
+ Prereg_ValidateOtp_Invalid_Email_Neg:
+ endPoint: /preregistration/v1/login/validateOtp
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/ValidateOtp/validateOtp
+ outputTemplate: preReg/error
+ input: '{
+ "version": "1.0",
+ "requesttime": "$TIMESTAMP$",
+ "userId": "joh23",
+ "otp": "111111",
+ "id": "mosip.pre-registration.login.useridotp"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_LGN_013"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/ValidateOtp/validateOtp.hbs b/apitest/src/main/resources/preReg/ValidateOtp/validateOtp.hbs
new file mode 100644
index 00000000000..2e1a7c5820f
--- /dev/null
+++ b/apitest/src/main/resources/preReg/ValidateOtp/validateOtp.hbs
@@ -0,0 +1,9 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "request": {
+ "otp": "{{otp}}",
+ "userId": "{{userId}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/ValidateOtp/validateOtpResult.hbs b/apitest/src/main/resources/preReg/ValidateOtp/validateOtpResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/ValidateOtp/validateOtpResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/autoGeneratedId.properties b/apitest/src/main/resources/preReg/autoGeneratedId.properties
new file mode 100644
index 00000000000..e10844ac374
--- /dev/null
+++ b/apitest/src/main/resources/preReg/autoGeneratedId.properties
@@ -0,0 +1 @@
+CreatePrereg_All_Valid_Smoke_sid=1234567890
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/bookAppointment/bookAppointment.hbs b/apitest/src/main/resources/preReg/bookAppointment/bookAppointment.hbs
new file mode 100644
index 00000000000..02d2fc3ee40
--- /dev/null
+++ b/apitest/src/main/resources/preReg/bookAppointment/bookAppointment.hbs
@@ -0,0 +1,12 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "preRegistrationId":"{{preRegistrationId}}",
+ "request": {
+ "registration_center_id": "{{registration_center_id}}",
+ "appointment_date": "{{appointment_date}}",
+ "time_slot_from": "{{time_slot_from}}",
+ "time_slot_to": "{{time_slot_to}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/bookAppointment/bookAppointment.yml b/apitest/src/main/resources/preReg/bookAppointment/bookAppointment.yml
new file mode 100644
index 00000000000..1a8daa292fa
--- /dev/null
+++ b/apitest/src/main/resources/preReg/bookAppointment/bookAppointment.yml
@@ -0,0 +1,671 @@
+BookAppointment:
+ Prereg_BookAppointment_All_Valid_Smoke:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/bookAppointment/bookAppointmentResult
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+}'
+ Prereg_BookAppointment_CA_Smoke:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/bookAppointment/bookAppointmentResult
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_Smoke_CancellAppointment_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+}'
+ Prereg_BookAppointment_CancelApplicationsAppointment_Smoke:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/bookAppointment/bookAppointmentResult
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_Smoke_CancelApplicationsAppointment_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+}'
+ Prereg_BookAppointment_inValid_preRegistrationId:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"1234fgfgdb",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
+ Prereg_BookAppointment_blank_preRegistrationId:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_015"
+
+ }
+ ]
+}'
+ Prereg_BookAppointment_Invalid_Id:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "moe-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Blank_Id:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001",
+ "message": "Request id is invalid"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Blank_version:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Missing_version:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "$REMOVE$",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Invalid_version:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "snsjd73t33ybyh2334@FDh",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Invalid_registration_center_id:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "363wgbsion_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-MSD-215",
+ "message": "Registration Center not found"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Missing_registration_center_id:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$REMOVE$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_007",
+ "message": "Registration center id not entered"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Blank_registration_center_id:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_007",
+ "message": "Registration center id not entered"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Blank_appointment_date:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_008",
+ "message": "Booking date time not selected"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Missing_appointment_date:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$REMOVE$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_008"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Invalid_appointment_date:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "njdus6w22ybsh",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_031"
+
+ }
+ ]
+}'
+ Prereg_BookAppointment_Invalid_time_slot_to:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "dndj36gsbsb",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Missing_time_slot_to:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$REMOVE$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Invalid_time_slot_from:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "sbshbs653tgv",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Blank_time_slot_to:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Blank_time_slot_from:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointment_missing_time_slot_from:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$REMOVE$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointment_missing_requesttime:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$REMOVE$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_003"
+ }
+ ]
+}'
+ Prereg_BookAppointment_Invalid_requesttime:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "snnsjnsjn65"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_015"
+
+ }
+ ]
+}'
+ Prereg_BookAppointment_Blank_requesttime:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": ""
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_003"
+ }
+ ]
+}'
+ Prereg_BookAppointment_previous_date:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "2017-02-15T04:31:23.613Z"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_013"
+ }
+ ]
+}'
+
+ Prereg_BookAppointment_On_holiday:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_013"
+
+ }
+ ]
+}'
+
+ Prereg_BookAppointment_with_expired_status:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_for_expiry_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "2023-05-16",
+ "time_slot_from": "09:00:00",
+ "time_slot_to": "09:15:00",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_013"
+
+ }
+ ]
+}'
+ Prereg_BookAppointment_with_All_InValid_data:
+ endPoint: /preregistration/v1/applications/appointment/{preRegistrationId}
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/bookAppointment/bookAppointment
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$nId$",
+ "registration_center_id": "$333on_center_id$",
+ "id": "mosip.pre-regooking.book",
+ "version": "1.0.3fhffu",
+ "appointment_date": "$233ntment_date$",
+ "time_slot_from": "$time_2y6373gdg_from$",
+ "time_slot_to": "$time_slo373$",
+ "requesttime": "$TIMEST33dd"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_013"
+
+ }
+ ]
+}'
diff --git a/apitest/src/main/resources/preReg/bookAppointment/bookAppointmentResult.hbs b/apitest/src/main/resources/preReg/bookAppointment/bookAppointmentResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/bookAppointment/bookAppointmentResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/bookAppointmentByPRID/bookAppointmentByPRID.hbs b/apitest/src/main/resources/preReg/bookAppointmentByPRID/bookAppointmentByPRID.hbs
new file mode 100644
index 00000000000..ced99e0091e
--- /dev/null
+++ b/apitest/src/main/resources/preReg/bookAppointmentByPRID/bookAppointmentByPRID.hbs
@@ -0,0 +1,16 @@
+{
+ "id": "{{id}}",
+ "version": "{{version}}",
+ "requesttime": "{{requesttime}}",
+ "request": {
+ "bookingRequest": [
+ {
+ "preRegistrationId": "{{preRegistrationId}}",
+ "registration_center_id": "{{registration_center_id}}",
+ "appointment_date": "{{appointment_date}}",
+ "time_slot_from": "{{time_slot_from}}",
+ "time_slot_to": "{{time_slot_to}}"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/bookAppointmentByPRID/bookAppointmentByPRID.yml b/apitest/src/main/resources/preReg/bookAppointmentByPRID/bookAppointmentByPRID.yml
new file mode 100644
index 00000000000..1816a11e5e6
--- /dev/null
+++ b/apitest/src/main/resources/preReg/bookAppointmentByPRID/bookAppointmentByPRID.yml
@@ -0,0 +1,528 @@
+BookAppointmentByPRID:
+ Prereg_BookAppointmentByPRID_All_Valid_Smoke:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRIDResult
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+}'
+ Prereg_BookAppointmentByPRID_inValid_preRegistrationId:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"1234fgfgdb",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_blank_preRegistrationId:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_missing_preRegistrationId:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$REMOVE$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_APP_013"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_inValid_Id:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "moe.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Blank_Id:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Blank_version:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Missing_version:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "$REMOVE$",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Invalid_version:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "snsjd73t33ybyh2334@FDh",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Invalid_registration_center_id:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "363wgbsion_center_id",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-MSD-215"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Missing_registration_center_id:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$REMOVE$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_007"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Blank_registration_center_id:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_007"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Blank_appointment_date:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_008"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Missing_appointment_date:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$REMOVE$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_008"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Invalid_appointment_date:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "njdus6w22ybsh",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_031"
+
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_blank_time_slot_to:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_blank_time_slot_from:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Missing_time_slot_to:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$REMOVE$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Missing_time_slot_from:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$REMOVE$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$TIMESTAMP$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_BOOK_RCI_003"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_missing_requesttime:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "$REMOVE$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_003"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Invalid_requesttime:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "qerwgtgf"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_015"
+
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_Blank_requesttime:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": ""
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_003"
+ }
+ ]
+}'
+ Prereg_BookAppointmentByPRID_previous_requesttime:
+ endPoint: /preregistration/v1/applications/appointment
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/bookAppointmentByPRID/bookAppointmentByPRID
+ outputTemplate: preReg/error
+ input: '{
+ "preRegistrationId":"$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "registration_center_id": "$registration_center_id$",
+ "id": "mosip.pre-registration.booking.book",
+ "version": "1.0",
+ "appointment_date": "$appointment_date$",
+ "time_slot_from": "$time_slot_from$",
+ "time_slot_to": "$time_slot_to$",
+ "requesttime": "2017-02-15T04:31:23.613Z"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_013"
+ }
+ ]
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/bookAppointmentByPRID/bookAppointmentByPRIDResult.hbs b/apitest/src/main/resources/preReg/bookAppointmentByPRID/bookAppointmentByPRIDResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/bookAppointmentByPRID/bookAppointmentByPRIDResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/config/preRegistrationResourceURL.properties b/apitest/src/main/resources/preReg/config/preRegistrationResourceURL.properties
new file mode 100644
index 00000000000..2bc7b838e18
--- /dev/null
+++ b/apitest/src/main/resources/preReg/config/preRegistrationResourceURL.properties
@@ -0,0 +1,31 @@
+# PreRegistration resource URL Configuration
+
+#Document Service API's resource uris
+
+preReg_DocumentURI = /preregistration/v1/documents/
+preReg_DeleteDocumentByPreregistrationIdURI = /preregistration/v1/documents/preregistration/
+preReg_DeleteDocumentByDocumentIdURI = /preregistration/v1/documents/
+preReg_GetDocByPreId = /preregistration/v1/documents/preregistration/
+preReg_GetDocByDocId = /preregistration/v1/documents/
+preReg_CopyDocumentsURI = /preregistration/v1/documents/
+
+
+#Booking Appointment Service API's resource uris
+preReg_MultipleBooking=/preregistration/v1/appointment
+preReg_CancelAppointmentURI = /preregistration/v1/appointment/
+preReg_FecthAppointmentDetailsURI=/preregistration/v1/appointment/
+#Batch Job Service API's resource uris
+
+#QR Code Service API's resource uris
+preReg_QRCodeURI=/preregistration/v1/qrCode/generate
+
+
+#Notification Service API's resource uris
+preReg_NotifyURI=/preregistration/v1/notification/notify
+
+#Sync Master Data Service API's resource uris
+preReg_SyncMasterDataURI=/preregistration/v1/appointment/availability/sync
+
+#Booking Service API's resource uris
+preReg_RetriveBookedPreIdsByRegId=/preregistration/v1/appointment/preRegistrationId/
+preReg_FetchCenterIDURI = /preregistration/v1/appointment/availability/
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/config/preregistrationConfig.properties b/apitest/src/main/resources/preReg/config/preregistrationConfig.properties
new file mode 100644
index 00000000000..122b1cedccc
--- /dev/null
+++ b/apitest/src/main/resources/preReg/config/preregistrationConfig.properties
@@ -0,0 +1,55 @@
+createPreregRequestPath = "Create_PreRegistration/createPreRegistration_smoke";
+getTokenRequestPath = "generateOTP/generateOTP_smoke";
+documentUploadRequestPath = "DocumentUpload/DocumentUpload_smoke";
+discardAppRequestPath = "Discard_Individual/Discard Individual Applicant By using Pre Registration ID_smoke";
+fetchAllPreRegistrationCreatedByUserRequestPath ="Fetch_all_application_created_by_user/Fetch all application created User By using User ID_smoke";
+reverseDataSyncRequestPath ="ReverseDataSync/ReverseDataSync_smoke";
+retrivePreRegistrationDataRequestPath ="Retrive_PreRegistration/Retrive Pre registration data of an applicant after booking an appointment_smoke";
+bookExpiredAppointmentRequestPath ="BookingAppointment/BookingAppointment_smoke";
+bookGetPreRegistrationStatusRequestPath ="Fetch_the_status_of_a_application/Fetch Status of the application_smoke";
+documentUploadRequestPath="DocumentUpload/DocumentUpload_smoke";
+
+preRegAdminTokenFilePath="preRegAdminToken/preRegAdminToken_smoke";
+regClientAdminTokenFilePath="regClientAdminToken/regClientAdminToken_smoke";
+getPreRegistrationDataFilePath="Get_Pre_Registartion_data/Get Pre Pregistration Data of the application_smoke";
+updatePreRegFilePath="Pre_Registration/smokePreReg1";
+getAllDocumentForPreIdFilePath="GetAllDocumentForPreDocumentUploadUtil.java
+PreRegistrationUtil.javaRegId/GetAllDocumentForPreRegId_smoke";
+deleteAllDocumentByPreIdFilePath="DeleteAllDocumentsByPreRegID/DeleteAllDocumentForPreRegId_smoke";
+deleteAllDocumentByDocIdFilePath="DeleteDocumentByDocId/DeleteDocumentByDocmentId_smoke";
+FetchCentreFilePath="FetchAvailabilityDataOfRegCenters/FetchAvailabilityDataOfRegCenters_smoke";
+copyUploadedDocumentsFilePath="CopyUploadedDocument/CopyUploadedDocument_smoke";
+FetchCentreFilePath="FetchAvailabilityDataOfRegCenters/FetchAvailabilityDataOfRegCenters_smoke";
+BookAppointmentFilePath="BookingAppointment/BookingAppointment_smoke";
+bookAppointmentInvalidDateFilePath="BookingAppointment/BookingAppointment_smoke";
+FetchAppointmentDetailsFilePath="FetchAppointmentDetails/FetchAppointmentDetails_smoke";
+CancelBookingAppointmentFilePath="CancelAnBookedAppointment/CancelAnBookedAppointment_smoke";
+
+
+#QRCode Service filepath
+qrCodeFilePath=QRCode/preReg_QRCode_smoke
+
+#Notification Service filepath
+notificationFilePath=TriggerNotification/
+notificationSmokeTestFilePath=preReg_TriggerNotification_emailId_outlookAccount_smoke
+
+#DocumentFilePath
+validDocFilePath=preReg/Documents/validDocument
+inValidDocFilePath=preReg/Documents/invalidDocument
+fileName=/IDProof.pdf
+fileNameGreaterThanMax=/docSizeGreaterThan5MB.pdf
+documentFilePath=/doc_POA.pdf
+docFilePath=preReg/Documents/validDocument/IDProof.pdf
+
+req.Documentrequest=Document request
+req.notify=NotificationRequestDTO
+langCode.key=langCode
+req.fileName=attachment
+req.fileKey=file
+req.id=mosip.pre-registration.notification.notify
+req.ver=1.0
+key=value
+
+#Test CaseName
+smoke=smoke
+reqTime=requesttime
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/createPrereg/createPrereg.yml b/apitest/src/main/resources/preReg/createPrereg/createPrereg.yml
new file mode 100644
index 00000000000..fe8af7aa305
--- /dev/null
+++ b/apitest/src/main/resources/preReg/createPrereg/createPrereg.yml
@@ -0,0 +1,648 @@
+CreatePrereg:
+ Prereg_CreatePrereg_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_book_appoinment_without_update_prereg_status_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "9876543210",
+ "mobileno": "9876543210",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_All_Valid_Smoke_BookByPRID_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "langCode": "$1STLANG$"
+}'
+ Prereg_CreatePrereg_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_Smoke_alldel_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_Smoke_CancellAppointment_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_Smoke_CancelApplicationsAppointment_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_All_Valid_Smoke_for_expiry_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_in_Valid_id_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.prtion.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_missing_id_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "$REMOVE$"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_blank_id_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": ""
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_missing_langCode_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$REMOVE$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_invalid_langCode_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$363738$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_invalid_email_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "so.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-IOV-004"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_invalid_requesttime_format_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$2233STAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_015"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_missing_requesttime_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$REMOVE$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_003"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_previous_date_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "2019-08-23T05:28:27.570Z",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_013"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_invalid_version_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "13YU2U2",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_missing_version_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@hogwarts.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "$REMOVE$",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_002"
+ }
+ ]
+}'
+
+ Prereg_CreatePrereg_Invalid_PostalCode_Neg:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-IOV-004"
+ }
+ ]
+}'
+
+ Prereg_CreatePrereg_SpacialCharacter_PostalCode_Neg:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "$34!",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-IOV-004"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_Invalid_OTP_Neg:
+ endPoint: /preregistration/v1/applications/prereg
+ role: invalidBatch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "mobileno": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-IOV-004"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_All_Valid_Smoke_date_verification_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_with_special_characters_date:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/error
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "19@@@@9$$6/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "KER-IOV-004"
+ }
+ ]
+}'
+ Prereg_CreatePrereg_with_future_date:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_cancell_incomplete_prid_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
+ Prereg_CreatePrereg_cancell_pending_appoinment_prid_sid:
+ endPoint: /preregistration/v1/applications/prereg
+ role: batch
+ checkErrorsOnlyInResponse: true
+ restMethod: post
+ inputTemplate: preReg/createPrereg/createPrereg
+ outputTemplate: preReg/createPrereg/createPreregResult
+ input: '{
+ "postalCode": "14022",
+ "phone": "8249742850",
+ "email": "goku@technoforte.co.in",
+ "IDSchemaVersion": $SCHEMAVERSION$,
+ "dateOfBirth": "1996/01/01",
+ "version": "1.0",
+ "langCode": "$1STLANG$",
+ "requesttime": "$TIMESTAMP$",
+ "id": "mosip.pre-registration.demographic.create"
+}'
+ output: '{
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/createPrereg/createPreregResult.hbs b/apitest/src/main/resources/preReg/createPrereg/createPreregResult.hbs
new file mode 100644
index 00000000000..7a73a41bfdf
--- /dev/null
+++ b/apitest/src/main/resources/preReg/createPrereg/createPreregResult.hbs
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/error.hbs b/apitest/src/main/resources/preReg/error.hbs
new file mode 100644
index 00000000000..f4bcb6bee67
--- /dev/null
+++ b/apitest/src/main/resources/preReg/error.hbs
@@ -0,0 +1,10 @@
+{
+ "errors": [
+ {{#each errors}}
+ {
+ "errorCode": "{{errorCode}}"
+ }
+ {{#unless @last}},{{/unless}}
+ {{/each}}
+ ]
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/file/moethan3mb.pdf b/apitest/src/main/resources/preReg/file/moethan3mb.pdf
new file mode 100644
index 00000000000..a410b9145ef
Binary files /dev/null and b/apitest/src/main/resources/preReg/file/moethan3mb.pdf differ
diff --git a/apitest/src/main/resources/preReg/file/morethan10mbpdf.pdf b/apitest/src/main/resources/preReg/file/morethan10mbpdf.pdf
new file mode 100644
index 00000000000..00b1eeac2d7
Binary files /dev/null and b/apitest/src/main/resources/preReg/file/morethan10mbpdf.pdf differ
diff --git a/apitest/src/main/resources/preReg/file/morethan1mb.PDF b/apitest/src/main/resources/preReg/file/morethan1mb.PDF
new file mode 100644
index 00000000000..af7279bbb61
Binary files /dev/null and b/apitest/src/main/resources/preReg/file/morethan1mb.PDF differ
diff --git a/apitest/src/main/resources/preReg/file/morethan2mb.pdf b/apitest/src/main/resources/preReg/file/morethan2mb.pdf
new file mode 100644
index 00000000000..f1b4a8c4273
Binary files /dev/null and b/apitest/src/main/resources/preReg/file/morethan2mb.pdf differ
diff --git a/apitest/src/main/resources/preReg/file/morethan4mb.pdf b/apitest/src/main/resources/preReg/file/morethan4mb.pdf
new file mode 100644
index 00000000000..eb94fd2c683
Binary files /dev/null and b/apitest/src/main/resources/preReg/file/morethan4mb.pdf differ
diff --git a/apitest/src/main/resources/preReg/file/morethan5mb.pdf b/apitest/src/main/resources/preReg/file/morethan5mb.pdf
new file mode 100644
index 00000000000..dcb7d516b67
Binary files /dev/null and b/apitest/src/main/resources/preReg/file/morethan5mb.pdf differ
diff --git a/apitest/src/main/resources/preReg/uploadDocument/doc_POA.pdf b/apitest/src/main/resources/preReg/uploadDocument/doc_POA.pdf
new file mode 100644
index 00000000000..7fdb4cac39a
Binary files /dev/null and b/apitest/src/main/resources/preReg/uploadDocument/doc_POA.pdf differ
diff --git a/apitest/src/main/resources/preReg/uploadDocument/doc_POB.pdf b/apitest/src/main/resources/preReg/uploadDocument/doc_POB.pdf
new file mode 100644
index 00000000000..efdbc294498
Binary files /dev/null and b/apitest/src/main/resources/preReg/uploadDocument/doc_POB.pdf differ
diff --git a/apitest/src/main/resources/preReg/uploadDocument/doc_POI.pdf b/apitest/src/main/resources/preReg/uploadDocument/doc_POI.pdf
new file mode 100644
index 00000000000..b76e5118b73
Binary files /dev/null and b/apitest/src/main/resources/preReg/uploadDocument/doc_POI.pdf differ
diff --git a/apitest/src/main/resources/preReg/uploadDocument/doc_POR.pdf b/apitest/src/main/resources/preReg/uploadDocument/doc_POR.pdf
new file mode 100644
index 00000000000..efdbc294498
Binary files /dev/null and b/apitest/src/main/resources/preReg/uploadDocument/doc_POR.pdf differ
diff --git a/apitest/src/main/resources/preReg/uploadDocument/morethan1mbsmoke.pdf b/apitest/src/main/resources/preReg/uploadDocument/morethan1mbsmoke.pdf
new file mode 100644
index 00000000000..005f1600c8c
Binary files /dev/null and b/apitest/src/main/resources/preReg/uploadDocument/morethan1mbsmoke.pdf differ
diff --git a/apitest/src/main/resources/preReg/uploadDocument/uploadDocument.hbs b/apitest/src/main/resources/preReg/uploadDocument/uploadDocument.hbs
new file mode 100644
index 00000000000..e395a206965
--- /dev/null
+++ b/apitest/src/main/resources/preReg/uploadDocument/uploadDocument.hbs
@@ -0,0 +1,13 @@
+{
+ "id": "{{id}}",
+ "version" : "1.0",
+ "requesttime" : "{{requesttime}}",
+ "request" : {
+ "docCatCode" : "{{docCatCode}}",
+ "docTypCode" : "{{docTypCode}}",
+ "langCode" : "{{langCode}}"
+ },
+ "preRegistrationId": "{{preRegistrationId}}",
+ "filePath": "{{filePath}}",
+ "fileKeyName": "{{fileKeyName}}"
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/uploadDocument/uploadDocument.yml b/apitest/src/main/resources/preReg/uploadDocument/uploadDocument.yml
new file mode 100644
index 00000000000..be0b4e6cfd4
--- /dev/null
+++ b/apitest/src/main/resources/preReg/uploadDocument/uploadDocument.yml
@@ -0,0 +1,1090 @@
+UploadDocument:
+ Prereg_UploadDocument_All_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Rebook_the_booked_appoinment_Smoke_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POI_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POI",
+ "docTypCode" : "CIN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POI.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POI.pdf",
+"docCatCode":"POI",
+"docTypCode":"CIN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POB_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POB",
+ "docTypCode" : "COB",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POB.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POB.pdf",
+"docCatCode":"POB",
+"docTypCode":"COB",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POR_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POR",
+ "docTypCode" : "CRN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POR.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POR.pdf",
+"docCatCode":"POR",
+"docTypCode":"CRN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_UpdateDocRefID_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POI_UpdateDocRefID_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POI",
+ "docTypCode" : "CIN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POI.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POI.pdf",
+"docCatCode":"POI",
+"docTypCode":"CIN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POB_UpdateDocRefID_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POB",
+ "docTypCode" : "COB",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POB.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POB.pdf",
+"docCatCode":"POB",
+"docTypCode":"COB",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POR_UpdateDocRefID_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POR",
+ "docTypCode" : "CRN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_UpdateDocRefID_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POR.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POR.pdf",
+"docCatCode":"POR",
+"docTypCode":"CRN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_BookByPRID_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POI_BookByPRID_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POI",
+ "docTypCode" : "CIN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POI.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POI.pdf",
+"docCatCode":"POI",
+"docTypCode":"CIN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POB_BookByPRID_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POB",
+ "docTypCode" : "COB",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POB.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POB.pdf",
+"docCatCode":"POB",
+"docTypCode":"COB",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POR_BookByPRID_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POR",
+ "docTypCode" : "CRN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_BookByPRID_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POR.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POR.pdf",
+"docCatCode":"POR",
+"docTypCode":"CRN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Valid_Smoke_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Valid_Smoke_POI_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POI",
+ "docTypCode" : "CIN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POI.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POI.pdf",
+"docCatCode":"POI",
+"docTypCode":"CIN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Valid_POB_Smoke_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POB",
+ "docTypCode" : "COB",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POB.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POB.pdf",
+"docCatCode":"POB",
+"docTypCode":"COB",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Valid_POR_Smoke_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POR",
+ "docTypCode" : "CRN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POR.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POR.pdf",
+"docCatCode":"POR",
+"docTypCode":"CRN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_alldel_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_alldel_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_POI_alldel_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POI",
+ "docTypCode" : "CIN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_alldel_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POI.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POI.pdf",
+"docCatCode":"POI",
+"docTypCode":"CIN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_POB_alldel_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POB",
+ "docTypCode" : "COB",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_alldel_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POB.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POB.pdf",
+"docCatCode":"POB",
+"docTypCode":"COB",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_POR_alldel_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POR",
+ "docTypCode" : "CRN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_alldel_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POR.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POR.pdf",
+"docCatCode":"POR",
+"docTypCode":"CRN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_cancellappointment_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancellAppointment_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_cancellappointment_POI_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POI",
+ "docTypCode" : "CIN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancellAppointment_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POI.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POI.pdf",
+"docCatCode":"POI",
+"docTypCode":"CIN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_cancellappointment_POB_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POB",
+ "docTypCode" : "COB",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancellAppointment_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POB.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POB.pdf",
+"docCatCode":"POB",
+"docTypCode":"COB",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_cancellappointment_POR_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POR",
+ "docTypCode" : "CRN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancellAppointment_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POR.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POR.pdf",
+"docCatCode":"POR",
+"docTypCode":"CRN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_CancelApplicationsAppointment_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancelApplicationsAppointment_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_CancelApplicationsAppointment_POI_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POI",
+ "docTypCode" : "CIN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancelApplicationsAppointment_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POI.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POI.pdf",
+"docCatCode":"POI",
+"docTypCode":"CIN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_CancelApplicationsAppointment_POB_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POB",
+ "docTypCode" : "COB",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancelApplicationsAppointment_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POB.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POB.pdf",
+"docCatCode":"POB",
+"docTypCode":"COB",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_Smoke_CancelApplicationsAppointment_POR_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POR",
+ "docTypCode" : "CRN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_Smoke_CancelApplicationsAppointment_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POR.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POR.pdf",
+"docCatCode":"POR",
+"docTypCode":"CRN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_inValid_docTypCode_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "address",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_017"
+ }
+ ]
+}'
+ Prereg_UploadDocument_blank_docTypCode_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_017"
+
+ ]
+}'
+ Prereg_UploadDocument_missing_docTypCode_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "$REMOVE$",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_017"
+ }
+ ]
+}'
+ Prereg_UploadDocument_blank_doccatCode_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_018"
+ }
+ ]
+}'
+ Prereg_UploadDocument_missing_doccatCode_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "$REMOVE$",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_018"
+ }
+ ]
+}'
+ Prereg_UploadDocument_Invalid_doccatCode_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "shsu434@3",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_018"
+ }
+ ]
+}'
+ Prereg_UploadDocument_Invalid_langCode_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "fdjdikdjda",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014",
+ "message": "Lang code is invalid"
+ }
+ ]
+}'
+ Prereg_UploadDocument_missing_langCode_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$REMOVE$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_CORE_REQ_014",
+ "message": "Lang code is invalid"
+ }
+ ]
+}'
+ Prereg_UploadDocument_inValid_id_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "mossjsnam54ent.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001",
+ "message": "Request id is invalid"
+ }
+ ]
+}'
+ Prereg_UploadDocument_Blank_id_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/error
+ input: '{
+ "id": "",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+ "errors": [
+ {
+ "errorCode": "PRG_PAM_CORE_001",
+ "message": "Request id is invalid"
+ }
+ ]
+}'
+
+
+
+ Prereg_UploadDocument_All_Valid_Smoke_expiry_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_for_expiry_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POI_expired_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POI",
+ "docTypCode" : "CIN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_for_expiry_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POI.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POI.pdf",
+"docCatCode":"POI",
+"docTypCode":"CIN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POB_expired_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POB",
+ "docTypCode" : "COB",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_for_expiry_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POB.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POB.pdf",
+"docCatCode":"POB",
+"docTypCode":"COB",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POR_expired_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POR",
+ "docTypCode" : "CRN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_All_Valid_Smoke_for_expiry_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POR.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POR.pdf",
+"docCatCode":"POR",
+"docTypCode":"CRN",
+"docFileFormat":"pdf"
+}'
+
+ Prereg_UploadDocument_All_Valid_Smoke_cancell_pending_appoinment_prid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POA",
+ "docTypCode" : "RNC",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_cancell_pending_appoinment_prid_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POA.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POA.pdf",
+"docCatCode":"POA",
+"docTypCode":"RNC",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POI_cancell_pending_appoinment_prid_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POI",
+ "docTypCode" : "CIN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_cancell_pending_appoinment_prid_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POI.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POI.pdf",
+"docCatCode":"POI",
+"docTypCode":"CIN",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POB_cancell_pending_appoinment_prid_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POB",
+ "docTypCode" : "COB",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_cancell_pending_appoinment_prid_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POB.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POB.pdf",
+"docCatCode":"POB",
+"docTypCode":"COB",
+"docFileFormat":"pdf"
+}'
+ Prereg_UploadDocument_All_Valid_Smoke_POR_cancell_pending_appoinment_prid_sid:
+ endPoint: /preregistration/v1/documents/{preRegistrationId}
+ role: batch
+ restMethod: post
+ inputTemplate: preReg/uploadDocument/uploadDocument
+ outputTemplate: preReg/uploadDocument/uploadDocumentResult
+ input: '{
+ "id": "mosip.pre-registration.document.upload",
+ "docCatCode" : "POR",
+ "docTypCode" : "CRN",
+ "langCode" : "$1STLANG$",
+ "requesttime" : "$TIMESTAMP$",
+ "preRegistrationId": "$ID:CreatePrereg_cancell_pending_appoinment_prid_sid_preRegistrationId$",
+ "filePath": "preReg/uploadDocument/doc_POR.pdf",
+ "fileKeyName": "file"
+}'
+ output: '{
+"id":"mosip.pre-registration.document.upload",
+"docName":"doc_POR.pdf",
+"docCatCode":"POR",
+"docTypCode":"CRN",
+"docFileFormat":"pdf"
+}'
\ No newline at end of file
diff --git a/apitest/src/main/resources/preReg/uploadDocument/uploadDocumentResult.hbs b/apitest/src/main/resources/preReg/uploadDocument/uploadDocumentResult.hbs
new file mode 100644
index 00000000000..9f6fc5e082b
--- /dev/null
+++ b/apitest/src/main/resources/preReg/uploadDocument/uploadDocumentResult.hbs
@@ -0,0 +1,8 @@
+{
+"response":{
+ "docName":"{{docName}}",
+ "docCatCode":"{{docCatCode}}",
+ "docTypCode":"{{docTypCode}}",
+ "docFileFormat":"{{docFileFormat}}"
+ }
+}
\ No newline at end of file
diff --git a/apitest/src/main/resources/spring.properties b/apitest/src/main/resources/spring.properties
new file mode 100644
index 00000000000..21fdcd3ec79
--- /dev/null
+++ b/apitest/src/main/resources/spring.properties
@@ -0,0 +1,329 @@
+#Please change only required values
+logging.level.io.mosip.registrtaion=DEBUG
+
+hibernate.hbm2ddl.auto=none
+hibernate.dialect=org.hibernate.dialect.DerbyTenSevenDialect
+hibernate.show_sql=false
+hibernate.format_sql=false
+hibernate.connection.charSet=utf8
+hibernate.cache.use_second_level_cache=false
+hibernate.cache.use_query_cache=false
+hibernate.cache.use_structured_entries=false
+hibernate.generate_statistics=false
+
+#otp validation time details
+otp_validity_in_mins=2
+
+
+#Timeout Configuration
+HTTP_API_READ_TIMEOUT = 60000
+HTTP_API_WRITE_TIMEOUT = 60000
+
+#Biometric Device
+PROVIDER_NAME = Mantra
+WEBCAM_LIBRARY_NAME = sarxos
+
+#document scanner properties
+DOCUMENT_SCANNER_DEPTH=10
+DOCUMENT_SCANNER_HOST=192.168.43.253
+DOCUMENT_SCANNER_PORT=6566
+DOCUMENT_SCANNER_TIMEOUT=5000
+
+#Client ID and Secret Key
+AUTH_CLIENT_ID=registration-client
+AUTH_SECRET_KEY=c6f69439-f811-4415-8ebc-4c9e447c901e
+
+spring.cloud.config.uri=LOCAL
+spring.application.name=
+spring.profiles.active=
+spring.cloud.config.label=
+
+#AUTH_SDK
+mosip.registration.face.provider=com.identy.IdentyBioSDK
+mosip.registration.iris.provider=com.identy.IdentyBioSDK
+mosip.registration.finger.provider=com.identy.IdentyBioSDK
+
+
+#MDM
+#host has to be clarified whether nedd to be in config or hardcoded
+mdm.host=127.0.0.1
+#portRangeFrom and portRangeTo are mandate,portRangeTo can be same are greater than then portRangeFrom
+mdm.portRangeFrom=4500
+mdm.portRangeTo=4510
+mdm.contextPath=
+mdm.hostProtocol=http
+
+mdm.deviceInfo.service.path=deviceInfo
+mdm.deviceInfo.service.headers=Content-Type:APPLICATION/JSON
+mdm.deviceInfo.service.httpmethod=GET
+mdm.deviceInfo.service.responseType=java.lang.Object
+
+mdm.capture.service.path=capture
+mdm.capture.service.headers=Content-Type:APPLICATION/JSON
+mdm.capture.service.httpmethod=POST
+mdm.deviceInfo.service.responseType=java.lang.Object
+
+mdm.deviceDiscovery.service.path=deviceDiscovery
+mdm.deviceDiscovery.service.headers=Content-Type:APPLICATION/JSON
+mdm.deviceDiscovery.service.httpmethod=POST
+mdm.deviceDiscovery.service.responseType=java.lang.Object
+
+mosip.kernel.idobjectvalidator.file-storage-uri=LOCAL
+mosip.kernel.idobjectvalidator.schema-name=mosip-identity-json-schema.json
+mosip.kernel.idobjectvalidator.property-source=LOCAL
+mosip.kernel.keymanager-service-sign-url=
+
+mosip.country.code=MOR
+
+#onboarded_user details
+user_machine_mapping.service.url=https://qa.mosip.io/v1/masterdata/registrationmachineusermappings
+user_machine_mapping.service.httpmethod=PUT
+user_machine_mapping.service.requestType=java.lang.Object
+user_machine_mapping.service.headers=Content-Type:APPLICATION/JSON
+user_machine_mapping.service.authrequired=true
+user_machine_mapping.service.signrequired=false
+user_machine_mapping.service.authheader=Authorization:OAUTH
+user_machine_mapping.service.requestsignrequired=true
+
+#packet_status details
+packet_status.service.url=https://qa.mosip.io/registrationprocessor/v1/registrationstatus/search
+packet_status.service.httpmethod=POST
+packet_status.service.responseType=java.util.LinkedHashMap
+packet_status.service.headers=Content-Type:APPLICATION/JSON
+packet_status.service.authrequired=true
+packet_status.service.signrequired=false
+packet_status.service.authheader=Authorization:OAUTH
+packet_status.service.requestsignrequired=true
+
+#sms
+sms.service.url=https://qa.mosip.io/v1/smsnotifier/sms/send
+sms.service.httpmethod=POST
+sms.service.requestType=java.lang.Object
+sms.service.headers=Content-Type:APPLICATION/JSON
+sms.service.authrequired=true
+sms.service.signrequired=false
+sms.service.authheader=Authorization:OAUTH
+sms.service.requestsignrequired=true
+
+#email
+email.service.url=https://qa.mosip.io/v1/emailnotifier/email/send
+email.service.httpmethod=POST
+email.service.requestType=java.lang.Object
+email.service.headers=Content-Type:multipart/form-data
+email.service.authrequired=true
+email.service.signrequired=false
+email.service.authheader=Authorization:OAUTH
+email.service.requestsignrequired=true
+
+#Upload
+packet_upload.service.url=https://qa.mosip.io/registrationprocessor/v1/packetreceiver/registrationpackets
+packet_upload.service.httpmethod=POST
+packet_upload.service.requestType=java.lang.String
+packet_upload.service.headers=Content-Type:multipart/form-data
+packet_upload.service.authrequired=true
+packet_upload.service.signrequired=false
+packet_upload.service.authheader=Authorization:OAUTH
+packet_upload.service.service.requestsignrequired=true
+
+#Packet Sync
+packet_sync.service.url=https://qa.mosip.io/registrationprocessor/v1/registrationstatus/sync
+packet_sync.service.httpmethod=POST
+packet_sync.service.requestType=java.lang.Object
+packet_sync.service.headers=Content-Type:APPLICATION/JSON,timestamp:timestamp,Center-Machine-RefId:centerId
+packet_sync.service.authrequired=true
+packet_sync.service.signrequired=false
+packet_sync.service.authheader=Authorization:OAUTH
+packet_sync.service.service.requestsignrequired=true
+
+#policy sync
+policysync.service.url= https://qa.mosip.io/v1/syncdata/publickey/REGISTRATION
+policysync.service.httpmethod=GET
+policysync.service.responseType=java.util.LinkedHashMap
+policysync.service.headers=Content-Type:APPLICATION/JSON
+policysync.service.authrequired=true
+policysync.service.signrequired=false
+policysync.service.authheader=Authorization:OAUTH
+policysync.service.service.requestsignrequired=true
+
+#Pre-Registration Get Pre-Reg Id's
+get_pre_registration_Ids.service.url=https://qa.mosip.io/preregistration/v1/sync
+get_pre_registration_Ids.service.httpmethod=POST
+get_pre_registration_Ids.service.requestType=java.lang.Object
+get_pre_registration_Ids.service.headers=Content-Type:APPLICATION/JSON
+get_pre_registration_Ids.service.authrequired=true
+get_pre_registration_Ids.service.signrequired=false
+get_pre_registration_Ids.service.authheader=Authorization:OAUTH
+get_pre_registration_Ids.service.requestsignrequired=true
+
+#Pre-Registration Get Pre-Reg packet
+get_pre_registration.service.url=https://qa.mosip.io/preregistration/v1/sync/{pre_registration_id}
+get_pre_registration.service.httpmethod=GET
+get_pre_registration.service.responseType=java.lang.Object
+get_pre_registration.service.headers=Content-Type:APPLICATION/JSON
+get_pre_registration.service.authrequired=true
+get_pre_registration.service.signrequired=false
+get_pre_registration.service.authheader=Authorization:OAUTH
+get_pre_registration.service.requestsignrequired=true
+
+#master_sync details
+master_sync.service.url=https://qa.mosip.io/v1/syncdata/masterdata
+master_sync.service.httpmethod=GET
+master_sync.service.responseType=java.lang.Object
+master_sync.service.headers=Content-Type:application/json;charset=UTF-8
+master_sync.service.authrequired=true
+master_sync.service.signrequired=false
+master_sync.service.authheader=Authorization:OAUTH
+master_sync.service.requestsignrequired=true
+
+#Get Global-Config Details
+get_registration_center_config.service.url=https://qa.mosip.io/v1/syncdata/configs
+get_registration_center_config.service.httpmethod=GET
+get_registration_center_config.service.responseType=java.util.LinkedHashMap
+get_registration_center_config.service.headers=Content-Type:APPLICATION/JSON
+get_registration_center_config.service.authrequired=true
+get_registration_center_config.service.signrequired=false
+get_registration_center_config.service.authheader=Authorization:OAUTH
+get_registration_center_config.service.requestsignrequired=true
+
+#Send OTP
+send_otp.service.url=https://qa.mosip.io/v1/authmanager/authenticate/sendotp
+send_otp.service.httpmethod=POST
+send_otp.service.requestType=java.lang.Object
+send_otp.service.headers=Content-Type:APPLICATION/JSON
+send_otp.service.authrequired=true
+send_otp.service.signrequired=false
+send_otp.service.authheader=Authorization:OAUTH
+send_otp.service.requestsignrequired=false
+
+#Validate Authorization Token
+validate_auth_token.service.url=https://qa.mosip.io/v1/authmanager/authorize/admin/validateToken
+validate_auth_token.service.httpmethod=POST
+validate_auth_token.service.requestType=java.lang.Object
+validate_auth_token.service.headers=Content-Type:APPLICATION/JSON
+validate_auth_token.service.authrequired=true
+validate_auth_token.service.signrequired=false
+validate_auth_token.service.authheader=Authorization:OAUTH
+validate_auth_token.service.requestsignrequired=false
+
+#Authentication API
+auth_by_password.service.url=https://qa.mosip.io/v1/authmanager/authenticate/useridPwd
+auth_by_otp.service.url=https://qa.mosip.io/v1/authmanager/authenticate/useridOTP
+auth_by_clientid_secretkey.service.url=https://qa.mosip.io/v1/authmanager/authenticate/clientidsecretkey
+
+#user details
+user_details.service.url=https://qa.mosip.io/v1/syncdata/userdetails/{regid}
+user_details.service.httpmethod=GET
+user_details.service.responseType=java.lang.Object
+user_details.service.headers=Content-Type:APPLICATION/JSON
+user_details.service.authrequired=true
+user_details.service.signrequired=false
+user_details.service.authheader=Authorization:OAUTH
+user_details.service.requestsignrequired=true
+
+#Invalidate Authorization Token
+invalidate_auth_token.service.url=https://qa.mosip.io/v1/authmanager/authorize/invalidateToken
+invalidate_auth_token.service.httpmethod=POST
+invalidate_auth_token.service.requestType=java.lang.Object
+invalidate_auth_token.service.headers=Content-Type:APPLICATION/JSON
+invalidate_auth_token.service.authrequired=true
+invalidate_auth_token.service.signrequired=false
+invalidate_auth_token.service.authheader=Authorization:OAUTH
+invalidate_auth_token.service.requestsignrequired=false
+
+#public_key details
+public_key.service.url=https://qa.mosip.io/v1/keymanager/publickey/KERNEL
+public_key.service.httpmethod=GET
+public_key.service.responseType=java.lang.Object
+public_key.service.headers=Content-Type:APPLICATION/JSON
+public_key.service.authrequired=true
+public_key.service.signrequired=false
+public_key.service.authheader=Authorization:OAUTH
+public_key.service.requestsignrequired=true
+
+#public_key details
+public_key.service.url=https://qa.mosip.io/v1/keymanager/publickey/KERNEL
+public_key.service.httpmethod=GET
+public_key.service.responseType=java.lang.Object
+public_key.service.headers=Content-Type:APPLICATION/JSON
+public_key.service.authrequired=true
+public_key.service.signrequired=false
+public_key.service.authheader=Authorization:OAUTH
+public_key.service.requestsignrequired=true
+
+#user_salt_details details
+user_salt_details.service.url=https://qa.mosip.io/v1/authmanager/usersaltdetails/registrationclient
+user_salt_details.service.httpmethod=GET
+user_salt_details.service.responseType=java.lang.Object
+user_salt_details.service.headers=Content-Type:APPLICATION/JSON
+user_salt_details.service.authrequired=true
+user_salt_details.service.signrequired=false
+user_salt_details.service.authheader=Authorization:OAUTH
+user_salt_details.service.requestsignrequired=true
+
+#SignatureResponseUrl's
+mosip.kernel.signature.cryptomanager-encrypt-url=https://qa.mosip.io/v1/cryptomanager/private/encrypt
+mosip.kernel.keymanager-service-publickey-url=https://qa.mosip.io/v1/keymanager/publickey/{applicationId}
+auth.server.validate.url=https://qa.mosip.io/v1/authmanager/authorize/validateToken
+auth.server.refreshToken.url=https://qa.mosip.io/v1/authmanager/authorize/refreshToken
+
+#master_sync details
+center_remap_sync.service.url=https://qa.mosip.io/v1/syncdata/masterdata/{regcenterId}
+center_remap_sync.service.httpmethod=GET
+center_remap_sync.service.responseType=java.lang.Object
+center_remap_sync.service.headers=Content-Type:application/json;charset=UTF-8
+center_remap_sync.service.authrequired=true
+center_remap_sync.service.signrequired=false
+center_remap_sync.service.authheader=Authorization:OAUTH
+center_remap_sync.service.requestsignrequired=true
+
+#ida_key details
+ida_key.service.url=https://qa.mosip.io/v1/keymanager/publickey/IDA
+ida_key.service.httpmethod=GET
+ida_key.service.responseType=java.util.LinkedHashMap
+ida_key.service.headers=Content-Type:APPLICATION/JSON
+ida_key.service.authrequired=true
+ida_key.service.signrequired=false
+ida_key.service.authheader=Authorization:OAUTH
+ida_key.service.requestsignrequired=true
+
+#ida_auth details
+ida_auth.service.url=https://qa.mosip.io/idauthentication/v1/internal/auth
+ida_auth.service.httpmethod=POST
+ida_auth.service.responseType=java.util.LinkedHashMap
+ida_auth.service.headers=Content-Type:APPLICATION/JSON
+ida_auth.service.authrequired=true
+ida_auth.service.signrequired=false
+ida_auth.service.authheader=Authorization:OAUTH
+ida_auth.service.requestsignrequired=true
+
+#TPM Public Key Upload
+tpm_public_key.service.url=https://qa.mosip.io/v1/syncdata/tpm/publickey
+tpm_public_key.service.httpmethod=POST
+tpm_public_key.service.responseType=java.lang.Object
+tpm_public_key.service.headers=Content-Type:APPLICATION/JSON
+tpm_public_key.service.authrequired=true
+tpm_public_key.service.signrequired=false
+tpm_public_key.service.authheader=Authorization:OAUTH
+ida_auth.service.requestsignrequired=false
+
+#Main Properties
+mosip.reg.client.url=https://devops.mosip.io/artifactory/libs-release/io/mosip/registration/registration-client/
+mosip.reg.logpath=../logs
+mosip.reg.packetstorepath=../PacketStore
+mosip.reg.healthcheck.url=https://qa.mosip.io/v1/authmanager/actuator/health
+mosip.reg.rollback.path=../BackUp
+mosip.reg.db.key=bW9zaXAxMjM0NQ\=\=
+mosip.reg.cerpath=/cer//mosip_cer.cer
+mosip.reg.xml.file.url=https://devops.mosip.io/artifactory/libs-release/io/mosip/registration/registration-client/maven-metadata.xml
+mosip.reg.dbpath=db/reg
+mosip.reg.client.tpm.availability=N
+
+#Cryptomanger
+session_key.service.url=https://qa.mosip.io/v1/cryptomanager/encrypt
+session_key.service.httpmethod=POST
+session_key.service.requestType=java.lang.Object
+session_key.service.headers=Content-Type:APPLICATION/JSON
+session_key.service.authrequired=true
+session_key.service.signrequired=false
+session_key.service.authheader=Authorization:OAUTH
+session_key.service.service.requestsignrequired=true
diff --git a/apitest/src/main/resources/validations.properties b/apitest/src/main/resources/validations.properties
new file mode 100644
index 00000000000..18ecaa8bf2a
--- /dev/null
+++ b/apitest/src/main/resources/validations.properties
@@ -0,0 +1,34 @@
+#field = regex ,isMandatory
+preRegistrationId=\\d{0,30} ,true
+parentName=(.){0,50} ,true
+parentName_ontype=(.){0,50} ,true
+parentRegId=\\d{0,} ,true
+parentRegId_ontype=\\d{0,} ,true
+parentUinId=\\d{0,} ,true
+parentUinId_ontype=\\d{0,} ,true
+parentNameLocalLanguage=(.){0,50} ,true
+parentNameLocalLanguage_ontype=(.){0,50} ,true
+ageField=\\d{0,3} ,true
+ageField_ontype=\\d{0,3} ,true
+ageFieldLocalLanguage=\\d{0,3} ,true
+parentRegIdLocalLanguage=\\d{0,} ,true
+parentRegIdLocalLanguage_ontype=\\d{0,} ,true
+parentUinIdLocalLanguage=\\d{0,} ,true
+parentUinIdLocalLanguage_ontype=\\d{0,} ,true
+ddLocalLanguage=\\d{0,2} ,true
+mmLocalLanguage=\\d{0,2} ,true
+yyyyLocalLanguage=\\d{4} ,true
+dd=\\d{0,2} ,true
+mm=\\d{0,2} ,true
+yyyy=\\d{4} ,true
+dd_ontype=\\d{0,2} ,true
+mm_ontype=\\d{0,2} ,true
+yyyy_ontype=\\d{0,4} ,true
+ddLocalLanguage_ontype=\\d{0,2} ,true
+mmLocalLanguage_ontype=\\d{0,2} ,true
+yyyyLocalLanguage_ontype=\\d{0,4} ,true
+otp=(.){0,10} ,true
+cniOrPinNumber=\\d{10,30} ,true
+cniOrPinNumberLocalLanguage=\\d{10,30} ,true
+cniOrPinNumber_ontype=\\d{10,30} ,true
+cniOrPinNumberLocalLanguage_ontype=\\d{10,30} ,true
diff --git a/apitest/testNgXmlFiles/preregApi.xml b/apitest/testNgXmlFiles/preregApi.xml
new file mode 100644
index 00000000000..ced08364d9b
--- /dev/null
+++ b/apitest/testNgXmlFiles/preregApi.xml
@@ -0,0 +1,335 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/db_release_scripts/mosip_prereg/ddl/prereg-anonymous_profile.sql b/db_release_scripts/mosip_prereg/ddl/prereg-anonymous_profile.sql
deleted file mode 100644
index 1dbfb0b3572..00000000000
--- a/db_release_scripts/mosip_prereg/ddl/prereg-anonymous_profile.sql
+++ /dev/null
@@ -1,30 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.anonymous_profile
--- Purpose : Anonymous profile:
---
--- Create By : Ram
--- Created Date : Sept-2021
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
-
--- object: prereg.prereg.anonymous_profile | type: TABLE --
--- DROP TABLE IF EXISTS prereg.prereg.anonymous_profile CASCADE;
-
-
-
-CREATE TABLE IF NOT EXISTS prereg.anonymous_profile
-(
- id character varying(36) NOT NULL,
- profile character varying NOT NULL,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp without time zone NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp without time zone,
- is_deleted boolean,
- del_dtimes timestamp without time zone,
- CONSTRAINT anonymous_profile_pkey PRIMARY KEY (id)
-);
-
--- ddl-end --
diff --git a/db_release_scripts/mosip_prereg/ddl/prereg-applications.sql b/db_release_scripts/mosip_prereg/ddl/prereg-applications.sql
deleted file mode 100644
index 1044cb6b6aa..00000000000
--- a/db_release_scripts/mosip_prereg/ddl/prereg-applications.sql
+++ /dev/null
@@ -1,33 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.applications
--- Purpose : Applications:
---
--- Create By : Ram Bhatt
--- Created Date : Aug-2021
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.applications | type: TABLE --
--- DROP TABLE IF EXISTS prereg.applications CASCADE;
-CREATE TABLE prereg.applications(
- application_id character varying(36) NOT NULL,
- booking_type character varying(256) NOT NULL,
- booking_status_code character varying(256),
- application_status_code character varying(256),
- registration_center_id character varying(10),
- appointment_date date,
- booking_date date,
- slot_from_time timestamp without time zone,
- slot_to_time timestamp without time zone,
- contact_info character varying(256),
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp without time zone NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp without time zone,
- CONSTRAINT appid_pk PRIMARY KEY (application_id)
-
-);
--- ddl-end --
diff --git a/db_release_scripts/mosip_prereg/ddl/prereg-otp_transaction.sql b/db_release_scripts/mosip_prereg/ddl/prereg-otp_transaction.sql
deleted file mode 100644
index d6d8d544b6f..00000000000
--- a/db_release_scripts/mosip_prereg/ddl/prereg-otp_transaction.sql
+++ /dev/null
@@ -1,63 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.otp_transaction
--- Purpose : OTP Transaction: All OTP related data and validation details are maintained here for Pre Registration module.
---
--- Create By : Sadanandegowda DM
--- Created Date : Dec-2020
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.otp_transaction | type: TABLE --
--- DROP TABLE IF EXISTS prereg.otp_transaction CASCADE;
-CREATE TABLE prereg.otp_transaction(
- id character varying(36) NOT NULL,
- ref_id character varying(64) NOT NULL,
- otp_hash character varying(512) NOT NULL,
- generated_dtimes timestamp,
- expiry_dtimes timestamp,
- validation_retry_count smallint,
- status_code character varying(36),
- lang_code character varying(3),
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp,
- is_deleted boolean,
- del_dtimes timestamp,
- CONSTRAINT pk_otpt_id PRIMARY KEY (id)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.otp_transaction IS 'OTP Transaction: All OTP related data and validation details are maintained here for Pre Registration module.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.id IS 'ID: OTP id is a unique identifier (UUID) used as an unique key to identify the OTP transaction';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.ref_id IS 'Reference ID: Reference ID is a reference information received from OTP requester which can be used while validating the OTP. AM: please give examples of ref_id';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.otp_hash IS 'OTP Hash: Hash of id, ref_id and otp which is generated based on the configuration setup and sent to the requester application / module.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.generated_dtimes IS 'Generated Date Time: Date and Time when the OTP was generated';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.expiry_dtimes IS 'Expiry Date Time: Date Time when the OTP will be expired';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.validation_retry_count IS 'Validation Retry Count: Validation retry counts of this OTP request. If the validation retry crosses the threshold limit, then the OTP will be de-activated.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.status_code IS 'Status Code: Current status of the transaction. Refers to code field of master.status_list table.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.is_deleted IS 'IS_Deleted : Flag to mark whether the record is Soft deleted.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.del_dtimes IS 'Deleted DateTimestamp : Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
--- ddl-end --
\ No newline at end of file
diff --git a/db_release_scripts/mosip_prereg/prereg_release_db_deploy.sh b/db_release_scripts/mosip_prereg/prereg_release_db_deploy.sh
deleted file mode 100644
index 39c2a1fe802..00000000000
--- a/db_release_scripts/mosip_prereg/prereg_release_db_deploy.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-### -- ---------------------------------------------------------------------------------------------------------
-### -- Script Name : Prereg Release DB deploy
-### -- Deploy Module : MOSIP Prereg
-### -- Purpose : To deploy Prereg Database alter scripts for the release.
-### -- Create By : Sadanandegowda
-### -- Created Date : 25-Oct-2019
-### --
-### -- Modified Date Modified By Comments / Remarks
-### -- -----------------------------------------------------------------------------------------------------------
-
-### -- -----------------------------------------------------------------------------------------------------------
-
-#########Properties file #############
-set -e
-properties_file="$1"
-release_version="$2"
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Properties File Name - $properties_file"
- echo `date "+%m/%d/%Y %H:%M:%S"` ": DB Deploymnet Version - $release_version"
-#properties_file="./app.properties"
-if [ -f "$properties_file" ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file \"$properties_file\" found."
- while IFS='=' read -r key value
- do
- key=$(echo $key | tr '.' '_')
- eval ${key}=\${value}
- done < "$properties_file"
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file not found, Pass property file name as argument."
-fi
-echo `date "+%m/%d/%Y %H:%M:%S"` ": ------------------ Database server and service status check for ${MOSIP_DB_NAME}------------------------"
-
-today=`date '+%d%m%Y_%H%M%S'`;
-LOG="${LOG_PATH}${MOSIP_DB_NAME}-release-${release_version}-${today}.log"
-touch $LOG
-
-SERVICE=$(PGPASSWORD=$SU_USER_PWD psql --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "select count(1) from pg_roles where rolname IN('sysadmin')";exit; > /dev/null)
-
-if [ "$SERVICE" -eq 0 ] || [ "$SERVICE" -eq 1 ]
-then
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Postgres database server and service is up and running" | tee -a $LOG 2>&1
-else
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Postgres database server or service is not running" | tee -a $LOG 2>&1
-fi
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": ----------------------------------------------------------------------------------------"
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Started sourcing the $MOSIP_DB_NAME Database Alter scripts" | tee -a $LOG 2>&1
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Database Alter scripts are sourcing from :$BASEPATH/$MOSIP_DB_NAME/" | tee -a $LOG 2>&1
-
-#========================================DB Alter Scripts deployment process begins on IDMAP DB SERVER==================================
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Alter scripts deployment on $MOSIP_DB_NAME database is started....Deployment Version...$release_version" | tee -a $LOG 2>&1
-
-ALTER_SCRIPT_FILENAME_VERSION="sql/${release_version}_${ALTER_SCRIPT_FILENAME}"
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Alter scripts file which is considered for release deployment - $ALTER_SCRIPT_FILENAME_VERSION" | tee -a $LOG 2>&1
-
-cd /$BASEPATH/$MOSIP_DB_NAME/
-
-pwd | tee -a $LOG 2>&1
-
-CONN=$(PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "SELECT count(pg_terminate_backend(pg_stat_activity.pid)) FROM pg_stat_activity WHERE datname = '$MOSIP_DB_NAME' AND pid <> pg_backend_pid()";exit; >> $LOG 2>&1)
-
-if [ ${CONN} == 0 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": No active database connections exist on ${MOSIP_DB_NAME}" | tee -a $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Active connections exist on the database server and active connection will be terminated for DB deployment." | tee -a $LOG 2>&1
-fi
-
-if [ ${ALTER_SCRIPT_FLAG} == 1 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Deploying Alter scripts for ${MOSIP_DB_NAME} database" | tee -a $LOG 2>&1
- PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -a -b -f $ALTER_SCRIPT_FILENAME_VERSION >> $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": There are no alter scripts available for this deployment at ${MOSIP_DB_NAME}" | tee -a $LOG 2>&1
-fi
-
-if [ $(grep -c ERROR $LOG) -ne 0 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Database Alter scripts deployment version $release_version is completed with ERRORS, Please check the logs for more information" | tee -a $LOG 2>&1
- echo `date "+%m/%d/%Y %H:%M:%S"` ": END of Alter scripts MOSIP database deployment" | tee -a $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Database Alter scripts deployment version $release_version completed successfully, Please check the logs for more information" | tee -a $LOG 2>&1
- echo `date "+%m/%d/%Y %H:%M:%S"` ": END of MOSIP \"${MOSIP_DB_NAME}\" database alter scripts deployment" | tee -a $LOG 2>&1
-fi
-
-echo "******************************************"`date "+%m/%d/%Y %H:%M:%S"` "*****************************************************" >> $LOG 2>&1
-
-
diff --git a/db_release_scripts/mosip_prereg/prereg_release_deploy.properties b/db_release_scripts/mosip_prereg/prereg_release_deploy.properties
deleted file mode 100644
index cd6939798ef..00000000000
--- a/db_release_scripts/mosip_prereg/prereg_release_deploy.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-DB_SERVERIP=
-DB_PORT=9001
-SU_USER=postgres
-SU_USER_PWD=
-DEFAULT_DB_NAME=postgres
-MOSIP_DB_NAME=mosip_prereg
-SYSADMIN_USER=sysadmin
-SYSADMIN_PWD=
-BASEPATH=/home/madmin/database_release
-LOG_PATH=/home/madmin/logs/
-ALTER_SCRIPT_FLAG=1
-ALTER_SCRIPT_FILENAME=prereg-scripts_release.sql
-REVOKE_SCRIPT_FLAG=1
-REVOKE_SCRIPT_FILENAME=prereg-scripts_revoke.sql
diff --git a/db_release_scripts/mosip_prereg/prereg_revoke_db_deploy.sh b/db_release_scripts/mosip_prereg/prereg_revoke_db_deploy.sh
deleted file mode 100644
index edc5ad2cb74..00000000000
--- a/db_release_scripts/mosip_prereg/prereg_revoke_db_deploy.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-### -- ---------------------------------------------------------------------------------------------------------
-### -- Script Name : Prereg Revoke DB deploy
-### -- Deploy Module : MOSIP Prereg
-### -- Purpose : To revoke Prereg Database alter scripts for the release.
-### -- Create By : Sadanandegowda
-### -- Created Date : 25-Oct-2019
-### --
-### -- Modified Date Modified By Comments / Remarks
-### -- -----------------------------------------------------------------------------------------------------------
-
-### -- -----------------------------------------------------------------------------------------------------------
-
-#########Properties file #############
-set -e
-properties_file="$1"
-revoke_version="$2"
- echo `date "+%m/%d/%Y %H:%M:%S"` ": $properties_file"
- echo `date "+%m/%d/%Y %H:%M:%S"` ": DB Revoke Version - $revoke_version"
-#properties_file="./app.properties"
-if [ -f "$properties_file" ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file \"$properties_file\" found."
- while IFS='=' read -r key value
- do
- key=$(echo $key | tr '.' '_')
- eval ${key}=\${value}
- done < "$properties_file"
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file not found, Pass property file name as argument."
-fi
-echo `date "+%m/%d/%Y %H:%M:%S"` ": ------------------ Database server and service status check for ${MOSIP_DB_NAME}------------------------"
-
-today=`date '+%d%m%Y_%H%M%S'`;
-LOG="${LOG_PATH}${MOSIP_DB_NAME}-revoke-${today}.log"
-touch $LOG
-
-SERVICE=$(PGPASSWORD=$SU_USER_PWD psql --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "select count(1) from pg_roles where rolname IN('sysadmin')";exit; > /dev/null)
-
-if [ "$SERVICE" -eq 0 ] || [ "$SERVICE" -eq 1 ]
-then
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Postgres database server and service is up and running" | tee -a $LOG 2>&1
-else
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Postgres database server or service is not running" | tee -a $LOG 2>&1
-fi
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": ----------------------------------------------------------------------------------------"
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Started sourcing the $MOSIP_DB_NAME Database Deployment Revoke scripts" | tee -a $LOG 2>&1
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Database revoke scripts are sourcing from :$BASEPATH/$MOSIP_DB_NAME/alter-scripts" | tee -a $LOG 2>&1
-
-#========================================DB Alter Scripts deployment process begins on IDMAP DB SERVER==================================
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Revoke scripts for DB deployment on $MOSIP_DB_NAME database is started....Revoke Version...$revoke_version" | tee -a $LOG 2>&1
-
-REVOKE_SCRIPT_FILENAME_VERSION="sql/${revoke_version}_${REVOKE_SCRIPT_FILENAME}"
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Alter scripts file which is considered for deployment revoke - $REVOKE_SCRIPT_FILENAME_VERSION" | tee -a $LOG 2>&1
-
-cd /$BASEPATH/$MOSIP_DB_NAME/
-
-pwd | tee -a $LOG 2>&1
-
-CONN=$(PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "SELECT count(pg_terminate_backend(pg_stat_activity.pid)) FROM pg_stat_activity WHERE datname = '$MOSIP_DB_NAME' AND pid <> pg_backend_pid()";exit; >> $LOG 2>&1)
-
-if [ ${CONN} == 0 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": No active database connections exist on ${MOSIP_DB_NAME}" | tee -a $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Active connections exist on the database server and active connection will be terminated for DB deployment." | tee -a $LOG 2>&1
-fi
-
-if [ ${REVOKE_SCRIPT_FLAG} == 1 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Executing revoke scripts for ${MOSIP_DB_NAME} database" | tee -a $LOG 2>&1
- PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -a -b -f $REVOKE_SCRIPT_FILENAME_VERSION >> $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": There are no revoke scripts available for this deployment at ${MOSIP_DB_NAME}" | tee -a $LOG 2>&1
-fi
-
-if [ $(grep -c ERROR $LOG) -ne 0 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Database deployment revoke version $revoke_version is completed with ERRORS, Please check the logs for more information" | tee -a $LOG 2>&1
- echo `date "+%m/%d/%Y %H:%M:%S"` ": END of Alter scripts MOSIP database deployment" | tee -a $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Database deployment revoke version $revoke_version completed successfully, Please check the logs for more information" | tee -a $LOG 2>&1
- echo `date "+%m/%d/%Y %H:%M:%S"` ": END of MOSIP \"${MOSIP_DB_NAME}\" database deployment revoke" | tee -a $LOG 2>&1
-fi
-
-echo "******************************************"`date "+%m/%d/%Y %H:%M:%S"` "*****************************************************" >> $LOG 2>&1
-
-
diff --git a/db_release_scripts/mosip_prereg/sql/1.1.4_prereg-scripts_release.sql b/db_release_scripts/mosip_prereg/sql/1.1.4_prereg-scripts_release.sql
deleted file mode 100644
index 4b2cda143eb..00000000000
--- a/db_release_scripts/mosip_prereg/sql/1.1.4_prereg-scripts_release.sql
+++ /dev/null
@@ -1,21 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Release Version : 1.1.4
--- Purpose : Database Alter scripts for the release for Pre Registration DB.
--- Create By : Sadanandegowda DM
--- Created Date : Dec-2020
---
--- Modified Date Modified By Comments / Remarks
--- -------------------------------------------------------------------------------------------------
-
-\c mosip_prereg sysadmin
-
-ALTER TABLE prereg.applicant_document ADD COLUMN IF NOT EXISTS doc_ref_id character varying;
-
-
-
-
-ALTER TABLE prereg.applicant_document_consumed ADD COLUMN IF NOT EXISTS doc_ref_id character varying;
-
-\ir ../ddl/prereg-otp_transaction.sql
-
diff --git a/db_release_scripts/mosip_prereg/sql/1.1.4_prereg-scripts_revoke.sql b/db_release_scripts/mosip_prereg/sql/1.1.4_prereg-scripts_revoke.sql
deleted file mode 100644
index b3214e93408..00000000000
--- a/db_release_scripts/mosip_prereg/sql/1.1.4_prereg-scripts_revoke.sql
+++ /dev/null
@@ -1,11 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Release Version : 1.1.4
--- Purpose : Revoking Database Alter deployement done for release in Pre registration DB.
--- Create By : Sadanandegowda DM
--- Created Date : Dec-2020
---
--- Modified Date Modified By Comments / Remarks
--- -------------------------------------------------------------------------------------------------
-
-\c mosip_prereg sysadmin
\ No newline at end of file
diff --git a/db_release_scripts/mosip_prereg/sql/1.2.0_revoke.sql b/db_release_scripts/mosip_prereg/sql/1.2.0_revoke.sql
new file mode 100644
index 00000000000..28328e92fde
--- /dev/null
+++ b/db_release_scripts/mosip_prereg/sql/1.2.0_revoke.sql
@@ -0,0 +1,18 @@
+-- -------------------------------------------------------------------------------------------------
+-- Database Name: mosip_prereg
+-- Release Version : 1.2.0
+-- Purpose : Revoking Database Alter deployment done for release in Pre registration DB.
+-- Create By : Kamesh Shekhar Prasad
+-- Created Date : Aug-2022
+--
+-- Modified Date Modified By Comments / Remarks
+-- -------------------------------------------------------------------------------------------------
+
+\c mosip_prereg sysadmin
+
+DROP TABLE IF EXISTS prereg-applications;
+DROP TABLE IF EXISTS prereg-anonymous_profile;
+
+ALTER TABLE prereg.reg_appointment ADD CONSTRAINT fk_rappmnt_id FOREIGN KEY (prereg_id)
+REFERENCES prereg.applicant_demographic(prereg_id) MATCH SIMPLE
+ON DELETE NO ACTION ON UPDATE NO ACTION;
\ No newline at end of file
diff --git a/db_release_scripts/mosip_prereg/sql/1.2_prereg-scripts_release.sql b/db_release_scripts/mosip_prereg/sql/1.2_prereg-scripts_release.sql
deleted file mode 100644
index b0e5eb06fe6..00000000000
--- a/db_release_scripts/mosip_prereg/sql/1.2_prereg-scripts_release.sql
+++ /dev/null
@@ -1,22 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Release Version : 1.2
--- Purpose : Database Alter scripts for the release for Pre Registration DB.
--- Create By : Ram Bhatt
--- Created Date : Aug-2021
---
--- Modified Date Modified By Comments / Remarks
--- -------------------------------------------------------------------------------------------------
--- Sept-2021 Ram Bhatt Creation of Anonymous Profile Table
-----------------------------------------------------------------------------------------------------
-
-\c mosip_prereg sysadmin
-
-
-\ir ../ddl/prereg-applications.sql
-
-\ir ../ddl/prereg-anonymous_profile.sql
-
-ALTER TABLE prereg.reg_appointment DROP CONSTRAINT IF EXISTS fk_rappmnt_id CASCADE;
-
------------------------------------------------------------------------------------------------------
diff --git a/db_scripts/README.MD b/db_scripts/README.MD
index 4974d791cd1..90735ba5c19 100644
--- a/db_scripts/README.MD
+++ b/db_scripts/README.MD
@@ -1,178 +1,8 @@
-## MOSIP Pre Registration Module Database scripts inventory and deployment guidelines on postgresql database.
+# Pre-regstration Database
-#### The details disclosed below gives a clear information on complete database script structure with the instructions for database scripts deployments.
+## Overview
+This folder containers various SQL scripts to create database and tables in postgres. The tables are described under `/ddl/`. Default data that's populated in the tables is present under `/dml` folder
-## Prerequisities
+This folder containers various SQL scripts to create database and tables in postgres. These scripts are automatically run with as part of DB initialisation in [Sandbox Deployment](https://docs.mosip.io/1.2.0/deployment/sandbox-deployment)
-* DB Server and access details
-
-* Postgres client (psql) has to be installed on the deployment servers.
-
-* Copy latest database scripts(DDL, DML, .SH ... etc) from git/repository on to the DB deployment server.
-
-* Necessary details to be updated in peoperties file against to the releavnt variables being used (details listed below).
-
-* Database objects related to MOSIP modules are placed in "**mosip_base_directory**>>db_scripts>>mosip_ folder on git/repository
-
-**Example:** the pre-registration module script folder is /**mosip_base_directory**>>db_scripts>>mosip_prereg where all the database scripts related to pre-registration are available.
-
-* Create a log file directory on DB deployment server before updating the properties file. Please follow the steps to create the same:
-
- bash-4.2$mkdir /mosip_base_directory/
-
-* If we wish to place the log files under different directory other than the above mentioned then we need to create directory and specify the path of the directory in the properties file.
-
-* Pull the DB deployment scripts from Git repository to the deployment server and start deploying OR
-
-* If are pulling to local system from Git repository and pushing them back to deployment server using WinSCP then make a note to modify the following encoding settings in WinSCP before pushing the files to deployment server --> Open WinSCP --> Options --> Preferences --> Transfer --> Edit --> In "Transfer mode" section --> select "Text" --> Click Ok --> Click Ok
-
-## Each database folder has the following files / folders
-
-* **ddl folder:** This folder contains all the database data definition language (DDL) scripts to create or alter a database object of this module.
-
-* **dml folder:** This folder contains the scripts (insert/update/delete scripts) to create seed data / metadata needed to run this module.
-
-* **mosip__db.sql:** This file contains the database creation script of this module
-
-* **mosip__grants.sql:** The needed privilege / grants scripts assigned to database user / role to access database objects are described in this file.
-
-* **mosip_role_user.sql:** The role creation script that will be used by the application to perform DML operations is defined here.
-
-* **mosip_role_common.sql:** This file contains the common roles creation script that are needed to manage the database.
-
-* **mosip__ddl_deploy.sql:** This is a wrapper script used to **deploy the DDL scripts available in ddl folder**. This will also be used to prepare the script run sequence to manage all the needed dependency across DB objects being created.
-
-* **mosip__dml_deploy.sql:** This is a wrapper script used to **deploy the DML scripts available in dml folder**. This will also used to prepare the script run sequence to manage all the needed dependency across DB objects.
-
-* **mosip__db_deploy.sh:** This is the shell script available and present in each database folders/directories.
-
-* **mosip__deploy.properties:** This is the properties file name and present in each database.
-
-* **mosip_pre-registration_db_deployment.sh:** This is the .sh file which is present in /home/madmin/database directory and which will be executed for all database deployment in single command execution.
-
-**Note :** Not all Modules will have dml scripts. Make necessary changes in the properties file with dml variables for the modules where dml exists.
-
-**Note :** No need to change anything in the shell script unless it is really causing any problem or any further implementation is being introduced.
-
-Once we complete with sourcing the database files, we need to follow the below DB deployment process with the modifying the properties file according the requirement.
-
-## Deployment can be performed in two ways based on the requirement and they are as follows:
-1) DB Deployment for all Pre Registration Module databases
-2) DB Deployment for single or selected databases
-
-### Properties file variable details and description: Properties file has to be updated with the required details before proceeding with deployment steps for each databases.
-
-**DB_SERVERIP:** Contains details of Destination DB SERVER_IP(Ex:10.0.0.1) where the deployment is targeted
-
-**DB_PORT:** Contains the postgres server port details where the postgres is allowed to connect. Ex: 5433
-
-**SU_USER:** Contains the postgres super user name to connect to the postgres database i.e. postgres
-
-**SU_USER_PWD:** Contains the password for postgres super user
-
-**DEFAULT_DB_NAME:** Default database name to connect with respective postgres server i.e. ex: postgres
-
-**MOSIP_DB_NAME:** MOSIP Database name for which the deployment is scheduled.
-
-**SYSADMIN_USER:** This variable contains the mosip_common_role which indeed is going to be the super user for the remaining actions going to be performed by shell script.
-
-**SYSADMIN_PWD:** Contains the credential details for SYSADMIN_USER.
-
-**DBADMIN_PWD:** Contains the credential details for DBADMIN_USER.
-
-**APPADMIN_PWD:** Contains the credential details for APPADMIN_USER.
-
-**DBUSER_PWD:** Contains the credential details for dbuserpwd.
-
-**BASE_PATH:** Path for DB scrips which are kept in the Deployment server.
-
-**LOG_PATH:** Path where deployment log file will be created
-
-**COMMON_ROLE_FILENAME:** Contains the common roles creation filename, ex: mosip_role_common.sql
-
-**APP_ROLE_FILENAME:** Contains specific DB user role creation filename, ex: mosip_role_databaseuser.sql
-
-**DB_CREATION_FILENAME:** Contains specific DB creation script name, ex: mosip_database_db.sql.
-
-**ACCESS_GRANT_FILENAME:** This variable contains file name of access provisioning script details for the above created users, ex: mosip__grants.sql.
-
-**DDL_FILENAME:** DDL script file name, ex:mosip__ddl_deploy.sql.
-
-**DML_FLAG:** Its a flag variable which contains value as 0 or 1 for any DML existance for the particular DB. if flag=0 then no DML else flag=1.
-
-**DML_FILENAME:** DML cript file name only if the flag=1, else it will be empty or null, ex: mosip__dml_deploy.sql.
-
-**Note - Make sure, There is a single empty line at end of the .properties files content and No spaces in beggining and end of the parameter values**
-
-## DB Deployment for all Pre registration Module databases with single click deployment:
-
-**Step 1** -> Make prior modification to all the respective database properties files **(mosip__deploy.properties)** in the respective database directories. Path of properties file and variables list remains same as explained above. Once the properties files are ready then access the directory where the deployment script is kept.
-
-**Step 2** -> Deployment on all databases, run the **"mosip_pre-registration_db_deployment.sh"** script which is avialble in the /database directory. To access **"mosip_pre-registration_db_deployment.sh"** script, follow the below given commands:
-
- **Enter:-bash-4.2$** cd /home/madmin/database/
-
- **Enter:-bash-4.2$** bash mosip_pre-registration_db_deployment.sh
-
-**Step 3** -> Please observe Post Deployment Validation steps below
-
-**No modification required to be done on any of the <>.sql files in the database folder. If it is required to be modified then please reach out to database team and have it modified.**
-
-## DB_Deployment for single or selected databases
-
-**Step 1:** update the properties(.properties) file with the required parameter values for single or selected databases.
-
-All these .sh and properties files are kept in each database directories. Please follow the below steps:
-
-**Step 2** -> Login into Deployment server/VM
-
-**Step 3** -> check the pwd(present working directory). Make sure we are inside the right database folder/directory to run the deployment for that specific database.
-
-**Enter:-bash-4.2$** pwd
-This should be the path if we are performing deployment for the database name **mosip_schema_name** : /home/madmin/database/mosip_
-
-**Step 4** -> Please move all the necessary files from local directory to the deployment server directory under respective databases.
-
-**Step 5** -> After prior modifications to the properties file, run the below deployment shell script as given:
-
-**Enter:-bash-4.2$** bash mosip__db_deploy.sh mosip__deploy.properties
-
-**Step 6** -> Please observe Post Deployment Validation steps below
-
-**No modification required to be done on any of the <>.sql files in the database folder. If it is required to be modified then please reach out to database team and have it modified.**
-
-### Post Deployment Validation
-
-**Note:** If you encounter the following messages then please recheck the details(ip address, port number, database name, password) entered in the properties file, the message would be as follows:
-
-.
-
-
-
-
-
-**Key points during or after the script execution:**
-
- * Properties file found message
-
- * Server status
-
- * Accessing the right path for DB deploy
-
- * Creates respective roles
-
- * Check for any active connections
-
- * Creates roles, creating Database, schemas, granting access, creating respective tables.
-
- * Loading data or DML operations valid only for those DB's which carries DML actions.
-
- * End of sourcing or deployment process.
-
-**Post deployment process, look out for database deployment log file which captures all stages of deployment. Log file path is defined in the properties file of the databases.**
-
-**During all the above stages please watch out for any errors which will be capture in the log file.**
-
-Kindly ignore **NOTICE** or **SKIPPING** messages. As these messages states that particular action is already in place hence sql script ignore performing again.
-
-### Post deployment process, look out for each database deployment log files which captures all stages of deployment. Log file path is defined in the properties file of the respective databases.
+Developers may run the SQLs using `/deploy.sh` script.
diff --git a/db_scripts/mosip_pre-registration_db_deployment.sh b/db_scripts/mosip_pre-registration_db_deployment.sh
deleted file mode 100644
index 916e43312e1..00000000000
--- a/db_scripts/mosip_pre-registration_db_deployment.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-### -- ---------------------------------------------------------------------------------------------------------
-### -- Script Name : MOSIP ALL DB Artifacts deployment script
-### -- Deploy Module : MOSIP PRE-REG Module
-### -- Purpose : To deploy MOSIP All Modules Database DB Artifacts.
-### -- Create By : Sadanandegowda DM
-### -- Created Date : 07-Jan-2020
-### --
-### -- Modified Date Modified By Comments / Remarks
-### -- -----------------------------------------------------------------------------------------------------------
-
-#! bin/bash
-echo "`date` : You logged on to DB deplyment server as : `whoami`"
-echo "`date` : MOSIP Database objects deployment started...."
-
-echo "=============================================================================================================="
-bash ./mosip_prereg/mosip_prereg_db_deploy.sh ./mosip_prereg/mosip_prereg_deploy.properties
-echo "=============================================================================================================="
-
-
-echo "`date` : MOSIP DB Deployment for pre-reg databases is completed, Please check the logs at respective logs directory for more information"
-
diff --git a/db_scripts/mosip_prereg/mosip_prereg_db.sql b/db_scripts/mosip_prereg/db.sql
similarity index 52%
rename from db_scripts/mosip_prereg/mosip_prereg_db.sql
rename to db_scripts/mosip_prereg/db.sql
index d01caaff1ec..5e5daa81712 100644
--- a/db_scripts/mosip_prereg/mosip_prereg_db.sql
+++ b/db_scripts/mosip_prereg/db.sql
@@ -1,27 +1,15 @@
-DROP DATABASE IF EXISTS mosip_prereg;
CREATE DATABASE mosip_prereg
ENCODING = 'UTF8'
LC_COLLATE = 'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8'
TABLESPACE = pg_default
- OWNER = sysadmin
+ OWNER = postgres
TEMPLATE = template0;
--- ddl-end --
COMMENT ON DATABASE mosip_prereg IS 'Pre-registration database to store the data that is captured as part of pre-registration process';
--- ddl-end --
-\c mosip_prereg sysadmin
+\c mosip_prereg
--- object: prereg | type: SCHEMA --
DROP SCHEMA IF EXISTS prereg CASCADE;
CREATE SCHEMA prereg;
--- ddl-end --
-ALTER SCHEMA prereg OWNER TO sysadmin;
--- ddl-end --
-
+ALTER SCHEMA prereg OWNER TO postgres;
ALTER DATABASE mosip_prereg SET search_path TO prereg,pg_catalog,public;
--- ddl-end --
-
--- REVOKECONNECT ON DATABASE mosip_prereg FROM PUBLIC;
--- REVOKEALL ON SCHEMA prereg FROM PUBLIC;
--- REVOKEALL ON ALL TABLES IN SCHEMA prereg FROM PUBLIC ;
diff --git a/db_scripts/mosip_prereg/ddl.sql b/db_scripts/mosip_prereg/ddl.sql
new file mode 100644
index 00000000000..04a942163d3
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl.sql
@@ -0,0 +1,22 @@
+\c mosip_prereg
+
+\ir ddl/applicant_demographic.sql
+\ir ddl/applicant_demographic_consumed.sql
+\ir ddl/applicant_document.sql
+\ir ddl/applicant_document_consumed.sql
+\ir ddl/batch_job_instance.sql
+\ir ddl/batch_job_execution.sql
+\ir ddl/batch_job_execution_context.sql
+\ir ddl/batch_job_execution_param.sql
+\ir ddl/batch_step_execution.sql
+\ir ddl/batch_step_execution_context.sql
+\ir ddl/intf_processed_prereg_list.sql
+\ir ddl/processed_prereg_list.sql
+\ir ddl/reg_appointment.sql
+\ir ddl/reg_appointment_consumed.sql
+\ir ddl/reg_available_slot.sql
+\ir ddl/otp_transaction.sql
+\ir ddl/applications.sql
+\ir ddl/fk.sql
+\ir ddl/batch-fk.sql
+\ir ddl/anonymous_profile.sql
diff --git a/db_scripts/mosip_prereg/ddl/anonymous_profile.sql b/db_scripts/mosip_prereg/ddl/anonymous_profile.sql
new file mode 100644
index 00000000000..fbc56267db2
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/anonymous_profile.sql
@@ -0,0 +1,14 @@
+--- This table saves anonymous details about the user like year of birth, gender, documents uploaded etc. for each pre-registration application created by the end user. This information is to be used for analytics.
+CREATE TABLE IF NOT EXISTS prereg.anonymous_profile
+(
+ id character varying(36) COLLATE pg_catalog."default" NOT NULL,
+ profile character varying COLLATE pg_catalog."default" NOT NULL,
+ cr_by character varying(256) COLLATE pg_catalog."default" NOT NULL,
+ cr_dtimes timestamp without time zone NOT NULL,
+ upd_by character varying(256) COLLATE pg_catalog."default",
+ upd_dtimes timestamp without time zone,
+ is_deleted boolean,
+ del_dtimes timestamp without time zone,
+ CONSTRAINT anonymous_profile_pkey PRIMARY KEY (id)
+);
+
diff --git a/db_scripts/mosip_prereg/ddl/prereg-applicant_demographic.sql b/db_scripts/mosip_prereg/ddl/applicant_demographic.sql
similarity index 74%
rename from db_scripts/mosip_prereg/ddl/prereg-applicant_demographic.sql
rename to db_scripts/mosip_prereg/ddl/applicant_demographic.sql
index 01b09a208b2..a846f129d93 100644
--- a/db_scripts/mosip_prereg/ddl/prereg-applicant_demographic.sql
+++ b/db_scripts/mosip_prereg/ddl/applicant_demographic.sql
@@ -1,19 +1,4 @@
-
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.applicant_demographic
--- Purpose : Applicant Demographic: Stores demographic details of an applicant. The demographic information is stored in json format.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
-
--- object: prereg.applicant_demographic | type: TABLE --
--- DROP TABLE IF EXISTS prereg.applicant_demographic CASCADE;
+-- This table saves all the demographic details in the user’s application in an encrypted JSON format.
CREATE TABLE prereg.applicant_demographic(
prereg_id character varying(36) NOT NULL,
@@ -28,31 +13,20 @@ CREATE TABLE prereg.applicant_demographic(
upd_by character varying(256),
upd_dtimes timestamp,
CONSTRAINT pk_appldem_prereg_id PRIMARY KEY (prereg_id)
-
);
--- ddl-end --
+
+CREATE INDEX IF NOT EXISTS idx_app_demo_cr_by ON prereg.applicant_demographic USING btree (cr_by);
+CREATE INDEX IF NOT EXISTS idx_app_demo_prid ON prereg.applicant_demographic USING btree (prereg_id);
COMMENT ON TABLE prereg.applicant_demographic IS 'Applicant Demographic: Stores demographic details of an applicant. The demographic information is stored in json format.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.prereg_id IS 'Pre Registration ID: Unique Id generated for an individual during the pre-registration process which will be referenced during registration process at a registration center.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.demog_detail IS 'Demographic Detail: Demographic details of an individual, stored in json format.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.demog_detail_hash IS 'Demographic Detail Hash: Hash value of the demographic details stored in json format in a separate column. This will be used to make sure that nobody has tampered the data.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.encrypted_dtimes IS 'Encrypted Data Time: Date and time when the data was encrypted. This will also be used get the key for decrypting the data.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.status_code IS 'Status Code: Status of the pre-registration application. The application can be in draft / pending state or submitted state';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.cr_appuser_id IS 'Applciation Created User Id: User ID of the individual who is submitting the pre-registration application. It can be for self or for others like family members.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
diff --git a/db_scripts/mosip_prereg/ddl/prereg-applicant_demographic_consumed.sql b/db_scripts/mosip_prereg/ddl/applicant_demographic_consumed.sql
similarity index 74%
rename from db_scripts/mosip_prereg/ddl/prereg-applicant_demographic_consumed.sql
rename to db_scripts/mosip_prereg/ddl/applicant_demographic_consumed.sql
index 353051b5bd6..e52a55bf03f 100644
--- a/db_scripts/mosip_prereg/ddl/prereg-applicant_demographic_consumed.sql
+++ b/db_scripts/mosip_prereg/ddl/applicant_demographic_consumed.sql
@@ -1,18 +1,5 @@
+-- Once the user’s application is processed in MOSIP, then the application’s demographic details are archived and saved in this table by the Batch Job.
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.applicant_demographic_consumed
--- Purpose : Applicant Demographic Consumed: Stores demographic details of an applicant that was comsumed.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.applicant_demographic_consumed | type: TABLE --
--- DROP TABLE IF EXISTS prereg.applicant_demographic_consumed CASCADE;
CREATE TABLE prereg.applicant_demographic_consumed(
prereg_id character varying(36) NOT NULL,
demog_detail bytea NOT NULL,
@@ -26,31 +13,18 @@ CREATE TABLE prereg.applicant_demographic_consumed(
upd_by character varying(256),
upd_dtimes timestamp,
CONSTRAINT pk_appldemc_prereg_id PRIMARY KEY (prereg_id)
-
);
--- ddl-end --
+
COMMENT ON TABLE prereg.applicant_demographic_consumed IS 'Applicant Demographic Consumed: Stores demographic details of an applicant that was comsumed.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.prereg_id IS 'Pre Registration ID: Unique Id generated for an individual during the pre-registration process which will be referenced during registration process at a registration center.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.demog_detail IS 'Demographic Detail: Demographic details of an individual, stored in json format.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.demog_detail_hash IS 'Demographic Detail Hash: Hash value of the demographic details stored in json format in a separate column. This will be used to make sure that nobody has tampered the data.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.encrypted_dtimes IS 'Encrypted Data Time: Date and time when the data was encrypted. This will also be used get the key for decrypting the data.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.status_code IS 'Status Code: Status of the pre-registration application. The application can be in draft / pending state or submitted state';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.cr_appuser_id IS 'Applciation Created User Id: User ID of the individual who is submitting the pre-registration application. It can be for self or for others like family members.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
COMMENT ON COLUMN prereg.applicant_demographic_consumed.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
diff --git a/db_scripts/mosip_prereg/ddl/applicant_document.sql b/db_scripts/mosip_prereg/ddl/applicant_document.sql
new file mode 100644
index 00000000000..254357e6e1f
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/applicant_document.sql
@@ -0,0 +1,41 @@
+-- This table saves all the details about documents uploaded by the user in the application. Actual document is not saved in this table. It is saved in Object Store.
+
+CREATE TABLE prereg.applicant_document(
+ id character varying(36) NOT NULL,
+ prereg_id character varying(36) NOT NULL,
+ doc_name character varying(128) NOT NULL,
+ doc_cat_code character varying(36) NOT NULL,
+ doc_typ_code character varying(36) NOT NULL,
+ doc_file_format character varying(36) NOT NULL,
+ doc_id character varying(128) NOT NULL,
+ doc_hash character varying(64) NOT NULL,
+ doc_ref_id character varying,
+ encrypted_dtimes timestamp NOT NULL,
+ status_code character varying(36) NOT NULL,
+ lang_code character varying(3) NOT NULL,
+ cr_by character varying(256),
+ cr_dtimes timestamp,
+ upd_by character varying(256),
+ upd_dtimes timestamp,
+ CONSTRAINT pk_appldoc_prereg_id PRIMARY KEY (id)
+);
+
+create unique index idx_appldoc_prereg_id on prereg.applicant_document (prereg_id, doc_cat_code, doc_typ_code) ;
+
+COMMENT ON COLUMN prereg.applicant_document.id IS 'Id: Unique id generated for the documents being uploaded as part of pre-registration process.';
+COMMENT ON COLUMN prereg.applicant_document.prereg_id IS 'Id of the pre-registration application for which the documents are being uploaded.';
+COMMENT ON COLUMN prereg.applicant_document.doc_name IS 'Name of the document that is uploaded';
+COMMENT ON COLUMN prereg.applicant_document.doc_cat_code IS 'Document category code under which the document is being uploaded. Refers to master.document_category.code';
+COMMENT ON COLUMN prereg.applicant_document.doc_typ_code IS 'Document type code under which the document is being uploaded. Refers to master.document_type.code';
+COMMENT ON COLUMN prereg.applicant_document.doc_file_format IS 'Format in which the document is being uploaded. Refers to master.document_file_format.code';
+COMMENT ON COLUMN prereg.applicant_document.doc_id IS 'ID of the document being uploaded';
+COMMENT ON COLUMN prereg.applicant_document.doc_hash IS 'Hash value of the document being uploaded in document store. Useful to check any tampering of documents';
+COMMENT ON COLUMN prereg.applicant_document.doc_ref_id IS 'This is entered by the end-user or it is populating using OCR of the document.';
+COMMENT ON COLUMN prereg.applicant_document.encrypted_dtimes IS 'Date and time when the document was encrypted before uploading it on document store. This will also be used get the key for decrypting the data.';
+COMMENT ON COLUMN prereg.applicant_document.status_code IS 'Status of the document that is being uploaded.';
+COMMENT ON COLUMN prereg.applicant_document.lang_code IS 'For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
+COMMENT ON COLUMN prereg.applicant_document.cr_by IS 'ID or name of the user who create / insert record.';
+COMMENT ON COLUMN prereg.applicant_document.cr_dtimes IS 'Date and Timestamp when the record is created/inserted';
+COMMENT ON COLUMN prereg.applicant_document.upd_by IS 'ID or name of the user who update the record with new values';
+COMMENT ON COLUMN prereg.applicant_document.upd_dtimes IS 'Date and Timestamp when any of the fields in the record is updated with new values.';
+
diff --git a/db_scripts/mosip_prereg/ddl/applicant_document_consumed.sql b/db_scripts/mosip_prereg/ddl/applicant_document_consumed.sql
new file mode 100644
index 00000000000..89b1af6ce91
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/applicant_document_consumed.sql
@@ -0,0 +1,39 @@
+-- Once the user’s application is processed in MOSIP, then the application’s document details are archived and saved in this table by the Batch Job.
+CREATE TABLE prereg.applicant_document_consumed(
+ id character varying(36) NOT NULL,
+ prereg_id character varying(36) NOT NULL,
+ doc_name character varying(128) NOT NULL,
+ doc_cat_code character varying(36) NOT NULL,
+ doc_typ_code character varying(36) NOT NULL,
+ doc_file_format character varying(36) NOT NULL,
+ doc_id character varying(128) NOT NULL,
+ doc_hash character varying(64) NOT NULL,
+ doc_ref_id character varying,
+ encrypted_dtimes timestamp NOT NULL,
+ status_code character varying(36) NOT NULL,
+ lang_code character varying(3) NOT NULL,
+ cr_by character varying(256),
+ cr_dtimes timestamp,
+ upd_by character varying(256),
+ upd_dtimes timestamp,
+ CONSTRAINT pk_appldocc_prereg_id PRIMARY KEY (id)
+);
+create unique index idx_appldocc_prereg_id on prereg.applicant_document_consumed (prereg_id, doc_cat_code, doc_typ_code) ;
+
+COMMENT ON TABLE prereg.applicant_document_consumed IS 'Documents that are uploaded as part of pre-registration process which was consumed is maintained here. ';
+COMMENT ON COLUMN prereg.applicant_document_consumed.id IS 'Unique id generated for the documents being uploaded as part of pre-registration process.';
+COMMENT ON COLUMN prereg.applicant_document_consumed.prereg_id IS 'Id of the pre-registration application for which the documents are being uploaded.';
+COMMENT ON COLUMN prereg.applicant_document_consumed.doc_name IS 'Name of the document that is uploaded';
+COMMENT ON COLUMN prereg.applicant_document_consumed.doc_cat_code IS 'Document category code under which the document is being uploaded. Refers to master.document_category.code';
+COMMENT ON COLUMN prereg.applicant_document_consumed.doc_typ_code IS 'Document type code under which the document is being uploaded. Refers to master.document_type.code';
+COMMENT ON COLUMN prereg.applicant_document_consumed.doc_file_format IS 'Format in which the document is being uploaded. Refers to master.document_file_format.code';
+COMMENT ON COLUMN prereg.applicant_document_consumed.doc_id IS 'ID of the document being uploaded';
+COMMENT ON COLUMN prereg.applicant_document_consumed.doc_hash IS 'Hash value of the document being uploaded in document store. This will be used to make sure that nobody has tampered the document stored in a separate store. ';
+COMMENT ON COLUMN prereg.applicant_document_consumed.doc_ref_id IS 'This is the ID to reference the document, This is entered by the end-user or it is populating using OCR of the document.';
+COMMENT ON COLUMN prereg.applicant_document_consumed.encrypted_dtimes IS 'Date and time when the document was encrypted before uploading it on document store. This will also be used get the key for decrypting the data.';
+COMMENT ON COLUMN prereg.applicant_document_consumed.status_code IS 'Status Code: Status of the document that is being uploaded.';
+COMMENT ON COLUMN prereg.applicant_document_consumed.lang_code IS 'For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
+COMMENT ON COLUMN prereg.applicant_document_consumed.cr_by IS 'ID or name of the user who create / insert record.';
+COMMENT ON COLUMN prereg.applicant_document_consumed.cr_dtimes IS 'Date and Timestamp when the record is created/inserted';
+COMMENT ON COLUMN prereg.applicant_document_consumed.upd_by IS 'ID or name of the user who update the record with new values';
+COMMENT ON COLUMN prereg.applicant_document_consumed.upd_dtimes IS 'Date and Timestamp when any of the fields in the record is updated with new values.';
diff --git a/db_scripts/mosip_prereg/ddl/applications.sql b/db_scripts/mosip_prereg/ddl/applications.sql
new file mode 100644
index 00000000000..e3a2ff14ef0
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/applications.sql
@@ -0,0 +1,19 @@
+-- All 3 types of application details are saved here including the corresponding booking details (if any). The 3 types of applications are NEW_PREREGISTRATION, UPDATE_REGISTRATION, LOST_FORGOTTEN_UIN
+
+CREATE TABLE prereg.applications(
+ application_id character varying(36) NOT NULL,
+ booking_type character varying(256) NOT NULL,
+ booking_status_code character varying(256),
+ application_status_code character varying(256),
+ regcntr_id character varying(10),
+ appointment_date date,
+ booking_date date,
+ slot_from_time time without time zone,
+ slot_to_time time without time zone,
+ contact_info character varying(256),
+ cr_by character varying(256) NOT NULL,
+ cr_dtimes timestamp without time zone NOT NULL,
+ upd_by character varying(256),
+ upd_dtimes timestamp without time zone,
+ CONSTRAINT appid_pk PRIMARY KEY (application_id)
+);
diff --git a/db_scripts/mosip_prereg/ddl/prereg-batch-fk.sql b/db_scripts/mosip_prereg/ddl/batch-fk.sql
similarity index 84%
rename from db_scripts/mosip_prereg/ddl/prereg-batch-fk.sql
rename to db_scripts/mosip_prereg/ddl/batch-fk.sql
index f035e803c82..48af927b743 100644
--- a/db_scripts/mosip_prereg/ddl/prereg-batch-fk.sql
+++ b/db_scripts/mosip_prereg/ddl/batch-fk.sql
@@ -25,9 +25,9 @@ ALTER TABLE prereg.batch_step_execution_context ADD CONSTRAINT step_exec_ctx_fk
ON UPDATE NO ACTION
ON DELETE NO ACTION;
-CREATE SEQUENCE prereg.batch_step_execution_seq;
-CREATE SEQUENCE prereg.batch_job_execution_seq;
-CREATE SEQUENCE prereg.batch_job_seq;
+CREATE SEQUENCE prereg.batch_step_execution_seq MAXVALUE 9223372036854775807 NO CYCLE;
+CREATE SEQUENCE prereg.batch_job_execution_seq MAXVALUE 9223372036854775807 NO CYCLE;
+CREATE SEQUENCE prereg.batch_job_seq MAXVALUE 9223372036854775807 NO CYCLE;
-- grants to access all sequences
GRANT usage, SELECT ON ALL SEQUENCES
diff --git a/db_scripts/mosip_prereg/ddl/batch_job_execution.sql b/db_scripts/mosip_prereg/ddl/batch_job_execution.sql
new file mode 100644
index 00000000000..59f59592271
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/batch_job_execution.sql
@@ -0,0 +1,18 @@
+--- This is required by Spring Batch framework
+
+CREATE TABLE prereg.batch_job_execution
+(
+ JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY ,
+ VERSION BIGINT ,
+ JOB_INSTANCE_ID BIGINT NOT NULL,
+ CREATE_TIME TIMESTAMP NOT NULL,
+ START_TIME TIMESTAMP DEFAULT NULL ,
+ END_TIME TIMESTAMP DEFAULT NULL ,
+ STATUS VARCHAR(10) ,
+ EXIT_CODE VARCHAR(2500) ,
+ EXIT_MESSAGE VARCHAR(2500) ,
+ LAST_UPDATED TIMESTAMP
+)
+WITH (
+ OIDS = FALSE
+);
\ No newline at end of file
diff --git a/db_scripts/mosip_prereg/ddl/batch_job_execution_context.sql b/db_scripts/mosip_prereg/ddl/batch_job_execution_context.sql
new file mode 100644
index 00000000000..87d488840f3
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/batch_job_execution_context.sql
@@ -0,0 +1,11 @@
+-- This is required by Spring Batch framework
+
+CREATE TABLE prereg.batch_job_execution_context
+(
+ JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
+ SHORT_CONTEXT VARCHAR(2500) NOT NULL,
+ SERIALIZED_CONTEXT TEXT
+)
+WITH (
+ OIDS = FALSE
+);
diff --git a/db_scripts/mosip_prereg/ddl/batch_job_execution_param.sql b/db_scripts/mosip_prereg/ddl/batch_job_execution_param.sql
new file mode 100644
index 00000000000..b77af86e3c7
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/batch_job_execution_param.sql
@@ -0,0 +1,13 @@
+-- This is required by Spring Batch framework
+
+CREATE TABLE prereg.batch_job_execution_params
+(
+ JOB_EXECUTION_ID BIGINT NOT NULL ,
+ PARAMETER_NAME VARCHAR(100) NOT NULL ,
+ PARAMETER_TYPE VARCHAR(100) NOT NULL ,
+ PARAMETER_VALUE VARCHAR(2500) ,
+ IDENTIFYING CHAR(1) NOT NULL
+)
+WITH (
+ OIDS = FALSE
+);
\ No newline at end of file
diff --git a/db_scripts/mosip_prereg/ddl/batch_job_instance.sql b/db_scripts/mosip_prereg/ddl/batch_job_instance.sql
new file mode 100644
index 00000000000..edcf37e2cd8
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/batch_job_instance.sql
@@ -0,0 +1,13 @@
+-- This is required by Spring Batch framework
+
+CREATE TABLE prereg.batch_job_instance
+(
+ JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY ,
+ VERSION BIGINT ,
+ JOB_NAME VARCHAR(100) NOT NULL,
+ JOB_KEY VARCHAR(32) NOT NULL,
+ constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
+)
+WITH (
+ OIDS = FALSE
+);
\ No newline at end of file
diff --git a/db_scripts/mosip_prereg/ddl/batch_step_execution.sql b/db_scripts/mosip_prereg/ddl/batch_step_execution.sql
new file mode 100644
index 00000000000..88a9e4c32b5
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/batch_step_execution.sql
@@ -0,0 +1,27 @@
+-- This is required by Spring Batch framework
+
+CREATE TABLE prereg.batch_step_execution
+(
+ STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY ,
+ VERSION BIGINT NOT NULL,
+ STEP_NAME VARCHAR(100) NOT NULL,
+ JOB_EXECUTION_ID BIGINT NOT NULL,
+ CREATE_TIME TIMESTAMP NOT NULL,
+ START_TIME TIMESTAMP DEFAULT NULL ,
+ END_TIME TIMESTAMP DEFAULT NULL ,
+ STATUS VARCHAR(10) ,
+ COMMIT_COUNT BIGINT ,
+ READ_COUNT BIGINT ,
+ FILTER_COUNT BIGINT ,
+ WRITE_COUNT BIGINT ,
+ READ_SKIP_COUNT BIGINT ,
+ WRITE_SKIP_COUNT BIGINT ,
+ PROCESS_SKIP_COUNT BIGINT ,
+ ROLLBACK_COUNT BIGINT ,
+ EXIT_CODE VARCHAR(2500) ,
+ EXIT_MESSAGE VARCHAR(2500) ,
+ LAST_UPDATED TIMESTAMP
+)
+WITH (
+ OIDS = FALSE
+);
\ No newline at end of file
diff --git a/db_scripts/mosip_prereg/ddl/batch_step_execution_context.sql b/db_scripts/mosip_prereg/ddl/batch_step_execution_context.sql
new file mode 100644
index 00000000000..99cbe46c750
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/batch_step_execution_context.sql
@@ -0,0 +1,11 @@
+-- This is required by Spring Batch framework
+
+CREATE TABLE prereg.batch_step_execution_context
+(
+ STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
+ SHORT_CONTEXT VARCHAR(2500) NOT NULL,
+ SERIALIZED_CONTEXT TEXT
+)
+WITH (
+ OIDS = FALSE
+);
\ No newline at end of file
diff --git a/db_scripts/mosip_prereg/ddl/prereg-fk.sql b/db_scripts/mosip_prereg/ddl/fk.sql
similarity index 68%
rename from db_scripts/mosip_prereg/ddl/prereg-fk.sql
rename to db_scripts/mosip_prereg/ddl/fk.sql
index c44f6605ebd..f6d1d2c2489 100644
--- a/db_scripts/mosip_prereg/ddl/prereg-fk.sql
+++ b/db_scripts/mosip_prereg/ddl/fk.sql
@@ -1,15 +1,4 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : All tables at mosip_prereg Database
--- Purpose : To establish FOREIGN Constrations required for entity relationship
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
+
-- Foreign Key Constraints Same DB/Schema tables.
-- FOREIGN KEY CONSTRAINTS : mosip_prereg database/schema.
@@ -45,7 +34,7 @@ ON DELETE NO ACTION ON UPDATE NO ACTION;
-- object: pprlst_pregtrn_fk | type: CONSTRAINT --
-- ALTER TABLE prereg.processed_prereg_list DROP CONSTRAINT IF EXISTS pprlst_pregtrn_fk CASCADE;
-ALTER TABLE prereg.processed_prereg_list ADD CONSTRAINT pprlst_pregtrn_fk FOREIGN KEY (prereg_trn_id)
-REFERENCES prereg.pre_registration_transaction (id) MATCH FULL
-ON DELETE SET NULL ON UPDATE CASCADE;
+-- ALTER TABLE prereg.processed_prereg_list ADD CONSTRAINT pprlst_pregtrn_fk FOREIGN KEY (prereg_trn_id)
+-- REFERENCES prereg.pre_registration_transaction (id) MATCH FULL
+-- ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
diff --git a/db_scripts/mosip_prereg/ddl/intf_processed_prereg_list.sql b/db_scripts/mosip_prereg/ddl/intf_processed_prereg_list.sql
new file mode 100644
index 00000000000..cbf51f99f02
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/intf_processed_prereg_list.sql
@@ -0,0 +1,25 @@
+-- This table saves details about the pre-registration ids which are processed by the MOSIP.
+
+CREATE TABLE prereg.intf_processed_prereg_list(
+ prereg_id character varying(36) NOT NULL,
+ received_dtimes timestamp NOT NULL,
+ lang_code character varying(3) NOT NULL,
+ cr_by character varying(256) NOT NULL,
+ cr_dtimes timestamp NOT NULL,
+ upd_by character varying(256),
+ upd_dtimes timestamp,
+ is_deleted boolean,
+ del_dtimes timestamp,
+ CONSTRAINT ipprlst_pk PRIMARY KEY (prereg_id,received_dtimes)
+
+);
+COMMENT ON TABLE prereg.intf_processed_prereg_list IS 'Interface Processd Pre Registration List: Interface table to temporarily store the list of pre-registrations that were processed by registration processor application. The data can be removed once the data is updated in actual tables.';
+COMMENT ON COLUMN prereg.intf_processed_prereg_list.prereg_id IS 'Pre registration id that was consumed by registration processor to generate UIN.';
+COMMENT ON COLUMN prereg.intf_processed_prereg_list.received_dtimes IS 'Date time when the pre-registration id was recevied by pre-registrations application for marking it as comsumed/processed';
+COMMENT ON COLUMN prereg.intf_processed_prereg_list.lang_code IS 'For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
+COMMENT ON COLUMN prereg.intf_processed_prereg_list.cr_by IS 'ID or name of the user who create / insert record.';
+COMMENT ON COLUMN prereg.intf_processed_prereg_list.cr_dtimes IS 'Date and Timestamp when the record is created/inserted';
+COMMENT ON COLUMN prereg.intf_processed_prereg_list.upd_by IS 'ID or name of the user who update the record with new values';
+COMMENT ON COLUMN prereg.intf_processed_prereg_list.upd_dtimes IS 'Date and Timestamp when any of the fields in the record is updated with new values.';
+COMMENT ON COLUMN prereg.intf_processed_prereg_list.is_deleted IS 'Flag to mark whether the record is Soft deleted.';
+COMMENT ON COLUMN prereg.intf_processed_prereg_list.del_dtimes IS 'Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
diff --git a/db_scripts/mosip_prereg/ddl/otp_transaction.sql b/db_scripts/mosip_prereg/ddl/otp_transaction.sql
new file mode 100644
index 00000000000..ba14732a0a7
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/otp_transaction.sql
@@ -0,0 +1,35 @@
+-- This is used to save the OTP for the user whenever user requests for one using the email id / phone number to log into the application.
+
+CREATE TABLE prereg.otp_transaction(
+ id character varying(36) NOT NULL,
+ ref_id character varying(64) NOT NULL,
+ otp_hash character varying(512) NOT NULL,
+ generated_dtimes timestamp,
+ expiry_dtimes timestamp,
+ validation_retry_count smallint,
+ status_code character varying(36),
+ lang_code character varying(3),
+ cr_by character varying(256) NOT NULL,
+ cr_dtimes timestamp NOT NULL,
+ upd_by character varying(256),
+ upd_dtimes timestamp,
+ is_deleted boolean,
+ del_dtimes timestamp,
+ CONSTRAINT pk_otpt_id PRIMARY KEY (id)
+);
+
+COMMENT ON TABLE prereg.otp_transaction IS 'All OTP related data and validation details are maintained here for Pre Registration module.';
+COMMENT ON COLUMN prereg.otp_transaction.id IS 'OTP id is a unique identifier (UUID) used as an unique key to identify the OTP transaction';
+COMMENT ON COLUMN prereg.otp_transaction.ref_id IS 'Reference ID is a reference information received from OTP requester which can be used while validating the OTP. AM: please give examples of ref_id';
+COMMENT ON COLUMN prereg.otp_transaction.otp_hash IS 'Hash of id, ref_id and otp which is generated based on the configuration setup and sent to the requester application / module.';
+COMMENT ON COLUMN prereg.otp_transaction.generated_dtimes IS 'Date and Time when the OTP was generated';
+COMMENT ON COLUMN prereg.otp_transaction.expiry_dtimes IS 'Date Time when the OTP will be expired';
+COMMENT ON COLUMN prereg.otp_transaction.validation_retry_count IS 'Validation retry counts of this OTP request. If the validation retry crosses the threshold limit, then the OTP will be de-activated.';
+COMMENT ON COLUMN prereg.otp_transaction.status_code IS 'Current status of the transaction. Refers to code field of master.status_list table.';
+COMMENT ON COLUMN prereg.otp_transaction.lang_code IS 'For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
+COMMENT ON COLUMN prereg.otp_transaction.cr_by IS 'ID or name of the user who create / insert record.';
+COMMENT ON COLUMN prereg.otp_transaction.cr_dtimes IS 'Date and Timestamp when the record is created/inserted';
+COMMENT ON COLUMN prereg.otp_transaction.upd_by IS 'ID or name of the user who update the record with new values';
+COMMENT ON COLUMN prereg.otp_transaction.upd_dtimes IS 'Date and Timestamp when any of the fields in the record is updated with new values.';
+COMMENT ON COLUMN prereg.otp_transaction.is_deleted IS 'Flag to mark whether the record is Soft deleted.';
+COMMENT ON COLUMN prereg.otp_transaction.del_dtimes IS 'Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
diff --git a/db_scripts/mosip_prereg/ddl/prereg-anonymous_profile.sql b/db_scripts/mosip_prereg/ddl/prereg-anonymous_profile.sql
deleted file mode 100644
index 780d6b5e06a..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-anonymous_profile.sql
+++ /dev/null
@@ -1,30 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.anonymous_profile
--- Purpose : Anonymous profile:
---
--- Create By : Ajay
--- Created Date : Sept-2021
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
-
--- object: prereg.prereg.anonymous_profile | type: TABLE --
--- DROP TABLE IF EXISTS prereg.prereg.anonymous_profile CASCADE;
-
-
-
-CREATE TABLE IF NOT EXISTS prereg.anonymous_profile
-(
- id character varying(36) COLLATE pg_catalog."default" NOT NULL,
- profile character varying COLLATE pg_catalog."default" NOT NULL,
- cr_by character varying(256) COLLATE pg_catalog."default" NOT NULL,
- cr_dtimes timestamp without time zone NOT NULL,
- upd_by character varying(256) COLLATE pg_catalog."default",
- upd_dtimes timestamp without time zone,
- is_deleted boolean,
- del_dtimes timestamp without time zone,
- CONSTRAINT anonymous_profile_pkey PRIMARY KEY (id)
-);
-
--- ddl-end --
diff --git a/db_scripts/mosip_prereg/ddl/prereg-applicant_document.sql b/db_scripts/mosip_prereg/ddl/prereg-applicant_document.sql
deleted file mode 100644
index 29dcfea99b7..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-applicant_document.sql
+++ /dev/null
@@ -1,78 +0,0 @@
-
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.applicant_document
--- Purpose : Applicant Document: Documents that are uploaded as part of pre-registration process is maintained here. The documents are stored in document repository and only the hash value and its location details are stored.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.applicant_document | type: TABLE --
--- DROP TABLE IF EXISTS prereg.applicant_document CASCADE;
-CREATE TABLE prereg.applicant_document(
- id character varying(36) NOT NULL,
- prereg_id character varying(36) NOT NULL,
- doc_name character varying(128) NOT NULL,
- doc_cat_code character varying(36) NOT NULL,
- doc_typ_code character varying(36) NOT NULL,
- doc_file_format character varying(36) NOT NULL,
- doc_id character varying(128) NOT NULL,
- doc_hash character varying(64) NOT NULL,
- doc_ref_id character varying,
- encrypted_dtimes timestamp NOT NULL,
- status_code character varying(36) NOT NULL,
- lang_code character varying(3) NOT NULL,
- cr_by character varying(256),
- cr_dtimes timestamp,
- upd_by character varying(256),
- upd_dtimes timestamp,
- CONSTRAINT pk_appldoc_prereg_id PRIMARY KEY (id)
-
-);
-
--- indexes section -------------------------------------------------
-create unique index idx_appldoc_prereg_id on prereg.applicant_document (prereg_id, doc_cat_code, doc_typ_code) ;
-
--- ddl-end --
-COMMENT ON TABLE prereg.applicant_document IS 'Applicant Document: Documents that are uploaded as part of pre-registration process is maintained here. The documents are stored in document repository and only the hash value and its location details are stored.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.id IS 'Id: Unique id generated for the documents being uploaded as part of pre-registration process.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.prereg_id IS 'Pre Registration Id: Id of the pre-registration application for which the documents are being uploaded.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.doc_name IS 'Document Name: Name of the document that is uploaded';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.doc_cat_code IS 'Document Category Code: Document category code under which the document is being uploaded. Refers to master.document_category.code';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.doc_typ_code IS 'Document Type Code: Document type code under which the document is being uploaded. Refers to master.document_type.code';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.doc_file_format IS 'Documenet File Format: Format in which the document is being uploaded. Refers to master.document_file_format.code';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.doc_id IS 'Document Id: ID of the document being uploaded';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.doc_hash IS 'Document Hash: Hash value of the document being uploaded in document store. This will be used to make sure that nobody has tampered the document stored in a separate store. ';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.doc_ref_id IS 'Document Reference ID: This is the ID to reference the document, This is entered by the end-user or it is populating using OCR of the document.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.encrypted_dtimes IS 'Encrypted Data Time: Date and time when the document was encrypted before uploading it on document store. This will also be used get the key for decrypting the data.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.status_code IS 'Status Code: Status of the document that is being uploaded.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-
-
-
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-applicant_document_consumed.sql b/db_scripts/mosip_prereg/ddl/prereg-applicant_document_consumed.sql
deleted file mode 100644
index acb78ab0ac0..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-applicant_document_consumed.sql
+++ /dev/null
@@ -1,80 +0,0 @@
-
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.applicant_document_consumed
--- Purpose : Applicant Document Consumed: Documents that are uploaded as part of pre-registration process which was consumed is maintained here.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.applicant_document_consumed | type: TABLE --
--- DROP TABLE IF EXISTS prereg.applicant_document_consumed CASCADE;
-CREATE TABLE prereg.applicant_document_consumed(
- id character varying(36) NOT NULL,
- prereg_id character varying(36) NOT NULL,
- doc_name character varying(128) NOT NULL,
- doc_cat_code character varying(36) NOT NULL,
- doc_typ_code character varying(36) NOT NULL,
- doc_file_format character varying(36) NOT NULL,
- doc_id character varying(128) NOT NULL,
- doc_hash character varying(64) NOT NULL,
- doc_ref_id character varying,
- encrypted_dtimes timestamp NOT NULL,
- status_code character varying(36) NOT NULL,
- lang_code character varying(3) NOT NULL,
- cr_by character varying(256),
- cr_dtimes timestamp,
- upd_by character varying(256),
- upd_dtimes timestamp,
- CONSTRAINT pk_appldocc_prereg_id PRIMARY KEY (id)
-
-);
--- indexes section -------------------------------------------------
-create unique index idx_appldocc_prereg_id on prereg.applicant_document_consumed (prereg_id, doc_cat_code, doc_typ_code) ;
-
--- ddl-end --
-COMMENT ON TABLE prereg.applicant_document_consumed IS 'Applicant Document: Documents that are uploaded as part of pre-registration process which was consumed is maintained here. ';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.id IS 'Id: Unique id generated for the documents being uploaded as part of pre-registration process.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.prereg_id IS 'Pre Registration Id: Id of the pre-registration application for which the documents are being uploaded.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.doc_name IS 'Document Name: Name of the document that is uploaded';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.doc_cat_code IS 'Document Category Code: Document category code under which the document is being uploaded. Refers to master.document_category.code';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.doc_typ_code IS 'Document Type Code: Document type code under which the document is being uploaded. Refers to master.document_type.code';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.doc_file_format IS 'Documenet File Format: Format in which the document is being uploaded. Refers to master.document_file_format.code';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.doc_id IS 'Document Id: ID of the document being uploaded';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.doc_hash IS 'Document Hash: Hash value of the document being uploaded in document store. This will be used to make sure that nobody has tampered the document stored in a separate store. ';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.doc_ref_id IS 'Document Reference ID: This is the ID to reference the document, This is entered by the end-user or it is populating using OCR of the document.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.encrypted_dtimes IS 'Encrypted Data Time: Date and time when the document was encrypted before uploading it on document store. This will also be used get the key for decrypting the data.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.status_code IS 'Status Code: Status of the document that is being uploaded.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.applicant_document_consumed.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-
-
-
-
-
-
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-applications.sql b/db_scripts/mosip_prereg/ddl/prereg-applications.sql
deleted file mode 100644
index 3871193fea0..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-applications.sql
+++ /dev/null
@@ -1,33 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.applications
--- Purpose : Applications:
---
--- Create By : Ram Bhatt
--- Created Date : Aug-2021
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.applications | type: TABLE --
--- DROP TABLE IF EXISTS prereg.applications CASCADE;
-CREATE TABLE prereg.applications(
- application_id character varying(36) NOT NULL,
- booking_type character varying(256) NOT NULL,
- booking_status_code character varying(256),
- application_status_code character varying(256),
- regcntr_id character varying(10),
- appointment_date date,
- booking_date date,
- slot_from_time time without time zone,
- slot_to_time time without time zone,
- contact_info character varying(256),
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp without time zone NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp without time zone,
- CONSTRAINT appid_pk PRIMARY KEY (application_id)
-
-);
--- ddl-end --
diff --git a/db_scripts/mosip_prereg/ddl/prereg-batch_job_execution.sql b/db_scripts/mosip_prereg/ddl/prereg-batch_job_execution.sql
deleted file mode 100644
index 4abbe3a2698..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-batch_job_execution.sql
+++ /dev/null
@@ -1,23 +0,0 @@
--- Table: prereg.batch_job_execution
-
--- DROP TABLE prereg.batch_job_execution;
-
-CREATE TABLE prereg.batch_job_execution
-(
- job_execution_id bigint NOT NULL,
- version bigint,
- job_instance_id bigint NOT NULL,
- create_time timestamp without time zone NOT NULL,
- start_time timestamp without time zone,
- end_time timestamp without time zone,
- status character varying(10) COLLATE pg_catalog."default",
- exit_code character varying(2500) COLLATE pg_catalog."default",
- exit_message character varying(2500) COLLATE pg_catalog."default",
- last_updated timestamp without time zone,
- job_configuration_location character varying(2500) COLLATE pg_catalog."default",
- CONSTRAINT batch_job_execution_pkey PRIMARY KEY (job_execution_id)
-)
-WITH (
- OIDS = FALSE
-);
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-batch_job_execution_context.sql b/db_scripts/mosip_prereg/ddl/prereg-batch_job_execution_context.sql
deleted file mode 100644
index 2c00b673f2b..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-batch_job_execution_context.sql
+++ /dev/null
@@ -1,14 +0,0 @@
--- Table: prereg.batch_job_execution_context
-
--- DROP TABLE prereg.batch_job_execution_context;
-
-CREATE TABLE prereg.batch_job_execution_context
-(
- job_execution_id bigint NOT NULL,
- short_context character varying(2500) COLLATE pg_catalog."default" NOT NULL,
- serialized_context text COLLATE pg_catalog."default",
- CONSTRAINT batch_job_execution_context_pkey PRIMARY KEY (job_execution_id)
-)
-WITH (
- OIDS = FALSE
-);
diff --git a/db_scripts/mosip_prereg/ddl/prereg-batch_job_execution_param.sql b/db_scripts/mosip_prereg/ddl/prereg-batch_job_execution_param.sql
deleted file mode 100644
index 8bd925718c2..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-batch_job_execution_param.sql
+++ /dev/null
@@ -1,20 +0,0 @@
--- Table: prereg.batch_job_execution_params
-
--- DROP TABLE prereg.batch_job_execution_params;
-
-CREATE TABLE prereg.batch_job_execution_params
-(
- job_execution_id bigint NOT NULL,
- type_cd character varying(6) COLLATE pg_catalog."default" NOT NULL,
- key_name character varying(100) COLLATE pg_catalog."default" NOT NULL,
- string_val character varying(250) COLLATE pg_catalog."default",
- date_val timestamp without time zone,
- long_val bigint,
- double_val double precision,
- identifying character(1) COLLATE pg_catalog."default" NOT NULL
-)
-WITH (
- OIDS = FALSE
-)
-;
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-batch_job_instance.sql b/db_scripts/mosip_prereg/ddl/prereg-batch_job_instance.sql
deleted file mode 100644
index 68cfcdeecf4..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-batch_job_instance.sql
+++ /dev/null
@@ -1,19 +0,0 @@
--- Table: prereg.batch_job_instance
-
--- DROP TABLE prereg.batch_job_instance;
-
-CREATE TABLE prereg.batch_job_instance
-(
- job_instance_id bigint NOT NULL,
- version bigint,
- job_name character varying(100) COLLATE pg_catalog."default" NOT NULL,
- job_key character varying(32) COLLATE pg_catalog."default" NOT NULL,
- CONSTRAINT batch_job_instance_pkey PRIMARY KEY (job_instance_id),
- CONSTRAINT job_inst_un UNIQUE (job_name, job_key)
-)
-WITH (
- OIDS = FALSE
-)
-;
-
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-batch_step_execution.sql b/db_scripts/mosip_prereg/ddl/prereg-batch_step_execution.sql
deleted file mode 100644
index 829fde69077..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-batch_step_execution.sql
+++ /dev/null
@@ -1,29 +0,0 @@
--- Table: prereg.batch_step_execution
-
--- DROP TABLE prereg.batch_step_execution;
-
-CREATE TABLE prereg.batch_step_execution
-(
- step_execution_id bigint NOT NULL,
- version bigint NOT NULL,
- step_name character varying(100) COLLATE pg_catalog."default" NOT NULL,
- job_execution_id bigint NOT NULL,
- start_time timestamp without time zone NOT NULL,
- end_time timestamp without time zone,
- status character varying(10) COLLATE pg_catalog."default",
- commit_count bigint,
- read_count bigint,
- filter_count bigint,
- write_count bigint,
- read_skip_count bigint,
- write_skip_count bigint,
- process_skip_count bigint,
- rollback_count bigint,
- exit_code character varying(2500) COLLATE pg_catalog."default",
- exit_message character varying(2500) COLLATE pg_catalog."default",
- last_updated timestamp without time zone,
- CONSTRAINT batch_step_execution_pkey PRIMARY KEY (step_execution_id)
-)
-WITH (
- OIDS = FALSE
-);
\ No newline at end of file
diff --git a/db_scripts/mosip_prereg/ddl/prereg-batch_step_execution_context.sql b/db_scripts/mosip_prereg/ddl/prereg-batch_step_execution_context.sql
deleted file mode 100644
index 6f82a140667..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-batch_step_execution_context.sql
+++ /dev/null
@@ -1,15 +0,0 @@
--- Table: prereg.batch_step_execution_context
-
--- DROP TABLE prereg.batch_step_execution_context;
-
-CREATE TABLE prereg.batch_step_execution_context
-(
- step_execution_id bigint NOT NULL,
- short_context character varying(2500) COLLATE pg_catalog."default" NOT NULL,
- serialized_context text COLLATE pg_catalog."default",
- CONSTRAINT batch_step_execution_context_pkey PRIMARY KEY (step_execution_id)
-
-)
-WITH (
- OIDS = FALSE
-);
\ No newline at end of file
diff --git a/db_scripts/mosip_prereg/ddl/prereg-intf_processed_prereg_list.sql b/db_scripts/mosip_prereg/ddl/prereg-intf_processed_prereg_list.sql
deleted file mode 100644
index 8a9ec916b94..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-intf_processed_prereg_list.sql
+++ /dev/null
@@ -1,50 +0,0 @@
-
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.intf_processed_prereg_list
--- Purpose : Interface Processd Pre Registration List: Interface table to temporarily store the list of pre-registrations that were processed by registration processor application. The data can be removed once the data is updated in actual tables.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.intf_processed_prereg_list | type: TABLE --
--- DROP TABLE IF EXISTS prereg.intf_processed_prereg_list CASCADE;
-CREATE TABLE prereg.intf_processed_prereg_list(
- prereg_id character varying(36) NOT NULL,
- received_dtimes timestamp NOT NULL,
- lang_code character varying(3) NOT NULL,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp,
- is_deleted boolean,
- del_dtimes timestamp,
- CONSTRAINT ipprlst_pk PRIMARY KEY (prereg_id,received_dtimes)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.intf_processed_prereg_list IS 'Interface Processd Pre Registration List: Interface table to temporarily store the list of pre-registrations that were processed by registration processor application. The data can be removed once the data is updated in actual tables.';
--- ddl-end --
-COMMENT ON COLUMN prereg.intf_processed_prereg_list.prereg_id IS 'Pre-registration id: Pre registration id that was consumed by registration processor to generate UIN.';
--- ddl-end --
-COMMENT ON COLUMN prereg.intf_processed_prereg_list.received_dtimes IS 'Received Date Time: Date time when the pre-registration id was recevied by pre-registrations application for marking it as comsumed/processed';
--- ddl-end --
-COMMENT ON COLUMN prereg.intf_processed_prereg_list.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
-COMMENT ON COLUMN prereg.intf_processed_prereg_list.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.intf_processed_prereg_list.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.intf_processed_prereg_list.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.intf_processed_prereg_list.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-COMMENT ON COLUMN prereg.intf_processed_prereg_list.is_deleted IS 'IS_Deleted : Flag to mark whether the record is Soft deleted.';
--- ddl-end --
-COMMENT ON COLUMN prereg.intf_processed_prereg_list.del_dtimes IS 'Deleted DateTimestamp : Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
--- ddl-end --
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-language_transliteration.sql b/db_scripts/mosip_prereg/ddl/prereg-language_transliteration.sql
deleted file mode 100644
index 15734f4539d..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-language_transliteration.sql
+++ /dev/null
@@ -1,44 +0,0 @@
-
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.language_transliteration
--- Purpose : Language Transliteration: Mapping table to store mapping between the language id, (defined by the utility) to support transliteration from one language to another.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.language_transliteration | type: TABLE --
--- DROP TABLE IF EXISTS prereg.language_transliteration CASCADE;
-CREATE TABLE prereg.language_transliteration(
- lang_from_code character varying(3) NOT NULL,
- lang_to_code character varying(3) NOT NULL,
- lang_id character varying(30) NOT NULL,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp,
- CONSTRAINT pk_ltrnln PRIMARY KEY (lang_from_code,lang_to_code)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.language_transliteration IS 'Language Transliteration: Mapping table to store mapping between the language id, (defined by the utility) to support transliteration from one language to another. ';
--- ddl-end --
-COMMENT ON COLUMN prereg.language_transliteration.lang_from_code IS 'Language From Code: Host language code from which the transliteration to be done ';
--- ddl-end --
-COMMENT ON COLUMN prereg.language_transliteration.lang_to_code IS 'Language To Code: Target language code to which the transliteration to be done ';
--- ddl-end --
-COMMENT ON COLUMN prereg.language_transliteration.lang_id IS 'Language Id: Unique language id which is used to transliterate from one language to other. This id should be part of the language ids supported by the transliterate utility.';
--- ddl-end --
-COMMENT ON COLUMN prereg.language_transliteration.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.language_transliteration.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.language_transliteration.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.language_transliteration.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-otp_transaction.sql b/db_scripts/mosip_prereg/ddl/prereg-otp_transaction.sql
deleted file mode 100644
index d6d8d544b6f..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-otp_transaction.sql
+++ /dev/null
@@ -1,63 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.otp_transaction
--- Purpose : OTP Transaction: All OTP related data and validation details are maintained here for Pre Registration module.
---
--- Create By : Sadanandegowda DM
--- Created Date : Dec-2020
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.otp_transaction | type: TABLE --
--- DROP TABLE IF EXISTS prereg.otp_transaction CASCADE;
-CREATE TABLE prereg.otp_transaction(
- id character varying(36) NOT NULL,
- ref_id character varying(64) NOT NULL,
- otp_hash character varying(512) NOT NULL,
- generated_dtimes timestamp,
- expiry_dtimes timestamp,
- validation_retry_count smallint,
- status_code character varying(36),
- lang_code character varying(3),
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp,
- is_deleted boolean,
- del_dtimes timestamp,
- CONSTRAINT pk_otpt_id PRIMARY KEY (id)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.otp_transaction IS 'OTP Transaction: All OTP related data and validation details are maintained here for Pre Registration module.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.id IS 'ID: OTP id is a unique identifier (UUID) used as an unique key to identify the OTP transaction';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.ref_id IS 'Reference ID: Reference ID is a reference information received from OTP requester which can be used while validating the OTP. AM: please give examples of ref_id';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.otp_hash IS 'OTP Hash: Hash of id, ref_id and otp which is generated based on the configuration setup and sent to the requester application / module.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.generated_dtimes IS 'Generated Date Time: Date and Time when the OTP was generated';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.expiry_dtimes IS 'Expiry Date Time: Date Time when the OTP will be expired';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.validation_retry_count IS 'Validation Retry Count: Validation retry counts of this OTP request. If the validation retry crosses the threshold limit, then the OTP will be de-activated.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.status_code IS 'Status Code: Current status of the transaction. Refers to code field of master.status_list table.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.is_deleted IS 'IS_Deleted : Flag to mark whether the record is Soft deleted.';
--- ddl-end --
-COMMENT ON COLUMN prereg.otp_transaction.del_dtimes IS 'Deleted DateTimestamp : Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
--- ddl-end --
\ No newline at end of file
diff --git a/db_scripts/mosip_prereg/ddl/prereg-pre_registration_transaction.sql b/db_scripts/mosip_prereg/ddl/prereg-pre_registration_transaction.sql
deleted file mode 100644
index 4842c23f461..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-pre_registration_transaction.sql
+++ /dev/null
@@ -1,57 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.pre_registration_transaction
--- Purpose : Pre-Registration Transaction: Stores various transactions that are processd within pre-registration module/application.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.pre_registration_transaction | type: TABLE --
--- DROP TABLE IF EXISTS prereg.pre_registration_transaction CASCADE;
-CREATE TABLE prereg.pre_registration_transaction(
- id character varying(36) NOT NULL,
- trn_type_code character varying(36) NOT NULL,
- parent_prereg_trn_id character varying(36),
- status_code character varying(36) NOT NULL,
- status_comments character varying(1024),
- lang_code character varying(3) NOT NULL,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp,
- is_deleted boolean,
- del_dtimes timestamp,
- CONSTRAINT preg_trn_pk PRIMARY KEY (id)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.pre_registration_transaction IS 'Pre-Registration Transaction: Stores various transactions that are processd within pre-registration module/application.';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.id IS 'Transaction id of the transactions that were recorded in pre-registration module/application';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.trn_type_code IS 'Transaction type code: Type of transaction being processed.';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.parent_prereg_trn_id IS 'Parent Pre-Registration Transaction Id: Parent transaction id that has triggered this transaction (if any)';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.status_code IS 'Status Code: Current status of the transaction. Refers to code field of master.status_list table.';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.status_comments IS 'Status Comments: Comments provided by the actor during the transaction processing.';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.is_deleted IS 'IS_Deleted : Flag to mark whether the record is Soft deleted.';
--- ddl-end --
-COMMENT ON COLUMN prereg.pre_registration_transaction.del_dtimes IS 'Deleted DateTimestamp : Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
--- ddl-end --
diff --git a/db_scripts/mosip_prereg/ddl/prereg-prid_seed.sql b/db_scripts/mosip_prereg/ddl/prereg-prid_seed.sql
deleted file mode 100644
index db343364720..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-prid_seed.sql
+++ /dev/null
@@ -1,37 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.prid_seed
--- Purpose : Pre-Registration ID Seed: Stores a random number that will be used as seed in the algorithm to generate a PRID. This seed value is encrypted/hashed and used along with a counter in the algorithm to generate a unique random number. Only one seed value would be available for the generation of PRID and this will never change.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.prid_seed | type: TABLE --
--- DROP TABLE IF EXISTS prereg.prid_seed CASCADE;
-CREATE TABLE prereg.prid_seed(
- seed_no character varying(32) NOT NULL,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- is_deleted boolean,
- del_dtimes timestamp,
- CONSTRAINT pk_prsd PRIMARY KEY (seed_no)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.prid_seed IS 'Pre-Registration ID Seed: Stores a random number that will be used as seed in the algorithm to generate a PRID. This seed value is encrypted/hashed and used along with a counter in the algorithm to generate a unique random number. Only one seed value would be available for the generation of PRID and this will never change.';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seed.seed_no IS 'Seed Number: Seed number is the random number generated which will be used as seed in the algorithm to generate PRID.';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seed.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seed.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seed.is_deleted IS 'IS_Deleted : Flag to mark whether the record is Soft deleted.';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seed.del_dtimes IS 'Deleted DateTimestamp : Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
--- ddl-end --
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-prid_seq.sql b/db_scripts/mosip_prereg/ddl/prereg-prid_seq.sql
deleted file mode 100644
index 7c6ed41c06c..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-prid_seq.sql
+++ /dev/null
@@ -1,37 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.prid_seq
--- Purpose : Pre-Registration ID Sequence: Stores sequence numbers that are used in the algorithm to generate PRID. Stores a incremental sequence number that will be used as salt in the algorithm to generate a PRID. This salt value is encrypted/hashed and used along with a seed number in the algorithm to generate a unique random number.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.prid_seq | type: TABLE --
--- DROP TABLE IF EXISTS prereg.prid_seq CASCADE;
-CREATE TABLE prereg.prid_seq(
- seq_no character varying(32) NOT NULL,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- is_deleted boolean,
- del_dtimes timestamp,
- CONSTRAINT pk_prseq PRIMARY KEY (seq_no)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.prid_seq IS 'Pre-Registration ID Sequence: Stores sequence numbers that are used in the algorithm to generate PRID. Stores a incremental sequence number that will be used as salt in the algorithm to generate a PRID. This salt value is encrypted/hashed and used along with a seed number in the algorithm to generate a unique random number.';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seq.seq_no IS 'Sequence Number: Sequence number is the number generated which is used in the algorithm to generate PRID.';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seq.cr_by IS 'Created By : ID or name of the user who create / insert record';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seq.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seq.is_deleted IS 'IS_Deleted : Flag to mark whether the record is Soft deleted.';
--- ddl-end --
-COMMENT ON COLUMN prereg.prid_seq.del_dtimes IS 'Deleted DateTimestamp : Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
--- ddl-end --
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-reg_appointment.sql b/db_scripts/mosip_prereg/ddl/prereg-reg_appointment.sql
deleted file mode 100644
index 371b1bd1d9a..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-reg_appointment.sql
+++ /dev/null
@@ -1,58 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.reg_appointment
--- Purpose : Registration Appointment: Stores all the appointment requests booked by an individual at a registration center.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.reg_appointment | type: TABLE --
--- DROP TABLE IF EXISTS prereg.reg_appointment CASCADE;
-CREATE TABLE prereg.reg_appointment(
- id character varying(36) NOT NULL,
- regcntr_id character varying(10) NOT NULL,
- prereg_id character varying(36) NOT NULL,
- booking_dtimes timestamp NOT NULL,
- appointment_date date,
- slot_from_time time,
- slot_to_time time,
- lang_code character varying(3) NOT NULL,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp,
- CONSTRAINT pk_rappmnt_id PRIMARY KEY (id),
- CONSTRAINT uk_rappmnt_id UNIQUE (prereg_id)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.reg_appointment IS 'Registration Appointment: Stores all the appointment requests booked by an individual at a registration center. ';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.id IS 'ID: Unique id generated for the registration appointment booking.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.regcntr_id IS 'Registration Center ID: Id of the Registration Center where the appointment is taken. Refers to master.registration_center.id';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.prereg_id IS 'Pre-Registration Id: Pre-registration id for which registration appointment is taken.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.booking_dtimes IS 'Booking Date Time: Date and Time when the appointment booking is done.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.appointment_date IS 'Appointment Date: Date for which an individual has taken an aopointment for registration at a registration center';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.slot_from_time IS 'Slot From Time: Start time of the appointment slot.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.slot_to_time IS 'Slot To Time: End time of the appointment slot.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
diff --git a/db_scripts/mosip_prereg/ddl/prereg-reg_appointment_consumed.sql b/db_scripts/mosip_prereg/ddl/prereg-reg_appointment_consumed.sql
deleted file mode 100644
index c8ec579c292..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-reg_appointment_consumed.sql
+++ /dev/null
@@ -1,59 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.reg_appointment_consumed
--- Purpose : Registration Appointment Consumed: Stores all the appointment requests booked by an individual at a registration center that are consumed.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.reg_appointment_consumed | type: TABLE --
--- DROP TABLE IF EXISTS prereg.reg_appointment_consumed CASCADE;
-CREATE TABLE prereg.reg_appointment_consumed(
- id character varying(36) NOT NULL,
- regcntr_id character varying(10) NOT NULL,
- prereg_id character varying(36) NOT NULL,
- booking_dtimes timestamp NOT NULL,
- appointment_date date,
- slot_from_time time,
- slot_to_time time,
- lang_code character varying(3) NOT NULL,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp,
- CONSTRAINT pk_rappmntc_id PRIMARY KEY (id),
- CONSTRAINT uk_rappmntc_id UNIQUE (prereg_id)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.reg_appointment_consumed IS 'Registration Appointment Consumed: Stores all the appointment requests booked by an individual at a registration center that are consumed. ';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.id IS 'ID: Unique id generated for the registration appointment booking.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.regcntr_id IS 'Registration Center ID: Id of the Registration Center where the appointment is taken. Refers to master.registration_center.id';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.prereg_id IS 'Pre-Registration Id: Pre-registration id for which registration appointment is taken.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.booking_dtimes IS 'Booking Date Time: Date and Time when the appointment booking is done.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.appointment_date IS 'Appointment Date: Date for which an individual has taken an aopointment for registration at a registration center';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.slot_from_time IS 'Slot From Time: Start time of the appointment slot.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.slot_to_time IS 'Slot To Time: End time of the appointment slot.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_appointment_consumed.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-reg_available_slot.sql b/db_scripts/mosip_prereg/ddl/prereg-reg_available_slot.sql
deleted file mode 100644
index 15579efb645..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-reg_available_slot.sql
+++ /dev/null
@@ -1,54 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.reg_available_slot
--- Purpose : Registration Available Slots: Slots available at a registration center for an individual to book for registrating themselves to get a UIN.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.reg_available_slot | type: TABLE --
--- DROP TABLE IF EXISTS prereg.reg_available_slot CASCADE;
-CREATE TABLE prereg.reg_available_slot(
- regcntr_id character varying(10) NOT NULL,
- availability_date date NOT NULL,
- slot_from_time time NOT NULL,
- slot_to_time time,
- available_kiosks smallint,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp,
- is_deleted boolean,
- del_dtimes timestamp,
- CONSTRAINT pk_ravlslt_id PRIMARY KEY (regcntr_id,availability_date,slot_from_time)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.reg_available_slot IS 'Registration Available Slots: Slots available at a registration center for an individual to book for registrating themselves to get a UIN. ';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.regcntr_id IS 'Registration Center ID: Id of the Registration Center where the appointment can be booded for registration process. Refers to master.registration_center.id';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.availability_date IS 'Avalilability Date: Date when the registration center is available for registration process.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.slot_from_time IS 'Slot From Time: Start time of the appointment slot available for booking at a registration center.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.slot_to_time IS 'Slot To Time: End time of the appointment slot available for booking at a registration center.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.available_kiosks IS 'Available Kiosks: Number of kiosks available for booking at a registration center.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.is_deleted IS 'IS_Deleted : Flag to mark whether the record is Soft deleted.';
--- ddl-end --
-COMMENT ON COLUMN prereg.reg_available_slot.del_dtimes IS 'Deleted DateTimestamp : Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
--- ddl-end --
diff --git a/db_scripts/mosip_prereg/ddl/prereg-transaction_type.sql b/db_scripts/mosip_prereg/ddl/prereg-transaction_type.sql
deleted file mode 100644
index 269ebdcb97e..00000000000
--- a/db_scripts/mosip_prereg/ddl/prereg-transaction_type.sql
+++ /dev/null
@@ -1,52 +0,0 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.transaction_type
--- Purpose : Transaction Type: Defines various transaction types that are processd within pre-registration module/application.
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.transaction_type | type: TABLE --
--- DROP TABLE IF EXISTS prereg.transaction_type CASCADE;
-CREATE TABLE prereg.transaction_type(
- code character varying(36) NOT NULL,
- descr character varying(256) NOT NULL,
- lang_code character varying(3) NOT NULL,
- is_active boolean NOT NULL,
- cr_by character varying(256) NOT NULL,
- cr_dtimes timestamp NOT NULL,
- upd_by character varying(256),
- upd_dtimes timestamp,
- is_deleted boolean,
- del_dtimes timestamp,
- CONSTRAINT ttype_pk PRIMARY KEY (code,lang_code)
-
-);
--- ddl-end --
-COMMENT ON TABLE prereg.transaction_type IS 'Transaction Type: Defines various transaction types that are processd within pre-registration module/application.';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.code IS 'Code: Code of the transaction types available in pre-registration module/application';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.descr IS 'Desceription: Description of the transaction types of pre-registration module/application';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.lang_code IS 'Language Code : For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.is_active IS 'IS_Active : Flag to mark whether the record is Active or In-active';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.cr_by IS 'Created By : ID or name of the user who create / insert record.';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.cr_dtimes IS 'Created DateTimestamp : Date and Timestamp when the record is created/inserted';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.upd_by IS 'Updated By : ID or name of the user who update the record with new values';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.upd_dtimes IS 'Updated DateTimestamp : Date and Timestamp when any of the fields in the record is updated with new values.';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.is_deleted IS 'IS_Deleted : Flag to mark whether the record is Soft deleted.';
--- ddl-end --
-COMMENT ON COLUMN prereg.transaction_type.del_dtimes IS 'Deleted DateTimestamp : Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
--- ddl-end --
-
diff --git a/db_scripts/mosip_prereg/ddl/prereg-processed_prereg_list.sql b/db_scripts/mosip_prereg/ddl/processed_prereg_list.sql
similarity index 58%
rename from db_scripts/mosip_prereg/ddl/prereg-processed_prereg_list.sql
rename to db_scripts/mosip_prereg/ddl/processed_prereg_list.sql
index 9394eeabd40..51085e0bd44 100644
--- a/db_scripts/mosip_prereg/ddl/prereg-processed_prereg_list.sql
+++ b/db_scripts/mosip_prereg/ddl/processed_prereg_list.sql
@@ -1,17 +1,5 @@
--- -------------------------------------------------------------------------------------------------
--- Database Name: mosip_prereg
--- Table Name : prereg.processed_prereg_list
--- Purpose : Table to store all the pre-registration list received from registration processor within pre-registration module
---
--- Create By : Nasir Khan / Sadanandegowda
--- Created Date : 15-Jul-2019
---
--- Modified Date Modified By Comments / Remarks
--- ------------------------------------------------------------------------------------------
---
--- ------------------------------------------------------------------------------------------
--- object: prereg.processed_prereg_list | type: TABLE --
--- DROP TABLE IF EXISTS prereg.processed_prereg_list CASCADE;
+-- This table saves details about the pre-registration ids which are processed by the MOSIP.
+
CREATE TABLE prereg.processed_prereg_list(
prereg_id character varying(36) NOT NULL,
first_received_dtimes timestamp NOT NULL,
@@ -26,17 +14,10 @@ CREATE TABLE prereg.processed_prereg_list(
is_deleted boolean,
del_dtimes timestamp,
CONSTRAINT pprlst_pk PRIMARY KEY (prereg_id)
-
);
--- ddl-end --
COMMENT ON TABLE prereg.processed_prereg_list IS 'Table to store all the pre-registration list received from registration processor within pre-registration module';
--- ddl-end --
COMMENT ON COLUMN prereg.processed_prereg_list.prereg_id IS 'Pre-registration id that was consumed by registration processor to generate UIN';
--- ddl-end --
COMMENT ON COLUMN prereg.processed_prereg_list.first_received_dtimes IS 'Datetime when the pre-registration id was first recevied';
--- ddl-end --
COMMENT ON COLUMN prereg.processed_prereg_list.status_code IS 'status of the pre-registration status update into actual tables';
--- ddl-end --
COMMENT ON COLUMN prereg.processed_prereg_list.status_comments IS 'status comments of the pre-registration status update into actual tables';
--- ddl-end --
diff --git a/db_scripts/mosip_prereg/ddl/reg_appointment.sql b/db_scripts/mosip_prereg/ddl/reg_appointment.sql
new file mode 100644
index 00000000000..79ac359cac1
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/reg_appointment.sql
@@ -0,0 +1,30 @@
+-- This table saves the appointment details for the user’s application like the registration centre id, time slot etc.jddd
+CREATE TABLE prereg.reg_appointment(
+ id character varying(36) NOT NULL,
+ regcntr_id character varying(10) NOT NULL,
+ prereg_id character varying(36) NOT NULL,
+ booking_dtimes timestamp NOT NULL,
+ appointment_date date,
+ slot_from_time time,
+ slot_to_time time,
+ lang_code character varying(3) NOT NULL,
+ cr_by character varying(256) NOT NULL,
+ cr_dtimes timestamp NOT NULL,
+ upd_by character varying(256),
+ upd_dtimes timestamp,
+ CONSTRAINT pk_rappmnt_id PRIMARY KEY (id),
+ CONSTRAINT uk_rappmnt_id UNIQUE (prereg_id)
+);
+COMMENT ON TABLE prereg.reg_appointment IS 'Stores all the appointment requests booked by an individual at a registration center. ';
+COMMENT ON COLUMN prereg.reg_appointment.id IS 'Unique id generated for the registration appointment booking.';
+COMMENT ON COLUMN prereg.reg_appointment.regcntr_id IS 'Id of the Registration Center where the appointment is taken. Refers to master.registration_center.id';
+COMMENT ON COLUMN prereg.reg_appointment.prereg_id IS 'Pre-registration id for which registration appointment is taken.';
+COMMENT ON COLUMN prereg.reg_appointment.booking_dtimes IS 'Date and Time when the appointment booking is done.';
+COMMENT ON COLUMN prereg.reg_appointment.appointment_date IS 'Date for which an individual has taken an aopointment for registration at a registration center';
+COMMENT ON COLUMN prereg.reg_appointment.slot_from_time IS 'Start time of the appointment slot.';
+COMMENT ON COLUMN prereg.reg_appointment.slot_to_time IS 'End time of the appointment slot.';
+COMMENT ON COLUMN prereg.reg_appointment.lang_code IS 'For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
+COMMENT ON COLUMN prereg.reg_appointment.cr_by IS 'ID or name of the user who create / insert record.';
+COMMENT ON COLUMN prereg.reg_appointment.cr_dtimes IS 'Date and Timestamp when the record is created/inserted';
+COMMENT ON COLUMN prereg.reg_appointment.upd_by IS 'ID or name of the user who update the record with new values';
+COMMENT ON COLUMN prereg.reg_appointment.upd_dtimes IS 'Date and Timestamp when any of the fields in the record is updated with new values.';
diff --git a/db_scripts/mosip_prereg/ddl/reg_appointment_consumed.sql b/db_scripts/mosip_prereg/ddl/reg_appointment_consumed.sql
new file mode 100644
index 00000000000..a52aef16a82
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/reg_appointment_consumed.sql
@@ -0,0 +1,33 @@
+-- Once the user’s application is processed in MOSIP, then the application’s appointment details are archived and saved in this table by the Batch Job.
+
+CREATE TABLE prereg.reg_appointment_consumed(
+ id character varying(36) NOT NULL,
+ regcntr_id character varying(10) NOT NULL,
+ prereg_id character varying(36) NOT NULL,
+ booking_dtimes timestamp NOT NULL,
+ appointment_date date,
+ slot_from_time time,
+ slot_to_time time,
+ lang_code character varying(3) NOT NULL,
+ cr_by character varying(256) NOT NULL,
+ cr_dtimes timestamp NOT NULL,
+ upd_by character varying(256),
+ upd_dtimes timestamp,
+ CONSTRAINT pk_rappmntc_id PRIMARY KEY (id),
+ CONSTRAINT uk_rappmntc_id UNIQUE (prereg_id)
+
+);
+
+COMMENT ON TABLE prereg.reg_appointment_consumed IS 'Stores all the appointment requests booked by an individual at a registration center that are consumed. ';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.id IS 'Unique id generated for the registration appointment booking.';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.regcntr_id IS 'Id of the Registration Center where the appointment is taken. Refers to master.registration_center.id';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.prereg_id IS 'Pre-registration id for which registration appointment is taken.';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.booking_dtimes IS 'Date and Time when the appointment booking is done.';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.appointment_date IS 'Date for which an individual has taken an aopointment for registration at a registration center';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.slot_from_time IS 'Start time of the appointment slot.';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.slot_to_time IS 'End time of the appointment slot.';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.lang_code IS 'For multilanguage implementation this attribute Refers master.language.code. The value of some of the attributes in current record is stored in this respective language.';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.cr_by IS 'ID or name of the user who create / insert record.';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.cr_dtimes IS 'Date and Timestamp when the record is created/inserted';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.upd_by IS 'ID or name of the user who update the record with new values';
+COMMENT ON COLUMN prereg.reg_appointment_consumed.upd_dtimes IS 'Date and Timestamp when any of the fields in the record is updated with new values.';
diff --git a/db_scripts/mosip_prereg/ddl/reg_available_slot.sql b/db_scripts/mosip_prereg/ddl/reg_available_slot.sql
new file mode 100644
index 00000000000..4baa34db51a
--- /dev/null
+++ b/db_scripts/mosip_prereg/ddl/reg_available_slot.sql
@@ -0,0 +1,29 @@
+-- This table saves details about all time slots available for all the active registration centres.
+
+CREATE TABLE prereg.reg_available_slot(
+ regcntr_id character varying(10) NOT NULL,
+ availability_date date NOT NULL,
+ slot_from_time time NOT NULL,
+ slot_to_time time,
+ available_kiosks smallint,
+ cr_by character varying(256) NOT NULL,
+ cr_dtimes timestamp NOT NULL,
+ upd_by character varying(256),
+ upd_dtimes timestamp,
+ is_deleted boolean,
+ del_dtimes timestamp,
+ CONSTRAINT pk_ravlslt_id PRIMARY KEY (regcntr_id,availability_date,slot_from_time)
+);
+
+COMMENT ON TABLE prereg.reg_available_slot IS 'Slots available at a registration center for an individual to book for registrating themselves to get a UIN. ';
+COMMENT ON COLUMN prereg.reg_available_slot.regcntr_id IS 'Id of the Registration Center where the appointment can be booded for registration process. Refers to master.registration_center.id';
+COMMENT ON COLUMN prereg.reg_available_slot.availability_date IS 'Date when the registration center is available for registration process.';
+COMMENT ON COLUMN prereg.reg_available_slot.slot_from_time IS 'Start time of the appointment slot available for booking at a registration center.';
+COMMENT ON COLUMN prereg.reg_available_slot.slot_to_time IS 'End time of the appointment slot available for booking at a registration center.';
+COMMENT ON COLUMN prereg.reg_available_slot.available_kiosks IS 'Number of kiosks available for booking at a registration center.';
+COMMENT ON COLUMN prereg.reg_available_slot.cr_by IS 'ID or name of the user who create / insert record.';
+COMMENT ON COLUMN prereg.reg_available_slot.cr_dtimes IS 'Date and Timestamp when the record is created/inserted';
+COMMENT ON COLUMN prereg.reg_available_slot.upd_by IS 'ID or name of the user who update the record with new values';
+COMMENT ON COLUMN prereg.reg_available_slot.upd_dtimes IS 'Date and Timestamp when any of the fields in the record is updated with new values.';
+COMMENT ON COLUMN prereg.reg_available_slot.is_deleted IS 'Flag to mark whether the record is Soft deleted.';
+COMMENT ON COLUMN prereg.reg_available_slot.del_dtimes IS 'Date and Timestamp when the record is soft deleted with is_deleted=TRUE';
diff --git a/db_scripts/mosip_prereg/deploy.properties b/db_scripts/mosip_prereg/deploy.properties
new file mode 100644
index 00000000000..5a080a2415d
--- /dev/null
+++ b/db_scripts/mosip_prereg/deploy.properties
@@ -0,0 +1,6 @@
+DB_SERVERIP=
+DB_PORT=5432
+SU_USER=postgres
+DEFAULT_DB_NAME=postgres
+MOSIP_DB_NAME=mosip_prereg
+DML_FLAG=0
diff --git a/db_scripts/mosip_prereg/deploy.sh b/db_scripts/mosip_prereg/deploy.sh
new file mode 100644
index 00000000000..b781c6f4d3e
--- /dev/null
+++ b/db_scripts/mosip_prereg/deploy.sh
@@ -0,0 +1,48 @@
+
+## Properties file
+set -e
+properties_file="$1"
+echo `date "+%m/%d/%Y %H:%M:%S"` ": $properties_file"
+if [ -f "$properties_file" ]
+then
+ echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file \"$properties_file\" found."
+ while IFS='=' read -r key value
+ do
+ key=$(echo $key | tr '.' '_')
+ eval ${key}=\${value}
+ done < "$properties_file"
+else
+ echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file not found, Pass property file name as argument."
+fi
+
+## Terminate existing connections
+echo "Terminating active connections"
+CONN=$(PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "SELECT count(pg_terminate_backend(pg_stat_activity.pid)) FROM pg_stat_activity WHERE datname = '$MOSIP_DB_NAME' AND pid <> pg_backend_pid()";exit;)
+echo "Terminated connections"
+
+## Drop db and role
+echo "Dropping DB"
+PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f drop_db.sql
+
+echo "Dropping user"
+PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f drop_role.sql
+
+## Create users
+echo `date "+%m/%d/%Y %H:%M:%S"` ": Creating database users"
+PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f role_dbuser.sql -v dbuserpwd=\'$DBUSER_PWD\'
+
+## Create DB
+echo "Creating DB"
+PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f db.sql
+PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f ddl.sql
+
+## Grants
+PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f grants.sql
+
+## Populate tables
+if [ ${DML_FLAG} == 1 ]
+then
+ echo `date "+%m/%d/%Y %H:%M:%S"` ": Deploying DML for ${MOSIP_DB_NAME} database"
+ PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -a -b -f dml.sql
+fi
+
diff --git a/db_scripts/mosip_prereg/dml/prereg-language_transliteration.csv b/db_scripts/mosip_prereg/dml/prereg-language_transliteration.csv
deleted file mode 100644
index 737fbadbfc3..00000000000
--- a/db_scripts/mosip_prereg/dml/prereg-language_transliteration.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-lang_from_code,lang_to_code,lang_id,cr_by,cr_dtimes
-eng,ara,Latin-Arabic,MOSIP_SYSTEM,now()
-fra,ara,Latin-Arabic,MOSIP_SYSTEM,now()
-ara,fra,Arabic-Latin,MOSIP_SYSTEM,now()
-ara,eng,Arabic-Latin,MOSIP_SYSTEM,now()
diff --git a/db_scripts/mosip_prereg/drop_db.sql b/db_scripts/mosip_prereg/drop_db.sql
new file mode 100644
index 00000000000..c41387fb527
--- /dev/null
+++ b/db_scripts/mosip_prereg/drop_db.sql
@@ -0,0 +1,2 @@
+DROP DATABASE IF EXISTS mosip_prereg;
+
diff --git a/db_scripts/mosip_prereg/drop_role.sql b/db_scripts/mosip_prereg/drop_role.sql
new file mode 100644
index 00000000000..19d72f927bf
--- /dev/null
+++ b/db_scripts/mosip_prereg/drop_role.sql
@@ -0,0 +1 @@
+drop role if exists prereguser;
diff --git a/db_scripts/mosip_prereg/grants.sql b/db_scripts/mosip_prereg/grants.sql
new file mode 100644
index 00000000000..9f09e86b947
--- /dev/null
+++ b/db_scripts/mosip_prereg/grants.sql
@@ -0,0 +1,17 @@
+\c mosip_prereg
+
+GRANT CONNECT
+ ON DATABASE mosip_prereg
+ TO prereguser;
+
+GRANT USAGE
+ ON SCHEMA prereg
+ TO prereguser;
+
+GRANT SELECT,INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES
+ ON ALL TABLES IN SCHEMA prereg
+ TO prereguser;
+
+ALTER DEFAULT PRIVILEGES IN SCHEMA prereg
+ GRANT SELECT,INSERT,UPDATE,DELETE,REFERENCES ON TABLES TO prereguser;
+
diff --git a/db_scripts/mosip_prereg/mosip_prereg_db_deploy.sh b/db_scripts/mosip_prereg/mosip_prereg_db_deploy.sh
deleted file mode 100644
index 8ed1429e145..00000000000
--- a/db_scripts/mosip_prereg/mosip_prereg_db_deploy.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-### -- ---------------------------------------------------------------------------------------------------------
-### -- Script Name : PRE-REG DB Artifacts deploy
-### -- Deploy Module : MOSIP PRE-REG
-### -- Purpose : To deploy MOSIP PRE-REG Database DB Artifacts.
-### -- Create By : Sadanandegowda DM
-### -- Created Date : 25-Oct-2019
-### --
-### -- Modified Date Modified By Comments / Remarks
-### -- -----------------------------------------------------------------------------------------------------------
-
-#########Properties file #############
-set -e
-properties_file="$1"
-echo `date "+%m/%d/%Y %H:%M:%S"` ": $properties_file"
-#properties_file="./app.properties"
-if [ -f "$properties_file" ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file \"$properties_file\" found."
- while IFS='=' read -r key value
- do
- key=$(echo $key | tr '.' '_')
- eval ${key}=\${value}
- done < "$properties_file"
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file not found, Pass property file name as argument."
-fi
-echo `date "+%m/%d/%Y %H:%M:%S"` ": ------------------ Database server and service status check for ${MOSIP_DB_NAME}------------------------"
-
-today=`date '+%d%m%Y_%H%M%S'`;
-LOG="${LOG_PATH}${MOSIP_DB_NAME}-${today}.log"
-touch $LOG
-
-SERVICE=$(PGPASSWORD=$SU_USER_PWD psql --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "select count(1) from pg_roles where rolname IN('sysadmin')";exit; > /dev/null)
-
-if [ "$SERVICE" -eq 0 ] || [ "$SERVICE" -eq 1 ]
-then
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Postgres database server and service is up and running" | tee -a $LOG 2>&1
-else
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Postgres database server or service is not running" | tee -a $LOG 2>&1
-fi
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": ----------------------------------------------------------------------------------------"
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Started sourcing the $MOSIP_DB_NAME Database scripts" | tee -a $LOG 2>&1
-#echo "date:" `date "+%m/%d/%Y %H:%M:%S"`
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Database scripts are sourcing from :$BASEPATH" | tee -a $LOG 2>&1
-
-#========================================DB Deployment process begins on PREREG DB SERVER======================================
-
-echo `date "+%m/%d/%Y %H:%M:%S"` ": Database deployment on $MOSIP_DB_NAME database is started...." | tee -a $LOG 2>&1
-cd /$BASEPATH/$MOSIP_DB_NAME/
-VALUE=$(PGPASSWORD=$SU_USER_PWD psql --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "select count(1) from pg_roles where rolname IN('sysadmin','appadmin','dbadmin')";exit; >> $LOG 2>&1)
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Checking for existing users.... Count of existing users:"$VALUE | tee -a $LOG 2>&1
-if [ ${VALUE} == 0 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Creating database users" | tee -a $LOG 2>&1
- PGPASSWORD=$SU_USER_PWD psql --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f $COMMON_ROLE_FILENAME -v sysadminpwd=\'$SYSADMIN_PWD\' -v dbadminpwd=\'$DBADMIN_PWD\' -v appadminpwd=\'$APPADMIN_PWD\' >> $LOG 2>&1
-elif [ ${VALUE} == 1 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Creating database users" | tee -a $LOG 2>&1
- PGPASSWORD=$SU_USER_PWD psql --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f $COMMON_ROLE_FILENAME -v sysadminpwd=\'$SYSADMIN_PWD\' -v dbadminpwd=\'$DBADMIN_PWD\' -v appadminpwd=\'$APPADMIN_PWD\' >> $LOG 2>&1
-elif [ ${VALUE} == 2 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Creating database users" | tee -a $LOG 2>&1
- PGPASSWORD=$SU_USER_PWD psql --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f $COMMON_ROLE_FILENAME -v sysadminpwd=\'$SYSADMIN_PWD\' -v dbadminpwd=\'$DBADMIN_PWD\' -v appadminpwd=\'$APPADMIN_PWD\' >> $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Database users already exist" | tee -a $LOG 2>&1
-fi
-
-CONN=$(PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "SELECT count(pg_terminate_backend(pg_stat_activity.pid)) FROM pg_stat_activity WHERE datname = '$MOSIP_DB_NAME' AND pid <> pg_backend_pid()";exit; >> $LOG 2>&1)
-
-if [ ${CONN} == 0 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": No active database connections exist on ${MOSIP_DB_NAME}" | tee -a $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Active connections exist on the database server and active connection will be terminated for DB deployment." | tee -a $LOG 2>&1
-fi
-
-MASTERCONN=$(PGPASSWORD=$SU_USER_PWD psql --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "select count(1) from pg_roles where rolname IN('prereguser')";exit; >> $LOG 2>&1)
-
-if [ ${MASTERCONN} == 0 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Creating prereg database user" | tee -a $LOG 2>&1
- PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f $APP_ROLE_FILENAME -v dbuserpwd=\'$DBUSER_PWD\' >> $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Prereg user already exist" | tee -a $LOG 2>&1
-fi
-PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f $DB_CREATION_FILENAME >> $LOG 2>&1
-PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f $ACCESS_GRANT_FILENAME >> $LOG 2>&1
-PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -f $DDL_FILENAME >> $LOG 2>&1
-
-if [ ${DML_FLAG} == 1 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Deploying DML for ${MOSIP_DB_NAME} database" | tee -a $LOG 2>&1
- PGPASSWORD=$SYSADMIN_PWD psql --username=$SYSADMIN_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -a -b -f $DML_FILENAME >> $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": There are no DML deployment required for ${MOSIP_DB_NAME}" | tee -a $LOG 2>&1
-fi
-
-if [ $(grep -c ERROR $LOG) -ne 0 ]
-then
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Database deployment is completed with ERRORS, Please check the logs for more information" | tee -a $LOG 2>&1
- echo `date "+%m/%d/%Y %H:%M:%S"` ": END of MOSIP database deployment" | tee -a $LOG 2>&1
-else
- echo `date "+%m/%d/%Y %H:%M:%S"` ": Database deployment completed successfully, Please check the logs for more information" | tee -a $LOG 2>&1
- echo `date "+%m/%d/%Y %H:%M:%S"` ": END of MOSIP \"${MOSIP_DB_NAME}\" database deployment" | tee -a $LOG 2>&1
-fi
-
-echo "******************************************"`date "+%m/%d/%Y %H:%M:%S"` "*****************************************************" >> $LOG 2>&1
diff --git a/db_scripts/mosip_prereg/mosip_prereg_ddl_deploy.sql b/db_scripts/mosip_prereg/mosip_prereg_ddl_deploy.sql
deleted file mode 100644
index 3414b4ea96b..00000000000
--- a/db_scripts/mosip_prereg/mosip_prereg_ddl_deploy.sql
+++ /dev/null
@@ -1,28 +0,0 @@
-\c mosip_prereg sysadmin
-
-\ir ddl/prereg-applicant_demographic.sql
-\ir ddl/prereg-applicant_demographic_consumed.sql
-\ir ddl/prereg-applicant_document.sql
-\ir ddl/prereg-applicant_document_consumed.sql
-\ir ddl/prereg-batch_job_execution.sql
-\ir ddl/prereg-batch_job_execution_context.sql
-\ir ddl/prereg-batch_job_execution_param.sql
-\ir ddl/prereg-batch_job_instance.sql
-\ir ddl/prereg-batch_step_execution.sql
-\ir ddl/prereg-batch_step_execution_context.sql
-\ir ddl/prereg-intf_processed_prereg_list.sql
-\ir ddl/prereg-pre_registration_transaction.sql
-\ir ddl/prereg-processed_prereg_list.sql
-\ir ddl/prereg-reg_appointment.sql
-\ir ddl/prereg-reg_appointment_consumed.sql
-\ir ddl/prereg-reg_available_slot.sql
-\ir ddl/prereg-transaction_type.sql
-\ir ddl/prereg-language_transliteration.sql
-\ir ddl/prereg-prid_seed.sql
-\ir ddl/prereg-prid_seq.sql
-\ir ddl/prereg-otp_transaction.sql
-\ir ddl/prereg-applications.sql
-
-
-\ir ddl/prereg-fk.sql
-\ir ddl/prereg-batch-fk.sql
diff --git a/db_scripts/mosip_prereg/mosip_prereg_deploy.properties b/db_scripts/mosip_prereg/mosip_prereg_deploy.properties
deleted file mode 100644
index 8f2879d2bd4..00000000000
--- a/db_scripts/mosip_prereg/mosip_prereg_deploy.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-DB_SERVERIP=
-DB_PORT=9001
-SU_USER=postgres
-SU_USER_PWD=
-DEFAULT_DB_NAME=postgres
-MOSIP_DB_NAME=mosip_prereg
-SYSADMIN_USER=sysadmin
-SYSADMIN_PWD=Mosipadm@dev123
-DBADMIN_PWD=Mosipadm@dev123
-APPADMIN_PWD=Mosipadm@dev123
-DBUSER_PWD=Mosip@dev123
-BASEPATH=/home/madmin/database/
-LOG_PATH=/home/madmin/logs/
-COMMON_ROLE_FILENAME=mosip_role_common.sql
-APP_ROLE_FILENAME=mosip_role_prereguser.sql
-DB_CREATION_FILENAME=mosip_prereg_db.sql
-ACCESS_GRANT_FILENAME=mosip_prereg_grants.sql
-DDL_FILENAME=mosip_prereg_ddl_deploy.sql
-DML_FLAG=0
-DML_FILENAME=mosip_prereg_dml_deploy.sql
diff --git a/db_scripts/mosip_prereg/mosip_prereg_dml_deploy.sql b/db_scripts/mosip_prereg/mosip_prereg_dml_deploy.sql
deleted file mode 100644
index ec8d5861d8d..00000000000
--- a/db_scripts/mosip_prereg/mosip_prereg_dml_deploy.sql
+++ /dev/null
@@ -1,31 +0,0 @@
-\c mosip_prereg sysadmin
-
-\set CSVDataPath '\'/home/dbadmin/mosip_prereg/'
-
--------------- Level 1 data load scripts ------------------------
-
------ TRUNCATE prereg.language_transliteration TABLE Data and It's reference Data and COPY Data from CSV file -----
-TRUNCATE TABLE prereg.language_transliteration cascade ;
-
-\COPY prereg.language_transliteration (lang_from_code,lang_to_code,lang_id,cr_by,cr_dtimes) FROM './dml/prereg-language_transliteration.csv' delimiter ',' HEADER csv;
-
-
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/db_scripts/mosip_prereg/mosip_prereg_grants.sql b/db_scripts/mosip_prereg/mosip_prereg_grants.sql
deleted file mode 100644
index eb7d8052c97..00000000000
--- a/db_scripts/mosip_prereg/mosip_prereg_grants.sql
+++ /dev/null
@@ -1,46 +0,0 @@
-\c mosip_prereg sysadmin
-
--- object: grant_b0ae4f0dce | type: PERMISSION --
-GRANT CREATE,CONNECT,TEMPORARY
- ON DATABASE mosip_prereg
- TO sysadmin;
--- ddl-end --
-
--- object: grant_99dd1cb062 | type: PERMISSION --
-GRANT CREATE,CONNECT,TEMPORARY
- ON DATABASE mosip_prereg
- TO appadmin;
--- ddl-end --
-
--- object: grant_18180691b7 | type: PERMISSION --
-GRANT CONNECT
- ON DATABASE mosip_prereg
- TO prereguser;
--- ddl-end --
-
--- object: grant_3543fb6cf7 | type: PERMISSION --
-GRANT CREATE,USAGE
- ON SCHEMA prereg
- TO sysadmin;
--- ddl-end --
-
--- object: grant_8e1a2559ed | type: PERMISSION --
-GRANT USAGE
- ON SCHEMA prereg
- TO prereguser;
--- ddl-end --
-
--- object: grant_8e1a2559ed | type: PERMISSION --
-GRANT SELECT,INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES
- ON ALL TABLES IN SCHEMA prereg
- TO prereguser;
--- ddl-end --
-
-ALTER DEFAULT PRIVILEGES IN SCHEMA prereg
- GRANT SELECT,INSERT,UPDATE,DELETE,REFERENCES ON TABLES TO prereguser;
-
--- object: grant_78ed2da4ee | type: PERMISSION --
-GRANT SELECT,INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES
- ON ALL TABLES IN SCHEMA prereg
- TO appadmin;
--- ddl-end --
diff --git a/db_scripts/mosip_prereg/mosip_role_common.sql b/db_scripts/mosip_prereg/mosip_role_common.sql
deleted file mode 100644
index 4e4c083c468..00000000000
--- a/db_scripts/mosip_prereg/mosip_role_common.sql
+++ /dev/null
@@ -1,31 +0,0 @@
--- object: sysadmin | type: ROLE --
---DROP ROLE IF EXISTS sysadmin;
-CREATE ROLE sysadmin WITH
- SUPERUSER
- CREATEDB
- CREATEROLE
- INHERIT
- LOGIN
- REPLICATION
- PASSWORD :sysadminpwd;
--- ddl-end --
-
--- object: dbadmin | type: ROLE --
---DROP ROLE IF EXISTS dbadmin;
-CREATE ROLE dbadmin WITH
- CREATEDB
- CREATEROLE
- INHERIT
- LOGIN
- REPLICATION
- PASSWORD :dbadminpwd;
--- ddl-end --
-
--- object: appadmin | type: ROLE --
---DROP ROLE IF EXISTS appadmin;
-CREATE ROLE appadmin WITH
- INHERIT
- LOGIN
- PASSWORD :appadminpwd;
--- ddl-end --
-
diff --git a/db_scripts/mosip_prereg/mosip_role_prereguser.sql b/db_scripts/mosip_prereg/mosip_role_prereguser.sql
deleted file mode 100644
index 1b165c43658..00000000000
--- a/db_scripts/mosip_prereg/mosip_role_prereguser.sql
+++ /dev/null
@@ -1,8 +0,0 @@
--- object: prereguser | type: ROLE --
--- DROP ROLE IF EXISTS prereguser;
-CREATE ROLE prereguser WITH
- INHERIT
- LOGIN
- PASSWORD :dbuserpwd;
--- ddl-end --
-
diff --git a/db_scripts/mosip_prereg/role_dbuser.sql b/db_scripts/mosip_prereg/role_dbuser.sql
new file mode 100644
index 00000000000..60dff8f64f0
--- /dev/null
+++ b/db_scripts/mosip_prereg/role_dbuser.sql
@@ -0,0 +1,4 @@
+CREATE ROLE prereguser WITH
+ INHERIT
+ LOGIN
+ PASSWORD :dbuserpwd;
diff --git a/db_release_scripts/README.MD b/db_upgrade_scripts/README.MD
similarity index 92%
rename from db_release_scripts/README.MD
rename to db_upgrade_scripts/README.MD
index bd1dbc624a6..fade53a3fa5 100644
--- a/db_release_scripts/README.MD
+++ b/db_upgrade_scripts/README.MD
@@ -85,11 +85,11 @@ Once completed with sourcing the database release files, Follow the DB release d
**Step 1** -> Make modification to all the respective database properties files **(<>_release_deploy.properties)** in the respective database directories. Path of properties file and variables list explained above. Once the properties files are ready then access the directory where the deployment script is kept.
-**Step 2** -> DB Release deployment for all databases, run the **"prereg_release_db_deploy.sh"** script with release version as parameter. To access and exeute **"prereg_release_db_deploy.sh"** script, follow the below given sample commands:
+**Step 2** -> DB Release deployment for all databases, run the **"deploy.sh"** script with release version as parameter. To access and exeute **"deploy.sh"** script, follow the below given sample commands:
**Enter:-bash-4.2$** cd /home/madmin/database_release/mosip_prereg
- **Enter:-bash-4.2$** bash prereg_release_db_deploy.sh prereg_release_deploy.properties
+ **Enter:-bash-4.2$** bash deploy.sh deploy.properties
**Step 3** -> Please observe Post Release Deployment Validation steps below
@@ -98,11 +98,11 @@ Once completed with sourcing the database release files, Follow the DB release d
## DB deployment revoke: (Optional: Execute only if db version release deployment revoking required)
-**Step 1** -> DB Revoke deployment for all databases, run the **"prereg_revoke_db_deploy.sh"** script with release version as parameter. To access and exeute **"prereg_revoke_db_deploy.sh "** script, follow the below given commands:
+**Step 1** -> DB Revoke deployment for all databases, run the **"revoke.sh"** script with release version as parameter. To access and exeute **"revoke.sh "** script, follow the below given commands:
**Enter:-bash-4.2$** cd /home/madmin/database_release/mosip_prereg
- **Enter:-bash-4.2$** bash prereg_revoke_db_deploy.sh prereg_release_deploy.propertie
+ **Enter:-bash-4.2$** bash revoke.sh deploy.properties
**Step 2** -> Please observe Post Release Deployment Validation steps below
diff --git a/db_upgrade_scripts/mosip_prereg/sql/1.1.5.5_to_1.2.0.1-B1_rollback.sql b/db_upgrade_scripts/mosip_prereg/sql/1.1.5.5_to_1.2.0.1-B1_rollback.sql
new file mode 100644
index 00000000000..a6bcaacffc1
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/sql/1.1.5.5_to_1.2.0.1-B1_rollback.sql
@@ -0,0 +1,12 @@
+\c mosip_prereg
+
+REASSIGN OWNED BY postgres TO sysadmin;
+
+GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA prereg TO sysadmin;
+
+DROP TABLE IF EXISTS prereg.applications;
+DROP TABLE IF EXISTS prereg.anonymous_profile;
+
+ALTER TABLE prereg.reg_appointment ADD CONSTRAINT fk_rappmnt_id FOREIGN KEY (prereg_id)
+REFERENCES prereg.applicant_demographic(prereg_id) MATCH SIMPLE
+ON DELETE NO ACTION ON UPDATE NO ACTION;
diff --git a/db_upgrade_scripts/mosip_prereg/sql/1.1.5.5_to_1.2.0.1-B1_upgrade.sql b/db_upgrade_scripts/mosip_prereg/sql/1.1.5.5_to_1.2.0.1-B1_upgrade.sql
new file mode 100644
index 00000000000..f4a9502b913
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/sql/1.1.5.5_to_1.2.0.1-B1_upgrade.sql
@@ -0,0 +1,67 @@
+\c mosip_prereg
+
+REASSIGN OWNED BY sysadmin TO postgres;
+
+REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA prereg FROM prereguser;
+
+REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA prereg FROM sysadmin;
+
+GRANT SELECT, INSERT, TRUNCATE, REFERENCES, UPDATE, DELETE ON ALL TABLES IN SCHEMA prereg TO prereguser;
+
+GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA prereg TO postgres;
+
+CREATE TABLE IF NOT EXISTS prereg.applications(
+ application_id character varying(36) NOT NULL,
+ booking_type character varying(256) NOT NULL,
+ booking_status_code character varying(256),
+ application_status_code character varying(256),
+ regcntr_id character varying(10),
+ appointment_date date,
+ booking_date date,
+ slot_from_time time without time zone,
+ slot_to_time time without time zone,
+ contact_info character varying(256),
+ cr_by character varying(256) NOT NULL,
+ cr_dtimes timestamp without time zone NOT NULL,
+ upd_by character varying(256),
+ upd_dtimes timestamp without time zone,
+ CONSTRAINT appid_pk PRIMARY KEY (application_id)
+);
+
+GRANT SELECT,INSERT,UPDATE,DELETE,REFERENCES ON prereg.applications TO prereguser;
+
+CREATE TABLE IF NOT EXISTS prereg.anonymous_profile
+(
+ id character varying(36) NOT NULL,
+ profile character varying NOT NULL,
+ cr_by character varying(256) NOT NULL,
+ cr_dtimes timestamp without time zone NOT NULL,
+ upd_by character varying(256),
+ upd_dtimes timestamp without time zone,
+ is_deleted boolean,
+ del_dtimes timestamp without time zone,
+ CONSTRAINT anonymous_profile_pkey PRIMARY KEY (id)
+);
+
+GRANT SELECT,INSERT,UPDATE,DELETE,REFERENCES ON prereg.anonymous_profile TO prereguser;
+
+ALTER TABLE prereg.reg_appointment DROP CONSTRAINT IF EXISTS fk_rappmnt_id CASCADE;
+
+CREATE INDEX IF NOT EXISTS idx_app_demo_cr_by ON prereg.applicant_demographic USING btree (cr_by COLLATE pg_catalog."default" ASC NULLS LAST) TABLESPACE pg_default;
+CREATE INDEX IF NOT EXISTS idx_app_demo_prid ON prereg.applicant_demographic USING btree (prereg_id COLLATE pg_catalog."default" ASC NULLS LAST) TABLESPACE pg_default;
+
+ALTER TABLE prereg.prid_seq RENAME TO prid_seq_to_be_deleted;
+ALTER TABLE prereg.transaction_type RENAME TO transaction_type_to_be_deleted;
+ALTER TABLE prereg.language_transliteration RENAME TO language_transliteration_to_be_deleted;
+ALTER TABLE prereg.prid_seed RENAME TO prid_seed_to_be_deleted;
+ALTER TABLE prereg.pre_registration_transaction RENAME TO pre_registration_transaction_to_be_deleted;
+ALTER TABLE prereg.processed_prereg_list DROP CONSTRAINT IF EXISTS pprlst_pregtrn_fk CASCADE;
+
+INSERT INTO prereg.applications(application_id, booking_type, booking_status_code, regcntr_id, appointment_date, booking_date,
+ slot_from_time, slot_to_time, contact_info, cr_by, cr_dtimes, upd_by, upd_dtimes, application_status_code)
+ Select t1.prereg_id, 'NEW_PREREGISTRATION', t1.status_code, t2.regcntr_id, t2.appointment_date,
+ t2.booking_dtimes, t2.slot_from_time, t2.slot_to_time, t1.cr_appuser_id, t1.cr_by, t1.cr_dtimes, t1.upd_by, t1.upd_dtimes,
+ Case When t1.status_code='Application_Incomplete' THEN 'DRAFT' Else 'SUBMITTED' End
+ From prereg.applicant_demographic t1
+ LEFT Join prereg.reg_appointment t2 On t1.prereg_id=t2.prereg_id;
+
diff --git a/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B1_to_1.2.0.1-B2_rollback.sql b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B1_to_1.2.0.1-B2_rollback.sql
new file mode 100644
index 00000000000..5548b94e9cb
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B1_to_1.2.0.1-B2_rollback.sql
@@ -0,0 +1 @@
+\echo 'Upgrade Queries not required for transition from $CURRENT_VERSION to $UPGRADE_VERSION'
diff --git a/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B1_to_1.2.0.1-B2_upgrade.sql b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B1_to_1.2.0.1-B2_upgrade.sql
new file mode 100644
index 00000000000..5548b94e9cb
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B1_to_1.2.0.1-B2_upgrade.sql
@@ -0,0 +1 @@
+\echo 'Upgrade Queries not required for transition from $CURRENT_VERSION to $UPGRADE_VERSION'
diff --git a/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B2_to_1.2.0.1_rollback.sql b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B2_to_1.2.0.1_rollback.sql
new file mode 100644
index 00000000000..5548b94e9cb
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B2_to_1.2.0.1_rollback.sql
@@ -0,0 +1 @@
+\echo 'Upgrade Queries not required for transition from $CURRENT_VERSION to $UPGRADE_VERSION'
diff --git a/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B2_to_1.2.0.1_upgrade.sql b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B2_to_1.2.0.1_upgrade.sql
new file mode 100644
index 00000000000..5548b94e9cb
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1-B2_to_1.2.0.1_upgrade.sql
@@ -0,0 +1 @@
+\echo 'Upgrade Queries not required for transition from $CURRENT_VERSION to $UPGRADE_VERSION'
diff --git a/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1_to_1_revoke.sql b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1_to_1_revoke.sql
new file mode 100644
index 00000000000..04876d6c667
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1_to_1_revoke.sql
@@ -0,0 +1,22 @@
+-- ------------------------------------------------------------------------------------------
+-- Revoke script for Migrating Spring batch version to 5.0 as part of Java 21 Migration.
+-- References:
+-- 1. https://github.com/spring-projects/spring-batch/wiki/Spring-Batch-5.0-Migration-Guide#ms-sqlserver
+-- 2. https://github.com/spring-projects/spring-batch/blob/main/spring-batch-core/src/main/resources/org/springframework/batch/core/migration/5.0/migration-postgresql.sql
+-- ------------------------------------------------------------------------------------------
+ALTER TABLE BATCH_STEP_EXECUTION DROP CREATE_TIME TIMESTAMP NOT NULL DEFAULT '1970-01-01 00:00:00';
+ALTER TABLE BATCH_STEP_EXECUTION ALTER COLUMN START_TIME ADD NULL;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ADD COLUMN DATE_VAL;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ADD COLUMN LONG_VAL;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ADD COLUMN DOUBLE_VAL;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN TYPE_CD TYPE VARCHAR(6);
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS RENAME PARAMETER_TYPE TO TYPE_CD;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN KEY_NAME TYPE VARCHAR(100);
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS RENAME PARAMETER_NAME TO KEY_NAME;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN STRING_VAL TYPE VARCHAR(250);
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS RENAME PARAMETER_VALUE TO STRING_VAL;
+ALTER TABLE BATCH_JOB_EXECUTION ADD COLUMN JOB_CONFIGURATION_LOCATION;
+
+DROP SEQUENCE BATCH_STEP_EXECUTION_SEQ;
+DROP SEQUENCE BATCH_JOB_EXECUTION_SEQ;
+DROP SEQUENCE BATCH_JOB_SEQ;
\ No newline at end of file
diff --git a/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1_to_1_upgrade.sql b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1_to_1_upgrade.sql
new file mode 100644
index 00000000000..91ffdc28ab0
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/sql/1.2.0.1_to_1_upgrade.sql
@@ -0,0 +1,22 @@
+-- ------------------------------------------------------------------------------------------
+-- Upgrade script for Migrating Spring batch version to 5.0 as part of Java 21 Migration.
+-- References:
+-- 1. https://github.com/spring-projects/spring-batch/wiki/Spring-Batch-5.0-Migration-Guide#ms-sqlserver
+-- 2. https://github.com/spring-projects/spring-batch/blob/main/spring-batch-core/src/main/resources/org/springframework/batch/core/migration/5.0/migration-postgresql.sql
+-- ------------------------------------------------------------------------------------------
+ALTER TABLE BATCH_STEP_EXECUTION ADD CREATE_TIME TIMESTAMP NOT NULL DEFAULT '1970-01-01 00:00:00';
+ALTER TABLE BATCH_STEP_EXECUTION ALTER COLUMN START_TIME DROP NOT NULL;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS DROP COLUMN DATE_VAL;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS DROP COLUMN LONG_VAL;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS DROP COLUMN DOUBLE_VAL;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN TYPE_CD TYPE VARCHAR(100);
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS RENAME TYPE_CD TO PARAMETER_TYPE;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN KEY_NAME TYPE VARCHAR(100);
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS RENAME KEY_NAME TO PARAMETER_NAME;
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN STRING_VAL TYPE VARCHAR(2500);
+ALTER TABLE BATCH_JOB_EXECUTION_PARAMS RENAME STRING_VAL TO PARAMETER_VALUE;
+ALTER TABLE BATCH_JOB_EXECUTION DROP COLUMN JOB_CONFIGURATION_LOCATION;
+
+CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ START WITH 0 MINVALUE 0 MAXVALUE 9223372036854775807 NO CYCLE;
+CREATE SEQUENCE BATCH_JOB_EXECUTION_SEQ START WITH 0 MINVALUE 0 MAXVALUE 9223372036854775807 NO CYCLE;
+CREATE SEQUENCE BATCH_JOB_SEQ START WITH 0 MINVALUE 0 MAXVALUE 9223372036854775807 NO CYCLE;
\ No newline at end of file
diff --git a/db_upgrade_scripts/mosip_prereg/upgrade.properties b/db_upgrade_scripts/mosip_prereg/upgrade.properties
new file mode 100644
index 00000000000..6226f1194f0
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/upgrade.properties
@@ -0,0 +1,12 @@
+MOSIP_DB_NAME=
+DB_SERVERIP=
+DB_PORT=
+SU_USER=postgres
+SU_USER_PWD=
+SYS_ADMIN_USER=
+SYS_ADMIN_PWD=
+DEFAULT_DB_NAME=postgres
+DBUSER_PWD=
+ACTION=
+CURRENT_VERSION=
+UPGRADE_VERSION=
diff --git a/db_upgrade_scripts/mosip_prereg/upgrade.sh b/db_upgrade_scripts/mosip_prereg/upgrade.sh
new file mode 100644
index 00000000000..1e0619e00c6
--- /dev/null
+++ b/db_upgrade_scripts/mosip_prereg/upgrade.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+set -e
+properties_file="$1"
+echo `date "+%m/%d/%Y %H:%M:%S"` ": $properties_file"
+if [ -f "$properties_file" ]
+then
+ echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file \"$properties_file\" found."
+ while IFS='=' read -r key value
+ do
+ key=$(echo $key | tr '.' '_')
+ eval ${key}=\${value}
+ done < "$properties_file"
+else
+ echo `date "+%m/%d/%Y %H:%M:%S"` ": Property file not found, Pass property file name as argument."
+fi
+
+echo "Current version: $CURRENT_VERSION"
+echo "UPGRADE version: $UPGRADE_VERSION"
+echo "Action: $ACTION"
+
+# Terminate existing connections
+echo "Terminating active connections"
+CONN=$(PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -t -c "SELECT count(pg_terminate_backend(pg_stat_activity.pid)) FROM pg_stat_activity WHERE datname = '$MOSIP_DB_NAME' AND pid <> pg_backend_pid()";exit;)
+echo "Terminated connections"
+
+# Execute upgrade or rollback
+if [ "$ACTION" == "upgrade" ]; then
+ echo "Upgrading database from $CURRENT_VERSION to $UPGRADE_VERSION"
+ UPGRADE_SCRIPT_FILE="sql/${CURRENT_VERSION}_to_${UPGRADE_VERSION}_upgrade.sql"
+ if [ -f "$UPGRADE_SCRIPT_FILE" ]; then
+ echo "Executing upgrade script $UPGRADE_SCRIPT_FILE"
+ PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -a -b -f $UPGRADE_SCRIPT_FILE
+ else
+ echo "Upgrade script not found, exiting."
+ exit 1
+ fi
+elif [ "$ACTION" == "rollback" ]; then
+ echo "Rolling back database for $CURRENT_VERSION to $UPGRADE_VERSION"
+ REVOKE_SCRIPT_FILE="sql/${CURRENT_VERSION}_to_${UPGRADE_VERSION}_rollback.sql"
+ if [ -f "$REVOKE_SCRIPT_FILE" ]; then
+ echo "Executing rollback script $REVOKE_SCRIPT_FILE"
+ PGPASSWORD=$SU_USER_PWD psql -v ON_ERROR_STOP=1 --username=$SU_USER --host=$DB_SERVERIP --port=$DB_PORT --dbname=$DEFAULT_DB_NAME -a -b -f $REVOKE_SCRIPT_FILE
+ else
+ echo "rollback script not found, exiting."
+ exit 1
+ fi
+else
+ echo "Unknown action: $ACTION, must be 'upgrade' or 'rollback'."
+ exit 1
+fi
\ No newline at end of file
diff --git a/design/README.md b/design/README.md
deleted file mode 100644
index 743523de60c..00000000000
--- a/design/README.md
+++ /dev/null
@@ -1 +0,0 @@
-This section has detailed design of all MOSIP modules
diff --git a/design/data_model/_images/mosip_prereg.png b/design/data_model/_images/mosip_prereg.png
deleted file mode 100644
index 9c020692bf8..00000000000
Binary files a/design/data_model/_images/mosip_prereg.png and /dev/null differ
diff --git a/design/data_model/_sources/mosip_prereg.dbm b/design/data_model/_sources/mosip_prereg.dbm
deleted file mode 100644
index 943d6090fec..00000000000
--- a/design/data_model/_sources/mosip_prereg.dbm
+++ /dev/null
@@ -1,1451 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/design/data_model/mosip_prereg_dd.xlsx b/design/data_model/mosip_prereg_dd.xlsx
deleted file mode 100644
index 2b92f26e391..00000000000
Binary files a/design/data_model/mosip_prereg_dd.xlsx and /dev/null differ
diff --git a/design/pre-registration/_images/Batchjob/AvailabilityJob.jpg b/design/pre-registration/_images/Batchjob/AvailabilityJob.jpg
deleted file mode 100644
index db492266ce1..00000000000
Binary files a/design/pre-registration/_images/Batchjob/AvailabilityJob.jpg and /dev/null differ
diff --git a/design/pre-registration/_images/Batchjob/BatchClassDiagram.jpg b/design/pre-registration/_images/Batchjob/BatchClassDiagram.jpg
deleted file mode 100644
index e788eec613f..00000000000
Binary files a/design/pre-registration/_images/Batchjob/BatchClassDiagram.jpg and /dev/null differ
diff --git a/design/pre-registration/_images/Batchjob/ConsumedStatusJob.jpg b/design/pre-registration/_images/Batchjob/ConsumedStatusJob.jpg
deleted file mode 100644
index 12c4d8fa27f..00000000000
Binary files a/design/pre-registration/_images/Batchjob/ConsumedStatusJob.jpg and /dev/null differ
diff --git a/design/pre-registration/_images/Batchjob/ExpiredStatusJob.jpg b/design/pre-registration/_images/Batchjob/ExpiredStatusJob.jpg
deleted file mode 100644
index 98b9b067856..00000000000
Binary files a/design/pre-registration/_images/Batchjob/ExpiredStatusJob.jpg and /dev/null differ
diff --git a/design/pre-registration/_images/MOSIP_Pre-Registration.png b/design/pre-registration/_images/MOSIP_Pre-Registration.png
deleted file mode 100644
index 86c34f63ebe..00000000000
Binary files a/design/pre-registration/_images/MOSIP_Pre-Registration.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/booking-book.png b/design/pre-registration/_images/_class_diagram/booking-book.png
deleted file mode 100644
index d68b34b03ed..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/booking-book.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/booking-cancel.png b/design/pre-registration/_images/_class_diagram/booking-cancel.png
deleted file mode 100644
index 3886e04c662..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/booking-cancel.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/booking-rebook.png b/design/pre-registration/_images/_class_diagram/booking-rebook.png
deleted file mode 100644
index 89966fa6315..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/booking-rebook.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/booking-regCenter-avilability.png b/design/pre-registration/_images/_class_diagram/booking-regCenter-avilability.png
deleted file mode 100644
index 8398dfc8391..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/booking-regCenter-avilability.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/data-sync-service-consumed.png b/design/pre-registration/_images/_class_diagram/data-sync-service-consumed.png
deleted file mode 100644
index 4377ba8fa68..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/data-sync-service-consumed.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/data-sync-service.png b/design/pre-registration/_images/_class_diagram/data-sync-service.png
deleted file mode 100644
index fd01998a89f..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/data-sync-service.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/demographic-service.png b/design/pre-registration/_images/_class_diagram/demographic-service.png
deleted file mode 100644
index 91caa443ce4..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/demographic-service.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/document-service.png b/design/pre-registration/_images/_class_diagram/document-service.png
deleted file mode 100644
index 89e75d7b995..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/document-service.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/generateQRCode.png b/design/pre-registration/_images/_class_diagram/generateQRCode.png
deleted file mode 100644
index cbf514bbc25..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/generateQRCode.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/login-config.png b/design/pre-registration/_images/_class_diagram/login-config.png
deleted file mode 100644
index 400a46b9c70..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/login-config.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/login-invalidateToken.png b/design/pre-registration/_images/_class_diagram/login-invalidateToken.png
deleted file mode 100644
index ca492556b34..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/login-invalidateToken.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/login-sendOtp.png b/design/pre-registration/_images/_class_diagram/login-sendOtp.png
deleted file mode 100644
index 5a8408fc47b..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/login-sendOtp.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/login-validateOtp.png b/design/pre-registration/_images/_class_diagram/login-validateOtp.png
deleted file mode 100644
index 6e1a49b7725..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/login-validateOtp.png and /dev/null differ
diff --git a/design/pre-registration/_images/_class_diagram/notification-notify.png b/design/pre-registration/_images/_class_diagram/notification-notify.png
deleted file mode 100644
index f05255336cb..00000000000
Binary files a/design/pre-registration/_images/_class_diagram/notification-notify.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/QRcodeGenerate-generate.png b/design/pre-registration/_images/_sequence_diagram/QRcodeGenerate-generate.png
deleted file mode 100644
index aeffa23504e..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/QRcodeGenerate-generate.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/batchjob-service-availability-sync.png b/design/pre-registration/_images/_sequence_diagram/batchjob-service-availability-sync.png
deleted file mode 100644
index f7230bd409d..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/batchjob-service-availability-sync.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/batchjob-service-consumed.png b/design/pre-registration/_images/_sequence_diagram/batchjob-service-consumed.png
deleted file mode 100644
index 6dbffe8fa7d..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/batchjob-service-consumed.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/batchjob-service-expired.png b/design/pre-registration/_images/_sequence_diagram/batchjob-service-expired.png
deleted file mode 100644
index a7f0e101c09..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/batchjob-service-expired.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/booking-RC-availability.png b/design/pre-registration/_images/_sequence_diagram/booking-RC-availability.png
deleted file mode 100644
index fa4c83e9677..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/booking-RC-availability.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/booking-book.png b/design/pre-registration/_images/_sequence_diagram/booking-book.png
deleted file mode 100644
index ad2f1219946..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/booking-book.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/booking-cancel.png b/design/pre-registration/_images/_sequence_diagram/booking-cancel.png
deleted file mode 100644
index 51e698f4d4e..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/booking-cancel.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/booking-rebook.png b/design/pre-registration/_images/_sequence_diagram/booking-rebook.png
deleted file mode 100644
index 097d743a44a..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/booking-rebook.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/booking-reterive-preRegIds.png b/design/pre-registration/_images/_sequence_diagram/booking-reterive-preRegIds.png
deleted file mode 100644
index b1754bd6ffd..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/booking-reterive-preRegIds.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/booking-retrieve-bookingDetails.png b/design/pre-registration/_images/_sequence_diagram/booking-retrieve-bookingDetails.png
deleted file mode 100644
index bf883f4a47d..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/booking-retrieve-bookingDetails.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/dataSync-consumed-preRegId.png b/design/pre-registration/_images/_sequence_diagram/dataSync-consumed-preRegId.png
deleted file mode 100644
index 6f02a2ec9ed..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/dataSync-consumed-preRegId.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/dataSync-retrieve-all-preRegIds.png b/design/pre-registration/_images/_sequence_diagram/dataSync-retrieve-all-preRegIds.png
deleted file mode 100644
index 8d19bed3d78..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/dataSync-retrieve-all-preRegIds.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/dataSync-retrieve-data.png b/design/pre-registration/_images/_sequence_diagram/dataSync-retrieve-data.png
deleted file mode 100644
index 2812c531743..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/dataSync-retrieve-data.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/demographic-create.png b/design/pre-registration/_images/_sequence_diagram/demographic-create.png
deleted file mode 100644
index 7c78f749398..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/demographic-create.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/demographic-delete.png b/design/pre-registration/_images/_sequence_diagram/demographic-delete.png
deleted file mode 100644
index 93de8259c02..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/demographic-delete.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/demographic-retrieve-by-preRegId.png b/design/pre-registration/_images/_sequence_diagram/demographic-retrieve-by-preRegId.png
deleted file mode 100644
index f1979a39dae..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/demographic-retrieve-by-preRegId.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/demographic-retrieve-by-userId.png b/design/pre-registration/_images/_sequence_diagram/demographic-retrieve-by-userId.png
deleted file mode 100644
index f7dd8af3061..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/demographic-retrieve-by-userId.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/demographic-retrieve-status.png b/design/pre-registration/_images/_sequence_diagram/demographic-retrieve-status.png
deleted file mode 100644
index 484120d861a..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/demographic-retrieve-status.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/demographic-update-status.png b/design/pre-registration/_images/_sequence_diagram/demographic-update-status.png
deleted file mode 100644
index 865a82194d3..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/demographic-update-status.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/demographic-update.png b/design/pre-registration/_images/_sequence_diagram/demographic-update.png
deleted file mode 100644
index 1c0547dc450..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/demographic-update.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/document-copy.png b/design/pre-registration/_images/_sequence_diagram/document-copy.png
deleted file mode 100644
index 2e8f93854ce..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/document-copy.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/document-delete-by-documentId.png b/design/pre-registration/_images/_sequence_diagram/document-delete-by-documentId.png
deleted file mode 100644
index f41c8c86295..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/document-delete-by-documentId.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/document-delete-preRegId.png b/design/pre-registration/_images/_sequence_diagram/document-delete-preRegId.png
deleted file mode 100644
index a149059cc0a..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/document-delete-preRegId.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/document-retrieve-by-documentId.png b/design/pre-registration/_images/_sequence_diagram/document-retrieve-by-documentId.png
deleted file mode 100644
index a2ff4abb431..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/document-retrieve-by-documentId.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/document-retrieve-by-preRegId.png b/design/pre-registration/_images/_sequence_diagram/document-retrieve-by-preRegId.png
deleted file mode 100644
index 24b0dd1388a..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/document-retrieve-by-preRegId.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/document-upload.png b/design/pre-registration/_images/_sequence_diagram/document-upload.png
deleted file mode 100644
index a8d901ca89f..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/document-upload.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/login-config.png b/design/pre-registration/_images/_sequence_diagram/login-config.png
deleted file mode 100644
index 2854e294209..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/login-config.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/login-invalidateToken.png b/design/pre-registration/_images/_sequence_diagram/login-invalidateToken.png
deleted file mode 100644
index 1a0a909c311..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/login-invalidateToken.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/login-sendOtp.png b/design/pre-registration/_images/_sequence_diagram/login-sendOtp.png
deleted file mode 100644
index 345f9945b35..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/login-sendOtp.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/login-validateOTP.png b/design/pre-registration/_images/_sequence_diagram/login-validateOTP.png
deleted file mode 100644
index b3747601213..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/login-validateOTP.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/notification-notify.png b/design/pre-registration/_images/_sequence_diagram/notification-notify.png
deleted file mode 100644
index 35d0b3c4eb9..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/notification-notify.png and /dev/null differ
diff --git a/design/pre-registration/_images/_sequence_diagram/transliteration-transliterate.png b/design/pre-registration/_images/_sequence_diagram/transliteration-transliterate.png
deleted file mode 100644
index df5b292456d..00000000000
Binary files a/design/pre-registration/_images/_sequence_diagram/transliteration-transliterate.png and /dev/null differ
diff --git a/design/pre-registration/_images/deployment_arch.jpg b/design/pre-registration/_images/deployment_arch.jpg
deleted file mode 100644
index e06cef3a48f..00000000000
Binary files a/design/pre-registration/_images/deployment_arch.jpg and /dev/null differ
diff --git a/design/pre-registration/_images/preregd_booking_component.png b/design/pre-registration/_images/preregd_booking_component.png
deleted file mode 100644
index 643d90093c5..00000000000
Binary files a/design/pre-registration/_images/preregd_booking_component.png and /dev/null differ
diff --git a/design/pre-registration/_images/preregd_datasyncch.png b/design/pre-registration/_images/preregd_datasyncch.png
deleted file mode 100644
index bd7ac8a452d..00000000000
Binary files a/design/pre-registration/_images/preregd_datasyncch.png and /dev/null differ
diff --git a/design/pre-registration/_images/preregd_sec_arch.png b/design/pre-registration/_images/preregd_sec_arch.png
deleted file mode 100644
index ffee0907fde..00000000000
Binary files a/design/pre-registration/_images/preregd_sec_arch.png and /dev/null differ
diff --git a/design/pre-registration/_images/preregd_tech_flow.png b/design/pre-registration/_images/preregd_tech_flow.png
deleted file mode 100644
index 16a0f331b9d..00000000000
Binary files a/design/pre-registration/_images/preregd_tech_flow.png and /dev/null differ
diff --git a/design/pre-registration/_images/usecase_preregistration.jpg b/design/pre-registration/_images/usecase_preregistration.jpg
deleted file mode 100644
index 75de8180980..00000000000
Binary files a/design/pre-registration/_images/usecase_preregistration.jpg and /dev/null differ
diff --git a/design/pre-registration/_sources/GenerateQRCode-Service.xml b/design/pre-registration/_sources/GenerateQRCode-Service.xml
deleted file mode 100644
index 400d2a73686..00000000000
--- a/design/pre-registration/_sources/GenerateQRCode-Service.xml
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/design/pre-registration/_sources/_vd/MOSIP_Pre_Reg_For Morroco.xd b/design/pre-registration/_sources/_vd/MOSIP_Pre_Reg_For Morroco.xd
deleted file mode 100644
index 4e474c4d20e..00000000000
Binary files a/design/pre-registration/_sources/_vd/MOSIP_Pre_Reg_For Morroco.xd and /dev/null differ
diff --git a/design/pre-registration/_sources/_vd/MOSIP_Pre_Reg_Full.xd b/design/pre-registration/_sources/_vd/MOSIP_Pre_Reg_Full.xd
deleted file mode 100644
index 58059054777..00000000000
Binary files a/design/pre-registration/_sources/_vd/MOSIP_Pre_Reg_Full.xd and /dev/null differ
diff --git a/design/pre-registration/_sources/batchjob-service.xml b/design/pre-registration/_sources/batchjob-service.xml
deleted file mode 100644
index b5d483ce358..00000000000
--- a/design/pre-registration/_sources/batchjob-service.xml
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/design/pre-registration/_sources/booking-service.xml b/design/pre-registration/_sources/booking-service.xml
deleted file mode 100644
index 05636e65a20..00000000000
--- a/design/pre-registration/_sources/booking-service.xml
+++ /dev/null
@@ -1 +0,0 @@
-7VxZc6M4EP41rpp5GBdCEsdjnGN39pqtePZ62pKxYrORkRfkHPvrV2CBQQKMHXAmM/aDYxpdqL/+1Go1GcHL1dN3MVkvf+Zzyka2NX8awauRbQMXWPJPKnneSlzf2woWcThXhXaCafgfVUJVb7EJ5zSpFBScMxGuq8KARxENREVG4pg/VovdcVbtdU0W1BBMA8JM6R/hXCyVFFjW7sb3NFwsVdceVjdmJLhfxHwTqf5GNrzLPtvbK5K3pconSzLnjyURvB7By5hzsf21erqkLJ3bfNq29W4a7hbjjmkkulSw3W2NB8I2NB9yNjDxnE9G9jg0rWCN4ORxGQo6XZMgvfso1S9lS7Fi8grIn6o5Ggv61DgmUDypRBDlKyriZ1lEVcDA31ZR4IFAgedxpwqcN7ssaQEiNXii1L8o2t5NgfyhZqF+RtwZmREQoFlgu3doZn2wzRmCFxPO78NoMaXxQyhnQp8yqdZ1+nOzYj+Fd5SFkbyarGkcyvHQWN5hSvzrTrZvaiXYBZFV4uKaMbJOwlnWa6qbmAabOAkf6C1NtjaVSvlGpD1dFraSFS2UmjZVwNDK2l2FgfrNyIyySQHqS8542n3EswdKRMzvaS6UWLeyT3Ent520i7uQsVLJm+yTyuVT3ZBVyFJt/07jOYmIEiteALa6ruuIsHARSVkgwZVNYgPaajDZCEDkWRUA5pcl/IHcgMv4c/KCveIv58Q2Ey2hZM3DSGT948kIX2mw47FY8gWPCCsDr2rhXzUYGs27MzowroADgBp01IAD+UOAA7aQ0y1d8yQUXHVx5qcvFJIH85Nr7+cndDp+qsHgmZ964yd4KDqcKj9BF3biJ4gHwAaqo6eLBxJKVYUsFM9njnobsDyYo3y8n6Pw6TjKOXPUgByFDkWHWwWHjd1OHGV7A2DDa3GhpL3LeWdMTsSZnr5gRB5MTzoC6+gJnoye/DM7DchO3qHgcKrYKKJ+e9gJ24Ps8Mztf0zFJo6kTHLAmkcJvfr8qQ0w6ZOHAWEXavJmXAi+kjdoNL9Io6UpbNZU3prMSbIsKEPeVjrx9mKjo17pfEGnapCUzfjj9U4wyQTyRj7eNlNPG2rVZUwZEZInK7XqNKOq/ppa1Q4DEIEKCAzDFyReUKFq7fQr55M8l4opY23ux3dr+7npWh60l0dAK6+morE8tCvlseNr8N0+YX1tDHH7rCV8EwfUmLXMKgrlHenj5YvAzlBmchV/t47lWrkIJUVJPPDo43xky8YdJvE0mcl13Vmkv4qYyb8bmghpUO9falEzxoP7TCSf6U9FsNnFX53Y9tQWtVVN+wq1BX2TAqzTmCbS+dlHQ4HM3DbIxy/vX68jIb/fDYeeV8FIAdkP1tgCoILbseUUgpKHkQG6K1vvA5LTujyng7JshcgXYgkjp4IlCP1OWDIaApZVRSVEWkClpwUDa4cT+YibBobdYcubD76nguvr5d0uK0w+P/zuLqEvteuaM5XCqUrNu2Ldb8S1ejVXCSMt4ujgcTfs14DJRmOzNeSXPkNxvRmrTMgDnW2ZPfUiMs/h9vLv7O/VZ/mVMC6+EqaXnOrbGtHbQ/M8HAiPVU5HuJt/YDKVRoUIw2Eo3egHNTPiEcjGzWSnHJdTER19CsUWbbbjqusUbECu6Kg3G5CNdkZsq9ebH20Nz6DVjBfkeZ2AZiIW6fSJERx7UK6xyJIuCXQ1Yu6PPoEZR/3to4Goc9T0lSNlL8rMQvuDptZQQVNwDpIOrHqvXfdVXvFQje5N1WPsvFz1tumtyypknel4lT6AbMmdmIEe98oM9Lz7YfrpF9nYp9k/0ujftvfW4HR1MOgXLli+lgPl+mPo2RDbPgLAdZCm9K4OF4RaZKdj0PWI5co2o4UGFEpqDhhJkpQByutO7s2AsSSnnTNjjYGD1PXVkyKN7OK5dFHvoRyjy3JabJ0JKlnPXrUNwHFKNhpCw0TWcU5R2oAbx6WXR5XI+ou98BxgJcTdXk/lNtK6JFlBweXXFV3xRZpUL8FmW0V+sc5i6QTldJex3VT+2SRmsPu9WdfAuVwVRBXZ1UUsJ7HSaqVExkqjU+YqnM8z9qpz4arrbQ/+iaPFxuya3My6xLg+Du5q4gdnQjkkbFQkrh1OKFpD+nlAb4QCawfcTCiwdly9EYq5rw+WNLgvn09MGRe1pxPfECm4vqa2jqSgoegYUqg5vD+TQjspVI+roXfkeYzeEALdQiqHkwKuHXAzKeDacfVFCtD0a8Pkx5AnOS0w+o4YB5jfFiFo58fQB6cjhA7J8mdCaLFjx9Ls+FhCcNSx49CEkA+4KyE4bcehxxCC6Zeetx19bzu0XDHLTGceatsBTSfQmOhzWHSwiDiwtHexcL6LOUEqOzTTkzbrORG0JkPJFL3t0OfLUpSOWe+qEMk3E/Yw0TXsHBlCTQE5trC3i8bq8BwXUVrXwpp3PVCOUv40XXOO+i5v5Cjtq6DnKGGnZes+UI4SNP81w1eSo/QKBxZ6jAj7do85SmlrJ8lRgjUvK523D616R+OyYryq3sCRmUF7mkUD5QlpAcV8+F0DkPm4ettamEfyciOQ6r7GAfnWgw6uthDnr6SeIOjgmEEH4xWiN7WMDHVOXs1X3Gac9L4UAf3NIt/vuBQdyhdAf1eo6KlxbdNr2Ptq2Pr7RcjaV0N/w8jzqjX2vGMEYRv31szm0cuvvNz9J65t8d2/O4PX/wM=7V1bc+I6Ev41VOU8DGVJvj4OJNk9ezlzKszenrYMKOCNQaxtctlfvy3jmyQbGyLDZGIeCJbdsqTu/tTqbikjMt28/iHyd+u/siUNR9hYvo7I7QhjbNkG/OElb4cSx3MPBasoWB6KUFkwC/5Hs8KMbrUPljQWHkwYC5NgJxYu2HZLF4lQ5kcRexEfe2Sh+Nadv6JKwWzhh2rpP4Jlsj6UupZRlv+RBqt1It2Y+4unVcT22+x1I0we08/h9sbPq8qej9f+kr1UisjdiEwjxpLDr83rlIZ8aPNRO9DdN9wtmh3RbdKFwCIHimc/3NO8yWnDkrd8LNLuUE5gjMjkZR0kdLbzF/zuC3AfytbJJoQrBD+z6miU0NfGNqGipyBAlG1oEr3BIxnBF2Rmo5MJj2lk1y8lK6y83nWFDZabPehn7F8VlZdjAD+yYWgYElMdEvJ1wthTsF3NaPQcQNflMQI+7vjP/Sb8S/BIw2ALV5MdjQJ4P43gTpgV/16WtY0lCHfiA0lUXIehv4uDefpWzoyILvZRHDzTBxofdIiXsn3C3zQtdCN9tOAir6qQOyOtdxMsst+hP6fhpJDiKQsZf/2WpR2Kk4g90bwQhNtIP8WdXFf4Kx6DMKw8eZ9+eDn06t7fBCHn7t9ptPS3flac4QDC2XXdi/wwWG2hbAHSlA6iFolzPEHibEcROJSrbFXgkIGIBomz2pWwIhY7FmyT9HXWZGTdSnLGomTNVmzrh1VJE3X4s3H/oNKN7M/HP2M+QircoBrmu0QH2thH0OaB7lgcJCyrcgCcjyNyxwHHRq1wY9bCDdYBN84AN/3CjX2c+SLc2B7pBDfE0sB6tw5tvj77AbAiCIPkbYCcDyt2xyEHe+2YY/Vn4ngD5vSLOe5R7jviispyarhfw3zsvp/1yKhZUA28vxrvTYQvxvvcDVRr3QJ2w7iGIXR0mGo+lsS1LKeJ276cJr3NNblxPeBNT9y3jaPst0W8QTXeu9rltKNhOW1jhfcRTfbRFspAqXdsG9Pb79+OyQPvfLDww6/Z2MxZkrAN3KDb5VfuWuZSsaNwa7L043WBAXA7G3K3lfUd2UaXKzrLGknDOXu5KwsmaQHcyNtbcI9Tnaq5EQ39BIBPoKtjREb6O1eaqsYjT2a6PZYWLIkfrWiSUZYshTH13yqPZfrY/C5sk6Z33Xel8Ug7iSmRmE4rST5nZiSuZ4kk8OPQ3YYKELZahzFm+2hBlWFMNaPgaDdlUZ3/c5iab3YRTICrAFAIZIJtf12OMNRlhyBCkzlM1vaK/yp8VP/d0zgBpfrlvVo1D9niKS2CLvwzw9D04l+dAPWyWnXggzjlHER8JHgVL6B9yJO0zzV6lBrVnIc+V30Id9sEvm8iupqm80oqQPODuNz6CYWrx4htZiGDtkwTxn9oE56riEghsV+MsYGQILZjwy4KKjZEKs8NoiWIkXey+QWvNHBG9m7RQiIK2qbVUbSUuogpeSAs1NcUIYdzTKsNumWLtQcKpf+tFIjIFKTbfJIPFHt8jOm7FV4NTxU2FVd7Qes/iGV1PUsJIVPkqYM76YAqTnahiU1VaQR9NUwV+880A3VuMaQg/zD9d/r39jt8xT8PrAOielhCdfweUHcuKG8igDt2V9tAhSMkwpFjeX0BuASuZaNrge8cgVaDYAWoZZbtpQCNvgbJQch4qw7XXMYQTOOmNtGHSjsKatWwvaigin4DxzM7SpdSlysjo2sZYwIfxzRgGiZOf8axGmD726+KCA3uzR/bwdViX9uo3b1p9OfeHEJpPbs3j4dTTAlazBrmq7z3DPv9rHdqwin43t+lPN7wDkBNzkT13zi3qv/m5k+zb79BZd/m/wG9/9iG2vXMecsWzXkEVrnrYmJhz0TIsU2J7V1trS8ESz4du6tD9Yxpy+kQMqnwehH6ccxhoDr/5GYMGgM8llaMMUa2mV3fvmbIkV68VS46miYdGFrNEa7Rw7xMt1mNPOdcs1qpCyCoN8eI1dDqxsZJFGXbdFni+aK1InsPdzNYQBpTP30wYfB1SzdsxfcagNhho0jDlkGND1KOfin4zeDPPlZd2r+otIrEwySRiDIuzmk5plUmr6xImXhkBN0Ey2UKZnVGnTj9arBYMJK4XshXRVvqEg6xhpCc02GLwYAtx1xEWHWUnoAtUl1qaEAbttgNrW7GFruhbdqwRY1VLNZ08VSNVvDow01dMOsT4YO48sZmZ3wwNeBDh90PAz6IOo0Fftne2TEZpS4Hd/W6nI4PZkOrm/HBbGibNnxQ3dpB/OeAxTlChPTGVyKbnwobpAhUaeZeAho67FQYoOGYOntIUeezocEroo99Q0PZ6q7Q4B2PjJ4DDaond1iWaDY7ZFkll1yWDG7UazrRibQFznVQDfP7ykt3VUfqfrf0E1qTxqQWfWxfqeZcpXMtiUKJdXviXAefnaFko7FhVdy3SsVG7tZ1jDwxq+fcpbI7XTOR+qCQc5faKeTcJdc5urjvKXfJVR3bQ+6SNseU63XTgQ65S0pV+mLyLm6f6YdVxFE+47NzhtS6zN6ShiR3Ytnqrg7Ism26VhGu6vwGm59zusbS+OyeBmnzBMYXdDXkYfxjG4c+1CxxsllYZKEZNhEgzvPc04CsmumYZ6soYlC3gaKH8LwkVLYrxeN1YY/pyrveSAv2mESk8Iw2gnxzm9SX7gSojcCUCLDTQoBFE9lyTtruRLA5Niqf+v71YRIMJy5dc/GPsDjvko4nLuk4cMlVXf4AAELKb61b7mdY8etOY8/V6App7CAyutLYiXGpNPay0drsyx8njV2PaOeiCgstLIkqN6a1+6Y0BFyklSwxu2ZY1PhMjPbKNM6CNadBDQvjUxbG3GGoa2FMvEtl5pSt7rowLtumDbjU8EuamfMdBAIWmtt7Fj0U28sqe4f5/U+1KibiAobkbucLrIm9mrMpByv5alayiTtayRoOCvRUu2JJQ2BarpKCcTGYx7Xmca4/3VnOXygdO/IF6Zq6iCxNY9OrfM6bxmRj2kSXMqZN2b3b5G2QBlJrfMlTTahhG2nW14p77wRN0L2N1LT0bSO10IW2kXqqdTTMvNdLTrE6bvLTc1zmCbkptRGjn2Eq1n+OTq5SP8g5OhaAi4bpV87LsLxLnaljuaeekNMHhdL/Vgo5L8Vyr3GmDjKGxJQ+D9VBWAgsSTW+44id4xXrswBQHgwbjln7EbZ5K8sc51zAtrzjFWmCa2IZte9phF5Pfh639OO0+on8P52cFpiWzXixPe/2PyJDzcwRADgcEPgkBSmDaPnEaji6UNcy7LF3srF0llQMmxHfa9hifQchWNalDkIoW931IISybfogSfW3Z8mCVUwqJv7f2PjbI9x54vsVR9w5PEGfKjSiMlGNjeC6c+bP2D8El+V/ZTwwt/zPl+Tu/w==7Vxbk6I4FP41Vs2+WEC4PrZ29+xU7WVq3MvMY4SIVEdiQezL/vo9QLglqKioM9P6oOSQhJDvy8mXk3SP0HT1+jHB6+XvLCB0ZGjB6wjdjwxD1wwbfjLLW2ExHa8whEkUiEy1YRb9R8qSwrqJApK2MnLGKI/WbaPP4pj4vGXDScJe2tkWjLafusYhUQwzH1PV+m8U8GVhdS2ttv9KonDJpRtz7D+FCdvE4nEjAy3yT3F7hcuqRP50iQP20jChhxGaJozx4mr1OiU069qy14pyj1vuVs1OSMz7FDCKAs+YbsSbj9DdhLGnKA5nJHmOfCIayt/KvoE2r7PLzYr+Fi0IjWJITdYkiVaEkwTuUGH+XNsmL8uIk9ka+1nRF2AN2JZ8RSGlwyUAyTEUSao0pXidRvP8qRpYEuJvkjR6Jl9IWvAls7INz540rXiQZ80AIIGoqupjLa93FfnimuI5oZMKsSmjLHt8zPIXSnnCnkhpBCC1/FPdKXmRPWIRUdrI+Zh/Mju81SNeRTQbBv+QJMAxFmbBed0Q6a4HYRqFMdh8QDPvRBVegfgzSTh5bZgE3B8JAwCSN8gi7lqGVRQRI9MVNbzUNNc1wc5lg+KWK4xYDK2wqrrmF1wIinXTDal0k9nV4MSaRTHPn2ZNRta9RDKW8CULWYxpk2Y19NrPDr1xKPRmG/kK5hb0KvKmNgDy1g5H84WsWRpxJmq8+ZrvlHAH+xrHNvf6GsPr8DWlWjiFcfbN1wwHvXUo9LbWQh7pTi9fg9DpwDtdrubuGUcAREQj/nbzNz8G6Q72Nx5C4/3qxupSN451OvHcm8cZDnznUPCdtscxTNTP47inA+/tEDdghwEMHUspvOnN33zHlDvY3xhum3MXXUuVZL65myGw9w7FXlpMeT3XUmgI5HUF+YTwTRKDDQb0msUpeYg5KJ1dhMheNfIxvROdM2ecsxXcIHFwl4XQMlqsCdyaBDhdVi4Abos+d/di3xM3EoRkJhpJ6Jy9PNSGSW6AG2V7M9NrxL9m5BsbjivS37LKxppmiXSDxzlJtw73lG0SX3SPmDKy9uzkQEIo5uA+WxV1QSqKfs4GX80dVE46b6U/kGQvx0lIuChVEwNgwW+NbGJMb31OtXKXnlPzrKixu7RlOa3Spu6MJZVU9J3SzpzAVXf147QaifRx7AO3imn0wzqBySqMwGdAz7P4U/DLqeSeU+Y/5SZo5VdBkzzxrZdjOxO5exG19C0FUS5KXlNa2umefjZSmAopAkJhUJekmBe/hbMbjBDX8WlbWZgneruzJiPsyzAC3Iq07EKe24sTSlWupktVmUjyOQP5Rkff1uhO73gMe9WYZzVNpxvfJ2m62GQlzj1HN6ZL25GmS3Mwvh87516MpJrEK70Xr1TimNK06EmSbkD/p8YwoYnNUFbh+T4kJJzm2vZTMDKmwiveY04gtUjYakYZtGXKWXbxs/jJsT6cp3SvQ0JkoJ6SSqnK8zzZfxlmL0YfQ0Q1plq5MpWO79GjXYA5Mty2cZwD0zXNVes6n7Qv4xIN8vz9SeHILRJ25WiIEvro4Pn2aMiRgbAhNvpupwrODH3Rn30jYa7Zgb0KvWnZA0CvLhChCF7nGK+yF4CanIkSOxg5kNWm0JTJPIGrkFd98ePLIsdwWsII5kS0WxxJk1evgX/ifOahFml0R5rM+sogZFhj03AtRxff5u56D149njLx7VgAvrM4raU3VJo2dj1vp8BSCNnU6qW/37Ou9M7CW93UWwRz6oDFwAGKaktBPMnWpKOccss8Z0vL+paw0b4S1UKgLGEa+0ogo1XC8rR2iT1BaITMsdf4uPt6f0DdejtBdE1J6Zb9X27oW24vYTHEEaKOM0QwpCfNaPMZNyR+nPjzbj9tX0pMWK4lLWhhZdFyG9Iyo384Wg4SG965wtHqKwwbju44nlSpkRazzy9Grhy+UVjblA2XZK0hUevoiLTXqghZZ4tIdx11kunSoIJPcZpm01gzKFOir491b9RUhbptivT9a+l7ssRbIzHcAqYxjXSeCBS2k0Fu60XQXMdGfOWqgKpnkp627m1p9La2ySXqtg3lvpB63OnLw+wvsExxnpEz+LonKxZmf5IGpDO06i+Y5KV+1knl9J3P3jP42aSdc/reMAFIHN5meFuRlW6rIb2ESZFNsntdRUGQT9hdcc62eBxAcTm6JcFeEawxWMyOwWIMcKqp3I+7ye2ryG1dU7SOVYbXLnCEtlwmNtDfrAPMScduJ1ZMP4v0PmhLc6f4RgcTQBtryDMGmvSkc2dDbnNaPbc566rKjGyxSMmpCgipuw2yjH6HO6JXiCCrO6LWgDui1jl3RFHXtsVNRe/Cui19TWswFW26l1LRdaP7qui6bYOpaHVLAjRvhvOocZKjmmn/YOM/F3DnKWLp0yhTeRP9XUliWzrsatpnlMSQrP/zQwFu/d810MP/7Vpbj6s2EP41SO1DI8BcwuMm2W2P1KpHZ3t9dMBJrHUwMs4m6a/vAOZiSAInWbZ71OQleOzx7ftmPGMw0Hx7+FHgZPMLjwgzbDM6GGhh2LbleB78ZZJjIfGmTiFYCxqpRrXgmf5DlNBU0h2NSKo1lJwzSRNdGPI4JqHUZFgIvtebrTjTR03wmnQEzyFmXemfNJKbQjp1zVr+E6HrTTmyZaqaJQ5f1oLvYjWeYaNV/iuqt7jsS7VPNzji+4YIPRpoLjiXxdP2MCcs29ty2wq9pzO11bwFieUQBVQovGK2U0s30MOM8xcar5+JeKUhUROVx3JzYM5J9rjbsp/pijAaQ2mWEEG3RBIBNUyJP9ey2X5DJXlOcJip7oE2INvILYOSBY+ApMSgIqoyYzhJ6TIf1QSJIOFOpPSVfCFpQZhMyncyG2leESFvmgFAItVVtcdm3u+WhuqZ4SVhswqxOWc8Gz7m+YJSKfgLKYUApJn/qpqSGNkQK8pYo+VT/svksKonvKUss4M/iIhwjJVYkd6yVfnUQJjRdQyyENDMN1GhRYQkh7OIWxWPwD4JBwDEEZooBWeqqKdMsyzua55bJTs3DY4jTwmxsq111XXNL3hQFDtNN6dLtza7GpxIOI1lPpo7M9xFi2RcyA1f8xizJs1q6M3/IfToIvSuqyFvWSegP4G8NX0D5N0LjuYLSXhKJVc93n3Nt0O4y77Gt/t9jTOWr/HuvmZU6N2L0HstX4PQIF/j+bcDH1xwNWC7sKuMwTLvrubb4ttlV2P7/a4GjeVqSibffc1I2AeXfY0OfZWM9fiaKgm7CXqrA70gcidikIFFJzxOyeK3Xy/RIVs7hdzzQW3NkkvJt1BB4ughS2YzUiQEqmYRTjeVA4BqtePTXuQHokYiSIPVJAlb8v1jLZjlAqgo51uBl2ldabbmxAHT1eD7wVFZgiAMS3CMWtensFK9f87Mqu4aOTotkBdMXL0TicWaSKVXYw6bjo+NZspez48UeGdGehqoYQd9Go7VGsMy+zSQpY/hTnUNeChWelrfRU7f/qV8J0LS2b/uVPSeymLZDV+tUiKNttVVbBlmiHbHEAHbZXHsLwicwgwg9BjQcraE099bZ0/fJQIO3jUF/wdc4/Gn6Ptuo1uNd8l4+JKLYDV/KU+dF/4e5Lbf13gLUHW3WRiK0czhB9j4jQbstP164Ayi3zXk6aansF4VMz7GksrjSaa8DS/+E/RrMk7MwNYIOTGrciMEyYl6hjNNfnjvxQ/XaTlRaxg/Oh35rdgRIsVRzgm3M45z3h9fw+JuylvFIhqXx49GyIHKglxZSleUM25ZE9N03ozy0OlAgjad2jsSNNDxbl+kneFVl6COM9HzaWSiyRQh5DsmBDrIH3YwX8Mpv8Op3z91+HPPnT92/tTzSqA/dTZHS52nHX5d8k731PmrofcvY6/7lfI9bV/qXB69N0F/4qLOfsJJjvE2WwD05M86cZfhL8aL0T9SJD7+CRW0bmn9YIKmNnLtwLEs32ujPDSgQqgVuQ88+K44n1D3DXbn/uW9gp6PxJ1mRF762PH5ZDn6nYMXjHXnYgc6xRyz9aFDe2aBf2ZmgzXsPo0qWCo1nL47GhvZmoY7/bo7GoTck7swQiBY3gZdOqgb1hIynKbZ2dqM6MqswJqA76+TAnNieY4qLw7qOM4Lx0ZhYKQ/gOSNw809cbiVspuj/3bI7l97f9bpCnkjmZU7RWcmfXZubY1qbm+V1qLu5QzEBBnOdV6rLvjym/be0ADCJakTU4/uSofdCOOUqBOCtQ+OLY2i3FOfym30QNS4PXD3TLONltEO33yvy/ArXnxAsf4qrQCx/vQPPf4L7VpZb+M2EP41ArYPNUSRuh7jHO0CW3Sx6flIW4xNhBYFiU7i/vqOJEoWddeO011s9GJxxOH1fTOcIW3h693LTylNtr/IiAnLsaMXC99YjoNsx4OfXHIoJcQPS8Em5ZGudBTc839Ypamlex6xzKiopBSKJ6ZwLeOYrZUho2kqn81qD1KYvSZ0wzqC+zUVXemfPFLbUhq49lH+M+ObbdUzsvWXFV0/blK5j3V/loMfiqf8vKNVW7p+tqWRfG6I8K2Fr1MpVfm2e7lmIl/batlKvbuBr/W4UxarOQpOqfBExV5P3cJXSykfeby5Z+kTXzM9UHWoFgfGnOSv+534xB+Y4DGUlglL+Y4plsIXocWfj7Ll85Yrdp/Qda76DLQB2VbtBJQQvAKSioJKWpeFoEnGV0WvNkhStt6nGX9iX1hWEiaXyr3Ke7quiVBUzQFgkW6qXmO7aHfH1/pd0BUTyxqxaylk3n0siwllKpWPrBICkHbx1F8qYuRdPHAhGjXviieXw6zu6I6L3A7+YGlEY6rFmvTI0eW+jqjgmxhka0CzWESNFksVexlEHNU8AvtkEgBID1BFK5BAU0+bZlV8PvIcVezcNjiOPS2k2rY2ddNHfsGLplg/3XCXbm12NTiRSB6rojd3abk3LZLJVG3lRsZUNGl2hN7+DqF3RqF3XQN5hHqg70EeBa+APOlzNFdPlAMSXHB1+MISmXEldbPvDufbYd24w/GdaYdDLuVw3HeHc1HoySj0XsvhYDzL4Xj++cB7I4EN2C6sqhAwzXdX823xbdzVOP60q8GXcjX+u6u5KPTeuKsxka8TsglXUydi5yAfdJBPmdqnMcjAnhMZZ+zmt1/H2JBPnUP6eaVXZiWVkjv4wOLoKs9nc04kDD4tI5pta/OHz3rBg0ngZ4LGIsiE9SCZWMnn26NgWQjgQzXeGrtc60SjtRekNh6N3o9Eh4spE1SBWzSa7oNKt/45t6pj0xiHi7DxBEYv2AsXrtmkoumGKd3KkQAAAT00qmnjHe439AZ6upup4YRTGgS1+kD2lAZGZh9uYGrASznTfn0Xk4XdeJyp1czkPl2zzmp2B0aMlqpi1Yx8eMiYstoGWTNplo2GHRsFoOv8Qx1uGGzRAjD1BLB2uYLQwNvkbx9StuHgGoGHMr4uPNbH6IduvXPNeyXk+rEQwZz+0q68KPw9y6+/rXmX0BobX2k7VjPPn+EEzrRw0vb7IZnFwRMYVG0fJoU+ATcaNLqNFeSy81n0Opz5X5hxJOrCDh2DrAu7Ljfil4LEA3xqksd9K/K4pOV0ETa2i/A0d+a3olBo9iK7jNvphwx781MIj4bjmpz2H5rHNyXxz2b0dJDDXrgqWZfniWU5Jx2CvYm8mi1AozOZ2/SEb8jccGQrdtoHdgOE6zKXkIWZsmMbLwKMsU9sBxPsz9vhTyFb9ybi948dNr2n5193jjZx9TCdnduXys7R+9XDhaEfv3sgpl8JSA/2Xeidaoc+C/qeuwfnjiYFxrt8AtCSjtiyhMZVzEYb21ujCrw2a/VkAv6yL9qz/JvLZQ1fU25w+e0vJEac5punB8gPFzhwsAv1EPI9NzgtjsPO2OlB51ZsYJM9ZS/s3lp0DpSqRON7OlNqJgnozVJMRMxjEy+81LGRE5obJLFbf95ojyz0B0Y2W8OZ0gBrMjXI1DET2I2h4Qb/7ZgJYzJidtWaXCIE7bkzattXw3bWgmZZvqs3Y8kqO0ELFDaSE3uBPKLLNy86ECgKh0ZhZsYxg/KNbdXt2VYr2dlZyBhS2PZPPRCcaBh7CzKcpr9Wdh3ggekMjrqtAeMcIf4pDO3eMSUpy/kAwmY2rk8zi1uHyZADojplstgMQitf34g2tagTKbb3nB2PosLJ96VgZrxsnZ9feMhuQ2a1o0zf65rDCXdAUDz+Sa9E8vhPSHz7Lw==7Vpbc6s2EP41njl9qAeQAPMY20mbmdPpmZNenzqykW1NZMSAnEt/fVcgMOJeO06b1jwkaKWVhL5vV7uSJ2ixf/kuIfHuBxFSPnGs8GWClhPHsS3Hg39K8ppLsB/kgm3CQt3oKHhgf9JCU0sPLKSp0VAKwSWLTeFaRBFdS0NGkkQ8m802gpujxmRLG4KHNeFN6a8slLtcOnOto/x7yra7YmTb0jUrsn7cJuIQ6fEmDtpkT169J0Vfun26I6F4rojQ7QQtEiFk/rZ/WVCu1rZYtlzvrqO2nHdCIzlGwckVngg/6E+foJu5EI8s2j7Q5ImtqZ6ofC0WB+Ycq9fDnn9mG8pZBKV5TBO2p5ImUMO1+MtRNn/eMUkfYrJWqs9AG5Dt5J5DyYZXQFISUEnKMuckTtkqG9UCSULXhyRlT/QrTXPCKKk4SDXSoiRC1lQBQEPdVbnGVtbvnq31OycryuclYgvBhRo+EtkHpTIRj7QQApBW9pQ1BTHUEBvGeaXlXfYoOXzVHdkzruzgF5qEJCJarElvO7rcNhDhbBuBbA1oZouo0aKJpC+diNslj8A+qQAAkldoohXwTFNPm2ZRfD7y3C7YuatwHHlaSLRtbcuuj/yCF02xdrqhJt3q7KpwIhYsktlo7nziLmskE4ncia2ICK/S7Ai99T+E3umF3nUN5G27BfoW5O3ZGyCPexzNVxqLlEmhe7z6mo9DuH5f4zvDvgZfyte4V19zUehxL/RezdcgNMrXeP75wHs9rgZsF1aVc/jMq6v5WHzrdzWOP+xq0KVcjX91NReF3ut3NSbyZS424GrKHOwc5GcN5BMqD0kEMrDnWEQpXf70Yx8b1KczyDxv9MqshJRiDxU0Cm9UKqs4EVOomock3ZXmD9V6wWeDwI8EjYaQBOtJUr4Sz7dHwTwTQEUx3xI7pXWi0VpTXBqPRu9brCPFhHIiwS0aXbdBpXv/oqzq2DVCwTSoPDNjFOQFU9fsUpJkS6Xu5UgAgIC8Vppp4+0eN/A6RrobqeEEQxrYro1hW0MayDbHcGemBrzkX9qu7yI8tSqPM7SaqTgka9pYzebEsNFTUSy6EZtNSuWkbpAlk0bZaNCwUQV0Ahvu9j4EKD0OZJ2vICLwturtU0K3DDwi0E9Ei8xR3YcTZ9FsuUnEfkkkhUop1Ms3zTbn2v6Ki/VjJoIP/k37+azw+yin/762n+Nu7Iq5YU2q+f8ID3Gm+eP6phDgUQQ9gV7F3mLy6zMwqODYeIq1Eept6POPkOTI2akVOAZvp1ZZrsQ5GZ87qFXlkftePHJxzTnbyNhWgtPcnl+LVqHbi+xGbmMc3O31T+G+3R3/KAv4FGcmUFL9Pjyb0MOxEH1hMiedSifzsuKcDVsYfjNTgE5HErfqE9+RuEHPju3Uj/Q6+NYkLsZTM7NHFprOEEI+thyEkT8uEDiFa827ip/vG2y6ZvH/7lRu4HJiOIm3LpXE29fLiQtD3387gU2/MsMt2Dehd4oN+izoW24nnDsSZxjv1QdATzqIS2MSFWFcY3crGkH7ars23UqXHa0rOYQ/bw0Y/WWll2rK0RxORZZ/hCq0hM9DN3mQ6ZG98nT5Xyma9SOn95Fj1I5N+/I7dICNSNI3z0FsP5iimYNcaGfbvufOTos0kdN3DtK42uuIA07Zrpv3L42jsdtIMtm89PtPn45V0xj73fJhG5sHQF5wqQMwJzD3cGzVfoFSn1ngd8xstIYzpAHWZGrgoQMzsBtDw539vQMzhHCP2RVrcokoueX2q25fFdtZc5KmKvCohrtFAmVP7aCSP1lT28O6vHzRsUpWeK0URiZFIyhf2fndlp2/kJ2dKPUhhSz/1KPNgY6RN8XdBwlvlf/PUMfndM66rgHz7CH+KQxt3pZBHKX4AMKbJ8LAWzMO+8KSQtLF0+z+ZDDkgMBTmiw24+TC11cCYi1qBLP1PWfPwjBz8m1ZohnST85PgTzbqkM2qQfCvtc0hxNus6B4/KVhjuTx55zo9i8=
\ No newline at end of file
diff --git a/design/pre-registration/_sources/dataSync-service.xml b/design/pre-registration/_sources/dataSync-service.xml
deleted file mode 100644
index b35bc2bad77..00000000000
--- a/design/pre-registration/_sources/dataSync-service.xml
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/design/pre-registration/_sources/demographic-service-class.xml b/design/pre-registration/_sources/demographic-service-class.xml
deleted file mode 100644
index 7f3c063be2a..00000000000
--- a/design/pre-registration/_sources/demographic-service-class.xml
+++ /dev/null
@@ -1 +0,0 @@
-7V3fd5s4Fv5rfM7sQ3MQYGI/xnHb7Zy0zSbd2dlHxSg2HYx8QE7i+etXAgnzQ8LEAUG2ykuQkAXofrq6ut+VNHGuty+fY7jbfMU+Cie25b9MnOXEtoHnOPQfyzlkOTPLyjLWceDzQseM++BvxDNFsX3go6RUkGAckmBXzlzhKEIrUsqDcYyfy8UecVh+6g6uUS3jfgXDeu5/Ap9seC4Qn8Fu/BMF6w1/9GzKbzzA1V/rGO8j/ryJ7XxK/7LbWyjq4uWTDfTxcyHL+ThxrmOMSXa1fblGIWtb0WzZ7z4p7ubvHaOItPnB5WzuATCdP1oems/Q7AO4zKp4guGeN8YSbfGayTlYXeOIxDgMUcxfnxxEkyXPwTaEEU0tNmQb0kxALx/pD+55IZaGYbCO6PWKvh+txFk8oZgEtOGv+A2CdzR3tQlC/wYe8J59RUJoq4rUYoPj4G9aLRTPoLdjwjHkWKUS9+yXNJvlxiihZW5F04A86wYmhJdZ0W+DuyR4yF94C+N1EC0wIXjLC4kv/RSE4TUOcZw2gPOY/rFamfiRL0oLCWf1b4MVvw7hAwoXOV5ETRFO2zCh7fwXKlRvpX/5HQHLtJELL8J/ztr9E9wGIeuAf6DYhxEU4shaCtg8LXtGHUYcWUxc6KWQxWH1GeEtIvGBFuF3XY5wrgHmPPl87E6uw/M2hZ6U/w7yLrzOaz7CmF5wJCu6gV0DcQ2v9DNIrZ1F69UbVAA3RI9EAttt4PthKrcdXAXR+geD8fIDOObcpD9cusecO/7VbooZAgnMYJeD4xYnAQkwqz/Oyi52OIhI2jLTxWS6THNiKsKIfgcMUmEhCudnxCBdE3ddrOr+f1rQXLJOS8kCtwPBuhLBLthAk+koqqImtheSrJEjer1m1/cofgpWSNyiTynenThX9BJumeKJHpJdWqJeSUENnqhPAbWCWuwIdZmybAWw501A0D3NZ+/0TD+D5mFa32OYKqcNxS+KJEAsA25B5XptXUwZ9OxrmgbH9Ek09oI+122pV7y3o6/+uvPTeiYMqmNiKwXelb5x6nBwetM3vUj4sqV+mfUgYGGm1fRNjNZBQi2Yq90upHJhrfbb7/ffv9Fb3x9+UpP0H6lWse5QsqONhT5GJCCHXM2kakPcW/74nt8wCkQ7vGb6FAgACjjtdz4kqAimexJTAdDGaYUqCZ4akaQfPpqhosXyAVbbwacD3eTJbFqGnTUideAYoIwKKI49oJVi16f0R+SEYQE8yW9m2HonwxaYahy3nOhf2/3ik7u/m3348s27XXs/rz5401YK6Z626z4xaqkLtVSDRytYqTE00zh5kmNIOZ8PkhWMfTOwjRtBucN+kIHNqc/OZE6aUTqqaYMYR/VkFI7qedlTDeYSY82SuqrtPkCtmiP6R2jfoR1z1WD6qFQbLqW3jDl2rjmWK5bW5pjQbycx04seVE0Nd3Hgf0YRiiFh4mRQuS1lGYjog8i0rVrpBSIzCUSMp7pbCctciTIJ9+GpdmRUBNMBqxhBgm5jdJe6rOPMmC6MGNRYrhjVqflsNIM23MyGHDxc1eCR+aSrwMn90gZBI0IQAEMOLq6KJROeILhSz+ANVDRDxWk5SvXn9PEa4ML90QYxb0DMa508jtWMGE/iJtSLmCYG4wiXJlezAY1m0MgC/voCjeco8NHWjWzQodldAjSavLZsvKkIG/lrJNy/tDE2eI0jGH485lacpQVU/ESEHLivEu4JZiLKa7jB6XQ39zAXXJq0PePDn6w+Kgme/C8vW2903iUTvI9XSCGHGf8uAmOqGE8Ii31xo6hiFNIe84RKz5fJgf/0lmHu6FbNQ/5FmKigCkQV2VvyXx2leRXH8FAoxqFclXf+oueZrKKpSphojPksOlbbhX0aosEQDU1Eg3vZ0q4CXhexZzK6Xj7kmZh4hbLonA7oIia+9rpz2XTc+Hq7lbDb0rztw9c7V1GEj0HkLw77BMVf/LKhexPQpqiEcR29epUwLxPNpR1NGn0ydTipgnAS+FTz/+ZpamHkyOEge8A4RMwgMsjRhpy2NkQn02z16qsQEbQ4ZOCo6h4DC/2wyFcq68AFUDl05RRSJW1UyNBYGTR4BeSuDbk3BoUP+LnoiClg4NSEkY5RbErK5VCcFc9Sj4t/xfYKoEk/gFsc+T82QZTdKPyMpsR8wWs/j0xfmyYE3s526ojQ8FE4dexpeQprT+cXs5ntTO25C8Cl50zLNWZf9gofj/yxXjVEz7UqmMtqPNc95Mjmxo3eoOs0qiKLMzbOIOMMeuv2CI6gMAo6ON8zoaiDnSZfEH/aHVoRGK2pkPLHgVnleZKla2DaQufDkAIzothfMKm81S/rtHDNG6dUSUW9xQclRVQXPihXRcDtyrbeFz8z80QUkbHy2ll5r5e+xD8llX4XNp2rdCCkhLwRuR6Rey07fCciV0Vk/ExwlK1VN2LXI3bJcpX+xC4LIz9GGfuLg5G6HqkDUHcZ9yd2dXD5kor9R7BFmdzZFZ1UbHdG9D2KXrLnUW+id2SKviLbX5tMPEOAki2NpALsgDycqrhCFntTNc7F9g9GffcPAY3qW7r4K7XPZRgocTdPmFZicNAbDmyJH6Y3HIgViDJdwGOnjQLQJXjJtpn9CV7lnklywZter1P4U41T9anKeD/u0xORb3CLTOfXJn9B0mqRf8Po/3vurTEKQCcAHEuj+TdtWG9XAIDp/bqE7+icv0vX08mGhEa++99pJI/hu39lvvvECsFmvnteIbynkpBXOeHdtMvS+yO8Zd1RuIMMC37GlnUNCm4U1Lhc4iqvnOHLzx6Ue8CJThJdjhOVx8Yw64ODQyfdLgeHagNew8GPAiA6iXk5QFQz/ywu37D1w+JDK4UvB4jKNbjfGV5/JCDRSvbLXnDWYnby60UA9CFqjWEBckmbWIH3oxe0BhBI0aKcm5iogjEiRmuogRwxKhraxB+MBCI6gxLkEFEuJTCRCuOBic7wBTlMVBMXw2mPDCo6Ix2kLyjdDcmw3+OCidZ4CDlMZHOfRkr8KyLQpy1tSHFDiis7w+tIceC2HFgdz1L3g/8PUlx4zw0p3hUpPh/PenH5+5lF5KMYq0/gZHBSXL1fnSHFhwbH4KT4XEWKw13aflv6eWVuK08ZrOjFyuD8+FwVGA2LyyKMPhkQI8Nz5MBqYYga/rMLWbeluvviP4HVQFAYAnRkmkFynqZuzdBAVhgGdISQGZwzB5bKPDUU6DgwMjxLDiyVWWo40BHhZHCqHFjNp+JVZ7tCsZj57lCQGZw2B1bDWnAZZMSF0TQDwmZwCh1YDeEW5S0kzMA0NFyGp9KBOOnP7DgycqgMvhEBADKPSwUGhXMaViFMEhYdUAQFegnIn7zZ2XV6iOaF5cx4evlSuLk8FBK3KKaDWxpksTxS+pVDFE4e2dDgW643faGpZUS7yHvjOQ1u5ZyGeTVeQHEwQ/0Uz8rJC/a88i46T/FUQEjmhTkTQh+sC4ua1UccWReXM3tIHGUrgIfC0dwui99zO8KR49oXlbNCXo2klq/MlZzqzarlHb6XfWdni8hB2+I0zkHPJJ4UTiQuHFB87ANp6vA2wPNGKB5tI48eVCjTN6L7snJEsetWQlvOVm6nHzWrPErRkboDnMyp1Bjf+EeAnk1so4ltbO7RytjGPERR6GGx2PiksQlOd+R3HtsIQItdtU1w42umOlzBjTe6MY9kMOGNw06KTyFl8PhGYKv8J2Zjl3FAZPAoR2C38JuYoKQuZN02SrG3oCRbFWVigpLGpxlk5y7rVg2qEBMTlTRSzLS1TXvEjFlP/V7AMnzYo6MyT82K6jEBZfhgR0e2pvq1zMyZHumcFLywL71JkdCxrPlkQEIn98Se9npfygWsiUK0qjzKmdSP65Qrmop1nh0TP271SG2+FOxMIocmY4xJsTjzi3/FPmIl/gc=
\ No newline at end of file
diff --git a/design/pre-registration/_sources/demographic-service-sequence.xml b/design/pre-registration/_sources/demographic-service-sequence.xml
deleted file mode 100644
index 693cffb8ea3..00000000000
--- a/design/pre-registration/_sources/demographic-service-sequence.xml
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/design/pre-registration/_sources/document-service.xml b/design/pre-registration/_sources/document-service.xml
deleted file mode 100644
index 39f61226303..00000000000
--- a/design/pre-registration/_sources/document-service.xml
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/design/pre-registration/_sources/login-service.xml b/design/pre-registration/_sources/login-service.xml
deleted file mode 100644
index c44c2bcdb56..00000000000
--- a/design/pre-registration/_sources/login-service.xml
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/design/pre-registration/_sources/notification-service.xml b/design/pre-registration/_sources/notification-service.xml
deleted file mode 100644
index 400d2a73686..00000000000
--- a/design/pre-registration/_sources/notification-service.xml
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/design/pre-registration/_sources/transliteration-service.xml b/design/pre-registration/_sources/transliteration-service.xml
deleted file mode 100644
index 9221ed8860d..00000000000
--- a/design/pre-registration/_sources/transliteration-service.xml
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/design/pre-registration/pre-registration-architecture.md b/design/pre-registration/pre-registration-architecture.md
deleted file mode 100644
index 3f1cff3a193..00000000000
--- a/design/pre-registration/pre-registration-architecture.md
+++ /dev/null
@@ -1,7 +0,0 @@
-
-# Technical flow for pre-registration
-
-**Introduction**
-This is the technical flow including UI and server.
-
-![pre-registration-technical-flow](_images/preregd_tech_flow.png)
diff --git a/design/pre-registration/pre-registration-batch-job.md b/design/pre-registration/pre-registration-batch-job.md
deleted file mode 100644
index 23293a60dd4..00000000000
--- a/design/pre-registration/pre-registration-batch-job.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# Approach for Pre-Registration Batch Job
-
-**Background**
-- The Pre-Registration system should support Batch job for the following Activities.
- - Updating the status of applications from **Booked** to **Expired** when the application has expiered.
- - Updating the status of applications to **Consumed** after it is consumed by Registration Processor (Reverse Data Sync).
- - Syncing appointment availability per Registration Center from Master Data.
-
-**Class Diagram**
-![Class Diagram](_images/Batchjob/BatchClassDiagram.jpg)
-
-
-**Solution**
-
-**Updating the status from Booked to Expired:**
-
-1. ExpiredStatus job has the expiredStatus step, which has expiredStatusTasklet.
-2. ExpiredStatusTasklet implement tasklet Interface and on completion give status like COMPETED, FAILED status in DB.
-3. ConsumedStatusTasklet calls ConsumedStatusUtil which first get auth token from AuthTokenUtil.
-4. Then it will take all preIds from reg_appointment table with appointment date between date before current date and last date on which expiredStatus job ran. And update the status to Expired in applicant_demographic.
-7. After completion availabilityUtil tasklet will update status in table, on success it will update COMPLETED in batch_job_execution table.
-5. If found error, it will update FAILED status with exit code (which will be custom error code and message).
-
-
-**Sequence Diagram**
-![pre-registration-Expired-batch-job](_images/Batchjob/ExpiredStatusJob.jpg)
-
-
-
-**Updating the status to Consumed after Reverse Data sync:**
-
-1. ConsumedStatus job has the consumedStatus step, which has consumedStatusTasklet.
-2. ConsumedStatusTasklet implement task let Interface and on completion give status like COMPETED, FAILED status in DB.
-3. ConsumedStatusTasklet calls ConsumedStatusUtil which first get auth token from AuthTokenUtil.
-4. Then it will take all pre-registration id from processed_prereg_list table based on status comment (Processed by registration processor). It will get all consumed preIds and move all details from applicant_demographic, applicant_document & reg_appointment to applicant_demographic_consumed, applicant_document_consumed & reg_appointment_consumed respectively with consumed status.
-5. After completion availabilityUtil tasklet will update status in table, on success it will update COMPLETED in batch_job_execution table.
-6. If found error, it will update FAILED status with exit code (which will be custom error code and message).
-
-
-**Sequence Diagram**
-![pre-registration-Consumed-batch-job](_images/Batchjob/ConsumedStatusJob.jpg)
-
-
-
-
-**Syncing appointment availability per Registration center from Master Data:**
-
-1. AvailabilitySync job has the availabilitySync step, which has availabilityTasklet.
-2. AvailabilityTasklet implement tasklet Interface and on completion give status like COMPETED, FAILED status in DB.
-3. AvailabilityTasklet invokes AuthTokenUtil to get the auth token from kernel authmanager.
-4. With HttpHeaders containing token will pass this object to availabilityUtil.
-5. After completion availabilityUtil tasklet will update status in table, on success it will update COMPLETED in batch_job_execution table.
-6. If found error, it will update FAILED status with exit code (which will be custom error code and message).
-7. The System will run a Batch Job at a certain dateTime from configuration to syncing appointment availability per registration center.
-8. Call the master data service to retrieve all the registration centers. In the response system will receive the Registration center Id, working hours, processing time, holiday code, number of kiosks. Insert into the **registartion_center_details** table.
-9. Call the master data service for holiday details by providing the holiday code. system will receive all holiday date associated with that holiday code.
-10. Calculate the time slots based on the processing time for the day and insert in the **registartion_center_time_slots** table.
-11. link the **registartion_center_details** and **registartion_center_time_slots** tables with the registration center id.
-
-**Sequence Diagram**
-![pre-registration-Sync-batch-job](_images/Batchjob/AvailabilityJob.jpg)
-
diff --git a/design/pre-registration/pre-registration-booking-service.md b/design/pre-registration/pre-registration-booking-service.md
deleted file mode 100644
index 47c8640117b..00000000000
--- a/design/pre-registration/pre-registration-booking-service.md
+++ /dev/null
@@ -1,185 +0,0 @@
-# Approach for Pre-Registration Booking Service
-
-**Background**
-- Exposing the REST API to book/cancel/modify a appointment for a citizen.
-
-The key requirements are:
-- Create Booking APIs to book an appointment for the selected Registration center and the availability time slot for the Registration center, rebook an appointment, cancel an appointment, retrieve appointment details, retrieve availability for the registration center.
-- This above details need to store in a pre-registration database. Once storing the data is completed then system need to update the availability time slots for the particular registration center.
-- Once the availability time slots for the particular registration center get updated successfully then an status need to update the pre-registration status as "Booked".
-
-The key non-functional requirements are:
-- Log the each state of the pre-registration creation:
- - As a security measures the Pre-Id or applicant information should not be logged.
-- Audit :
- - Each state of the Pre-Registration appointment booking should be stored into the Database for audit purpose.
- - Pre-reg Id and important detail of the applicant should not be audited.
-- Exception :
- - Any exception occurred during the registration booking, the same will be reported to the user with the user understandable exception.
-
-**NFRs -**
-1. Availability should be consistently updated and viewed.
-2. NFR for the response time should be 3 seconds.
-3. Availability server side transaction should be 200ms.
-
-
-**Solution**
-
-**Booking an appointment :**
-
-1. Create a REST API as '/appointment/{preRegistrationId}' POST method, which accept the PreRegistrationId as path parameter and in request body json object contains registration center id, booking date, from slot and to slot.
-2. Check for the pre-registration whether it is existing or not and check for availability slot for the requested details.
-3. Update the availability by decrementing the value by 1.
-4. Save the booking data in the pre-registration booking table. after inserting the booking data system need to update the main table (applicant_demographic) with the status code "Booked"
-5. Audit the exception/start/exit of the each stages of the Pre-registration create mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration-booking-service](_images/_class_diagram/booking-book.png)
-
-**Sequence Diagram**
-
-![pre-registration-booking-service](_images/_sequence_diagram/booking-book.png)
-
-
-
-**Booking an multiple appointment :**
-
-1. Create a REST API as '/appointment/' POST method, which accept the json object from request body which contains PreRegistrationId, registration center id, booking date, from slot and to slot.
-2. Iterate the booking request and check for the pre-registration whether it is existing or not.
-3. Check for the pre-registration whether it is existing or not and check for availability slot for the requested details.
-4. Update the availability by decrementing the value by 1.
-5. Save the booking data in the pre-registration booking table. after inserting the booking data system need to update the main table (applicant_demographic) with the status code "Booked"
-6. Audit the exception/start/exit of the each stages of the Pre-registration create mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration booking service](_images/_class_diagram/booking-book.png)
-
-**Sequence Diagram**
-
-![pre-registration booking service](_images/_sequence_diagram/booking-book.png)
-
-
-
-**Cancel an appointment :**
-
-1. Create a REST API as '/appointment/{preRegistrationId}' PUT method, which accept the Pre-Registration Id as path parameter.
-2. Update the availability by incrementing the value by 1.
-3. Delete the booking data in the pre-registration booking table. after deletion of booking data, system need to update the main table (applicant_demographic) with the status code "Pending_Appointment"
-4. Audit the exception/start/exit of the each stages of the Pre-registration Cancel Booking mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration-cancel-booking-service](_images/_class_diagram/booking-cancel.png)
-
-**Sequence Diagram**
-
-![pre-registration-cancel-booking-service](_images/_sequence_diagram/booking-cancel.png)
-
-
-
-
-**Re-Booking an appointment :**
-
-1. Create a REST API as '/appointment/{preRegistrationId}' POST method, which accept the PreRegistrationId as path parameter and in request body json object contains registration center id, booking date, from slot and to slot.
-2. Retrieve the existing booking details and update the availability by incrementing the value by 1.
-3. Delete the booking data in the pre-registration booking table. after deletion of booking data, system need to update the main table (applicant_demographic) with the status code "Pending_Appointment"
-4. Update the availability by decrementing the value by 1 for the requested registration center id, booking date, from slot and to slot.
-5. Save the booking data in the pre-registration booking table. after inserting the booking data system need to update the main table (applicant_demographic) with the status code "Booked"
-6. Audit the exception/start/exit of the each stages of the Pre-registration Re Booking mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration-re-booking-service](_images/_class_diagram/booking-rebook.png)
-
-**Sequence Diagram**
-
-![pre-registration-re-booking-service](_images/_sequence_diagram/booking-rebook.png)
-
-
-
-
-**Get appointment details :**
-
-1. Create a REST API as '/appointment/{preRegistrationId}' GET method, which accept the Pre-Registration Id as path parameter
-2. Retrieve the booking details from database based on the requested Pre-Registration Id.
-3. Prepare an response with the fetched values and send this response to this API call.
-4. Audit the exception/start/exit of the each stages of the Registration center availability mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration-registration-center-availability-service ](_images/_class_diagram/booking-book.png)
-
-**Sequence Diagram**
-
-![pre-registration-registration-center-availability-service](_images/_sequence_diagram/booking-retrieve-bookingDetails.png)
-
-
-
-
-**Get Registration center availability :**
-
-1. Create a REST API as '/appointment/availability/{registrationCenterId}' accept the Registration center id in the request path parameter.
-2. Get the configured offset from the properties file and prepare the date range
-3. Retrieve the availability time slots from database based on the requested registration center id and the date range.
-4. Prepare an response with the fetched values and send this response to this API call.
-5. Audit the exception/start/exit of the each stages of the Registration center availability mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration-registration-center-availability -service](_images/_class_diagram/booking-regCenter-avilability.png)
-
-**Sequence Diagram**
-
-![pre-registration, registration center availability service](_images/_sequence_diagram/booking-RC-availability.png)
-
-
-
-
-**Get Pre-Registration IDs by Appointment date range :**
-
-1. Create a REST API as '/appointment/preRegistrationId/{registrationCenterId}' accept the Registration center id
-2. Get the current system date time from the pre-registration application portal.
-3. Need to calculate "To Date" from the configuration and the requested Date.
-4. Retrieve the pre-registration IDs from database based on the requested registration center id and the date.
-5. Prepare an response with the fetched values and send this response to this API call.
-6. Audit the exception/start/exit of the each stages of the Registration center availability mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration-Get-Pre-Registration-IDs ](_images/_class_diagram/booking-book.png)
-
-**Sequence Diagram**
-
-![pre-registration-Get-Pre-Registration-IDs](_images/_sequence_diagram/booking-reterive-preRegIds.png)
-
-
-
-
-**Component Diagram**
-
-![booking-component-diagram](_images/preregd_booking_component.png)
-
-**Success / Error Code**
-
- While processing the Registration center booking if there is any error or successfully then send the respective success or error code to the UI from API layer as Response object.
-
- Code | Type | Message|
------|----------|-------------|
- PRG_PAM_RCI-001 | Error | User has not been selected any time slot.
- PRG_PAM_RCI_002 | Error | Appointment time slot is already booked.
- PRG_PAM_RCI_003 | Error | Appointment time slot is already canceled.
- PRG_PAM_RCI_004 | Error | Appointment can not be canceled.
- PRG_PAM_RCI_005 | Error | Appointment Re-booking cannot be done.
- PRG_PAM_RCI_006 | Error | Registration Center data not found.
-
-**Dependency Modules**
-
-Component Name | Module Name | Description |
------|----------|-------------|
- Audit Manager | Kernel | To audit the process while creating the pre-registration.
- Exception Manager | Kernel | To prepare the user defined exception and render to the user.
- Log | Kernel | To log the process.
- Database Access | Kernel | To get the database connectivity
-
diff --git a/design/pre-registration/pre-registration-data-sync-service.md b/design/pre-registration/pre-registration-data-sync-service.md
deleted file mode 100644
index 151882cc2ac..00000000000
--- a/design/pre-registration/pre-registration-data-sync-service.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# Approach for Data Sync Service
-
-**Background**
-- Exposing the API to Registration client will provide with the list of Pre-Registration IDs for which they wants to get Pre-Registration Data.
-- Expose the API to Registration Processor will provide with the list of Pre-Registration IDs for which it wants to update Pre-Registration status.
-
-The key requirements are
-- Create the REST API to Registration client, list of Pre-Registration IDs for which it wants to get Pre-Registration Data.
-- Another REST API to Registration client, they will provide Pre-Registration Id to get the pre-registration data in zipped format. which consisting of ID.json and Documents.
-- Create the REST API to Registration Processor will provide with the list of Pre-Registration IDs for which they consumed.
-
-The key non-functional requirements are
-- Security :
- - The Pre-Registration securely share the pre-registration data to registration client.
- - Response signature.
-- Log the each state of the data sync:
- - As a security measures the PII information should not be logged.
-- Audit :
- - User ID, RC ID, Transaction ID, Time-stamp should be stored into the DB for audit purpose.
- - Pre-reg Id and important detail of the applicant should not be audited.
- - Registration processor ID, Transaction ID, Time-stamp should be stored into the DB for audit purpose.
-- Exception :
- - Any exception occurred during the pre-registration data sync, the same will be reported to the registration client in a understandable exception.
-
-
-**NFRs -**
-
-1. Pre registration would expose Data-sync service, this is REST over HTTPS.
-2. Registration client would call the service
-3. the result would be fetched from DB and zipped information delivered.
-4. security architecture would depict the security scenarios other than HTTPS.
-5. multiple clients and pre registration is source of data.
-6. registration client should be on-line to get the data.
-7. No intermediate server to support mobility of registration client.
-8. HTTPS provides end point security.
-
-
-
-**Solution**
-
-**Reterive all pre-registration Ids :**
-
-1. Create a REST API as '/sync' POST Method, which accept the Data Sync JSON object from the request body.
-2. The JSON object contains Registration Center ID, Appointment Date Range(Start Date, End Date).
-3. The System will generate a Transaction ID and fetch all the Pre-Registrations within the Date Range(Start Range, End Date) and for the Registration Center ID received.
-4. The System will calculate the count of the Pre-Registration IDs being sent.
-5. The System will send the List of Pre-Registration Ids, count of Pre-Registrations and transaction id in response entity .
-6. Audit the exception/start/exit of the each stages of the data sync mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration-data-sync-service-sync-all](_images/_class_diagram/data-sync-service.png)
-
-**Sequence Diagram**
-
-![pre-registration-data-sync-service-sync -all](_images/_sequence_diagram/dataSync-retrieve-all-preRegIds.png)
-
-
-
-
-**Reterive Pre-Registrations:**
-
-1. Create a REST API as '/sync' GET Method, which accept the pre-registration id from the request path parameter.
-2. The System will generate a Transaction ID and do the following operation need to be happens:
- Step1: fetch the demographic JSON object and appointment date time and decrypt JSON object, if successful go to next step otherwise throw an exception.
- Step2: fetch all the document metadata and prepare the JSON structure and append it to the ID JSON object. fetch the perticular document, if successful go to next step otherwise throw an exception.
- Step3: prepare a zip file and ResponseDTO.{zip file structure need to discuss}
-3. Audit the exception/start/exit of the each stages of the data sync mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration-data-sync-service-sync-data](_images/_class_diagram/data-sync-service.png)
-
-**Sequence Diagram**
-
-![pre-registration-data-sync-service-sync-data](_images/_sequence_diagram/dataSync-retrieve-data.png)
-
-
-
-
-**Store all pre-registration Ids :**
-
-1. Create a REST API as '/sync/consumedPreRegIds' POST method accept the JSON object from the registration-processor.
-2. The Registration Processor will provide the List of Pre-Registration IDs received by it(from Registration Client).
-3. The System will generate a Transaction ID and store all the Pre-Registration ids in "prereg-i_processed_prereg_list" table and update in "prereg-processed_prereg_list" table.
-4. The "prereg-i_processed_prereg_list" table is not permanent, for maintenance purpose database team can truncate this table.
-5. A batch job need to be running to update the application.demographic table with "Processed" status.
-6. Once Pre-Registration successfully processed. System will send an Acknowledgment of the Receipt ("need to be check BA(Vyas)")
-7. Audit the exception/start/exit of the each stages of the reverse data sync mechanism using AuditManager component.
-
-**Class Diagram**
-
-![pre-registration-data-sync-service-sync -consumed](_images/_class_diagram/data-sync-service-consumed.png)
-
-**Sequence Diagram**
-
-![pre-registration-data-sync-service-sync -consumed](_images/_sequence_diagram/dataSync-consumed-preRegId.png)
-
-
-**Success / Error Code**
- - While processing the Pre-Registration if there is any error or successfully then send the respective success or error code to the UI from API layer as Response object.
-
- Code | Type | Message|
------|----------|-------------|
- 0000 | Success | Packet Successfully created
-
-
-**Dependency Modules**
-
-Component Name | Module Name | Description |
------|----------|-------------|
- Audit Manager | Kernel | To audit the process while data sync.
- Exception Manager | Kernel | To prepare the user defined exception and render to the user.
- Log | Kernel | To log the process.
- Database Access | Kernel | To get the database connectivity
diff --git a/design/pre-registration/pre-registration-demographic-service.md b/design/pre-registration/pre-registration-demographic-service.md
deleted file mode 100644
index de36bf05b10..00000000000
--- a/design/pre-registration/pre-registration-demographic-service.md
+++ /dev/null
@@ -1,168 +0,0 @@
-# Approach for pre-registration demographic service
-
-**Background**
-- Exposing the REST API to create pre-registration for a citizen, where the data captured in the pre-registration portal should be stored.
-
-The target users are -
- - Pre-Registration portal
-
-The key requirements are -
-
-1. Create the API to store the demographic details of the citizen for a pre-registration, where the data captured in the pre-registration portal should be stored.
-2. Pre-Registration Id should get generated and assigned to demographic details and it should be stored in encrypted JSON in database.
-3. Once the pre-registration form is stored in database then it should be in "Pending Appointment" status.
-4. The API should return the success / failure status code along with the respective message.
-
-
-The key non-functional requirements are
-
-- Security :
- - The Pre-Registration JSON form should be encrypted.
- - Generate hash out of encrypted JSON.
- - Compare hash while retrieving the data.
-- Log the each state of the pre-registration creation:
- - As a security measures the Pre-Id or applicant information should not be logged.
-- Audit :
- - Each state of the Pre-Registration creation should be stored into the DB for audit purpose.
- - Pre-reg Id and important detail of the applicant should not be audited.
-- Exception :
- - Any exception occurred during the pre-registration, the same will be reported to the user with the user understandable exception.
-
-
-**Solution**
-
-**Class Diagram**
-
-![Pre-Registration-Demographic-Service](_images/_class_diagram/demographic-service.png)
-
-**Create a new pre-registration :**
-
-1. Create a REST API as '/applications' with POST method which accept the ID Definition JSON object (#id-definition-structure) from the request body.
-2. Validate the request object against the ID Definition schema, If the provided request ID JSON object is valid then continue with the rest of the process otherwise throw an respective error message.
-3. Generate the pre-registration id and assign to the requested ID JSON object and set it to the database entity.
-4. Encrypt the ID JSON with current time-stamp and set it to the database entity. If the encryption is successful continue otherwise throw an respective error message.
-5. Generate hash out of encrypted ID JSON and set it to the database entity. If the hash function is successful continue otherwise throw an respective error message.
-6. Save the per-registration entity in the database. If data save successful in database render the successful response otherwise any database exception occurs then rollback the current transaction and throw the respective exception otherwise.
-7. Audit the exception/start/exit of the each stages of the Pre-registration save mechanism using AuditManager component.
-
-
-**Sequence Diagram**
-![Pre-Registration-Demographic-Create](_images/_sequence_diagram/demographic-create.png)
-
-
-
-
-**Update existing pre-registration :**
-
-1. Create a REST API as '/applications' with PUT method which accept the ID Definition JSON object (#id-definition-structure) from the request body and pre-registration id from request parameter.
-2. Get the existing per-registration entity from database by pre-reg id. If data is not present in the database throw an respective exception.
-3. Validate the requested ID JSON against the ID Definition schema, If the requested ID JSON is valid then continue otherwise throw an respective error message.
-4. Encrypt the ID JSON with current time-stamp and set it to the database entity. If the encryption is successful continue otherwise throw an respective error message.
-5. Generate hash out of encrypted ID JSON and sand set it to the database entity. If the hash function is successful continue otherwise throw an respective error message.
-6. Update the per-registration entity in the database. If data update successful in database render the successful response otherwise any database exception occurs then rollback the current transaction and throw the respective exception otherwise.
-7. Audit the exception/start/exit of the each stages of the Pre-registration update mechanism using AuditManager component.
-
-**Sequence Diagram**
-
-![Pre-Registration-Demographic-Update](_images/_sequence_diagram/demographic-update.png)
-
-
-
-
-**Update existing pre-registration status:**
-
-1. Create a REST API as '/applications/status' with PUT method which accept the pre-registration id from request parameter and status in query parameter.
-2. Get the existing per-registration entity from database by pre-reg id. If data is not present in the database throw an respective exception.
-3. Set the per-registration entity with new status.
-4. Update the per-registration entity in the database. If data update successful in database render the successful response otherwise any database exception occurs then rollback the current transaction and throw the respective exception otherwise.
-5. Audit the exception/start/exit of the each stages of the Pre-registration update status mechanism using AuditManager component.
-
-**Sequence Diagram**
-
-![Pre-Registration-Demographic-Update-Status](_images/_sequence_diagram/demographic-update-status.png)
-
-
-
-**Retrieve existing pre-registration :**
-
-1. Create a REST API as '/applications' with GET method which accept the pre-registration id from request parameter.
-2. Get the existing per-registration entity from database by pre-reg id. If data is not present in the database throw an respective exception.
-3. Retrieve the user-id from the authorization token and compare with user-id present in entity, if it success then proceed with next operation otherwise throw an respective exception.
-4. Generate hash out of encrypted ID JSON and compare with the existing hash from the entity, if it success then proceed with next operation otherwise throw an respective exception.
-5. Then decrypt ID JSON using time-stamp of encryption by using KERNEL API, send a successful response with ID JSON otherwise throw an respective exception.
-6. Audit the exception/start/exit of the each stages of the Pre-registration retrieve mechanism using AuditManager component.
-
-**Sequence Diagram**
-
-![Pre-Registration-Demographic-Retrieve](_images/_sequence_diagram/demographic-retrieve-by-preRegId.png)
-
-
-
-
-**Retrieve existing pre-registration status:**
-
-1. Create a REST API as '/applications/status' with GET method which accept the pre-registration id from request parameter.
-2. Get the existing per-registration entity from database by pre-reg id. If data is not present in the database throw an respective exception.
-3. Then status of the pre-registration given into the response.
-4. Audit the exception/start/exit of the each stages of the Pre-registration retrieve mechanism using AuditManager component.
-
-
-**Sequence Diagram**
-
-![Pre-Registration-Demographic-Retrieve-Status](_images/_sequence_diagram/demographic-retrieve-status.png)
-
-
-**Retrieve All existing pre-registration for the User:**
-
-1. Create a REST API as '/applications' with GET method.
-2. Retrieve the user-id from the authorization token.
-3. Get the all per-registration entity from database by user-id. If data is not present in the database throw an respective exception.
-4. Loop all per-registration entities and generate hash out of encrypted ID JSON and compare with the existing hash from the entity, if it success then proceed with next operation otherwise throw an respective exception.
-5. Then decrypt ID JSON using time-stamp of encryption by using KERNEL API, Get the required field values from the entity and construct an object and assign to the list with ID JSON otherwise throw an respective exception.
-6. Send the list of object into the response.
-7. Audit the exception/start/exit of the each stages of the Pre-registration retrieve all mechanism using AuditManager component.
-
-**Sequence Diagram**
-
-![Pre-Registration-Demographic-Retrieve-All](_images/_sequence_diagram/demographic-retrieve-by-userId.png)
-
-
-
-
-**Discard Pre-Registration:**
-1. Create a REST API as '/applications' with DELETE method which accept the pre-registration id from request parameter.
-2. Retrieve the user-id from the authorization token.
-3. Get the existing per-registration entity from database by pre-reg id. If data is not present in the database throw an respective exception.
-4. Compare user-id with entity's user-id. if it matches then delete the record from the database and send the success response otherwise throw an respective exception.
-5. Audit the exception/start/exit of the each stages of the Pre-registration delete mechanism using AuditManager component.
-
-**Sequence Diagram**
-
-![Pre-Registration-Demographic-Delete](_images/_sequence_diagram/demographic-delete.png)
-
-
-
-**Success / Error Code**
-
- While processing the Pre-Registration if there is any error or successfully
- then send the respective success or error code to the UI from API layer as Response object.
-
- Code | Type | Message|
------|----------|-------------|
- 0000 | Success | Packet Successfully created
- PRG_PAM_APP_001 | Error | Unable create the pre-registration.
- PRG_PAM_APP_002 | Error | Pre-Registration table not accessible
- PRG_PAM_APP_003 | Error | Delete operation not allowed
- PRG_PAM_APP_004 | Error | Failed to delete the registration
- PRG_PAM_APP_005 | Error | Unable to fetch the registrations
-
-**Dependency Modules**
-
-Component Name | Module Name | Description |
------|----------|-------------|
- Audit Manager | Kernel | To audit the process while creating the pre-registration.
- Exception Manager | Kernel | To prepare the user defined exception and render to the user.
- Log | Kernel | To log the process.
- JOSN Utility | Kernel | To validate the ID definition JSON object over ID Definition Schema
- Pre-Id Generator | Kernel | To get the generated Pre-Registration Id
- Database Access | Kernel | To get the database connectivity
\ No newline at end of file
diff --git a/design/pre-registration/pre-registration-document-service.md b/design/pre-registration/pre-registration-document-service.md
deleted file mode 100644
index 550d6b58bc5..00000000000
--- a/design/pre-registration/pre-registration-document-service.md
+++ /dev/null
@@ -1,173 +0,0 @@
-# Approach for pre-registration document service
-
-**Background**
-- Exposing the REST API to store the supporting documents of the citizen for a pre-registration.
-
-The key requirements are -
-
-1. Create the APIs to store, modify, delete and retrieve the supporting document of the citizen for a pre-registration.
-2. For each document upload it should hit the rest api to store the document in database.
-3. There should be a copy document option in the UI prospective, Once it get checked then an REST API call should happen with source pre-registration id, destination pre-registration id and document category type, with this parameter document get copied to the destination pre-registration id in database.
-4. Get all the documents associated with pre-registration id.
-5. Get particular document associated with document id.
-6. Delete particular document by providing the document id and pre-registration id.
-
-
-The key non-functional requirements are
-
-- Security :
- - Document should be encrypted.
- - Generate hash out of encrypted document.
- - Store the encrypted document in HDFS.
- - Compare hash while retrieving the data.
-
-- Log the each state of the pre-registration creation:
- - As a security measures the Pre-Id or applicant information should not be logged.
-
-- Audit :
- - Each state of the document service should be stored into the DB for audit purpose.
- - Pre-reg Id and important detail of the applicant should not be audited.
-
-- Exception :
- - Any exception occurred during the pre-registration, the same will be reported to the user with the user understandable exception.
-
-
-**Solution**
-
-**Class Diagram**
-
-![Document-Service](_images/_class_diagram/document-service.png)
-
-**Document Upload:**
-
-- Create a REST API as '/documents' with POST method which accept the pre-registration id from the request path parameter, document and document's JSON object from the request part parameter.
-
-- Encrypt the document with current time stamp and set the time stamp to the document entity. If the encryption is successful continue otherwise throw an respective error message.
-
-- Generate hash out of encrypted document and set it to the document entity. If the hash function is successful continue otherwise throw an respective error message.
-
-- Save the encrypted document into the file system using KERNEL API. If file system store is successful continue otherwise throw an respective error message.
-
-- Save new per-registration document entity in the database. If data save successful in database render the successful response otherwise any database exception occurs then rollback the current transaction and throw the respective exception otherwise.
-
-- Audit the exception/start/exit of the each stages of the document save mechanism using AuditManager component.
-
-**Sequence Diagram**
-
-![Pre-Registration-Document-Upload](_images/_sequence_diagram/document-upload.png)
-
-
-**Document Copy:**
-
-- Create a REST API as '/documents' with PUT method which accept the pre-registration id from the request path parameter, document category code and source pre-registration id from the request query parameter.
-
-- Get the existing source per-registration document entity from database by source pre-registration id and category code. If data is not present in the database throw an respective exception.
-
-- Create an document entity for the specified pre-registration id and set the values from the source per-registration document entity.
-
-- Save new per-registration document entity in the database. If data save successful in database render the successful response otherwise any database exception occurs then rollback the current transaction and throw the respective exception otherwise.
-
-- Audit the exception/start/exit of the each stages of the document copy mechanism using AuditManager component.
-
-**Sequence Diagram**
-
-![Pre-Registration-document-Copy](_images/_sequence_diagram/document-copy.png)
-
-**Retrieve All documents metadata for the pre-registration:**
-
-- Create a REST API as '/documents' with GET method which accept the pre-registration id from request parameter.
-
-- Get the all document entity from database by pre-registration-id. If data is not present in the database throw an respective exception.
-
-- Loop all document entities and retrieve the required field values from the entity and construct an object and assign to the list otherwise throw an respective exception.
-
-- Send the list of object into the response.
-
-- Audit the exception/start/exit of the each stages of the Pre-registration retrieve all documents metadata mechanism using AuditManager component.
-
-**Sequence Diagram**
-
-![Pre-Registration-Document-Retrieve-All-Metadata](_images/_sequence_diagram/document-retrieve-by-preRegId.png)
-
-**Retrieve document :**
-
-- Create a REST API as '/documents' with GET method which accept the document id from request parameter and pre-registration-id from query parameter.
-
-- Get the existing document entity from database by document id. If data is not present in the database throw an respective exception.
-
-- Get the pre-registration-id from the query parameter and compare with pre-registration-id present in entity, if it success then proceed with next operation otherwise throw an respective exception.
-
-- Retrieve the encrypted document from the FileSystemManager, if it success then proceed with next operation otherwise throw an respective exception.
-
-- Generate hash out of encrypted document and compare with the existing hash from the entity, if it success then proceed with next operation otherwise throw an respective exception.
-
-- Then decrypt document using time stamp of encryption by using KERNEL API, send a successful response with document bytearray otherwise throw an respective exception.
-
-- Audit the exception/start/exit of the each stages of the Pre-registration retrieve document mechanism using AuditManager component.
-
-**Sequence Diagram**
-
-![Pre-Registration-Document-Retrieve](_images/_sequence_diagram/document-retrieve-by-documentId.png)
-
-
-**Discard Document:**
-
-- Create a REST API as '/documents' with DELETE method which accept the document id from request parameter.
-
-- Get the existing document entity from database by document id. If data is not present in the database throw an respective exception.
-
-- Delete the record from the database and delete the encrypted document from the file system and send the success response otherwise throw an respective exception.
-
-- Audit the exception/start/exit of the each stages of the Pre-registration document delete mechanism using AuditManager component.
-
-
-**Sequence Diagram**
-
-![Pre-Registration-Document-Delete](_images/_sequence_diagram/document-delete-by-documentId.png)
-
-
-**Discard All Document:**
-
-- Create a REST API as '/documents/preRegistration' with DELETE method which accept the pre-registration id from request parameter.
-
-- Get the all document entities from database by pre-reg id. If data is not present in the database throw an respective exception.
-
-- Loop the document entities and delete the record from the database and delete the encrypted document from the file system and send the success response otherwise throw an respective exception.
-
-- Audit the exception/start/exit of the each stages of the Pre-registration delete all mechanism using AuditManager component.
-
-
-**Sequence Diagram**
-
-![Pre-Registration-Document-Delete-All](_images/_sequence_diagram/document-delete-preRegId.png)
-
-
-**Success / Error Code**
-
- While processing the Pre-Registration if there is any error or successfully
- then send the respective success or error code to the UI from API layer as Response object.
-
- Code | Type | Message|
------|----------|-------------|
- 0000 | Success | Packet Successfully created
- PRG_PAM_DOC_001 | Error | Document failed to upload
- PRG_PAM_DOC_002 | Error | Document exceeding premitted size
- PRG_PAM_DOC_003 | Error | Document type not supported
- PRG_PAM_DOC_004 | Error | Document invalid format
- PRG_PAM_DOC_005 | Error | Document failed in virus scan
- PRG_PAM_DOC_006 | Error | Document failed in quality check
- PRG_PAM_DOC_007 | Error | Document failed in encryption
- PRG_PAM_DOC_008 | Error | Document failed in decryption
- PRG_PAM_DOC_009 | Error | Document not present
- PRG_PAM_DOC_010 | Error | Document failed to delete
- PRG_PAM_DOC_011 | Error | Document failed to copy
-
-**Dependency Modules**
-
-Component Name | Module Name | Description |
------|----------|-------------|
- FileSystemManager | Kernel | To store the documents in file system
- Audit Manager | Kernel | To audit the process while creating the pre-registation.
- Exception Manager | Kernel | To prepare the user defined exception and render to the user.
- Log | Kernel | To log the process.
- Database Access | Kernel | To get the database connectivity
diff --git a/design/pre-registration/pre-registration-generate-qr-code-service.md b/design/pre-registration/pre-registration-generate-qr-code-service.md
deleted file mode 100644
index 42c1c9e88af..00000000000
--- a/design/pre-registration/pre-registration-generate-qr-code-service.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Approach for Generate QR Code Service
-
-**Background**
-- Exposing the REST API to generate QR code based on pre-registration data.
-
-The key requirements -
-- Create the REST API to generate QR code to the pre-registration data. which internally call the kernel qr code generate API.
-
-The key non-functional requirements are
-- Log the each state while generate QR code to the pre-registration data:
-- Exception :
- - Any exception occurred during generating QR code, the same will be reported to the user with the user understandable exception.
-
-**Solution**
-
-** Generate QR Code:**
-- Create a REST API as '/generateQRCode' with POST method, which accept the pre-registration data in string format.
-- Internally call an KERNEL API to generate QR code which return byte-array. If it generate successfully send the response otherwise throw an respective exception.
-
-**Class Diagram**
-![pre-registration generateQRCode](_images/_class_diagram/generateQRCode.png)
-
-**Sequence Diagram**
-![pre-registration generateQRCode](_images/_sequence_diagram/QRcodeGenerate-generate.png)
-
-**Error Code**
-
-Code|Type| Message
------|----------|-------------
-PRG_ACK-006|Error| QRCODE_FAILED_TO_GENERATE.
-
-**Dependency Modules**
-
-Component Name | Module Name | Description |
------|----------|-------------|
-QRGenerator | Kernel | To generate an QR code.
-Exception Manager | Kernel | To prepare the user defined exception and render to the user.
-Log | Kernel | To log the process.
-
diff --git a/design/pre-registration/pre-registration-login-service.md b/design/pre-registration/pre-registration-login-service.md
deleted file mode 100644
index 3281f5feeeb..00000000000
--- a/design/pre-registration/pre-registration-login-service.md
+++ /dev/null
@@ -1,112 +0,0 @@
-# Approach for Pre-Registration Login Service
-
-**Background**
-- Exposing the REST API to authenticate citizen and login to pre-registration portal.
-
-The key requirements -
-- Create the REST API to authenticate citizen by user-id and OTP while login and invalidate the token for logout. which internally call the KERNEL authentication service.
-
-The key non-functional requirements are
-- Log the each state of the pre-registration citizen login:
- - As a security measures the citizen OTP should not be logged.
-- Exception :
- - Any exception occurred during the login, the same will be reported to the user with the user understandable exception.
-
-**Solution**
-
-**Login - sendOTP :**
-
-- Create a REST API as '/login/sendOtp' POST method, which accept the login JSON object in request body.
-- Get the app-id value defined in global configuration and prepare the request object.
-- Then do the REST call to send OTP from Authentication service.
-refer : https://github.com/mosip/mosip-docs/wiki/AuthN-&-AuthZ-APIs
-
-**Class Diagram**
-![pre-registration login service sendOTP ](_images/_class_diagram/login-sendOtp.png)
-
-**Sequence Diagram**
-![pre-registration login service sendOTP](_images/_sequence_diagram/login-sendOtp.png)
-
-
-**Error Code**
-
- While sending the OTP if there is any error then send the respective error code to the UI from API layer as Response object.
-
- Code | Type | Message|
------|----------|-------------|
-PRG_AUTH-001 | Error | Failed to send the OTP.
-
-
-
-**Login - validateOTP :**
-
-- Create a REST API as '/login/validateOtp' POST method, which accept the login validate JSON object in request body.
-- Then do the REST call to validate OTP from Authentication service.
-refer : https://github.com/mosip/mosip-docs/wiki/AuthN-&-AuthZ-APIs
-
-**Class Diagram**
-![pre-registration login service - validateOTP](_images/_class_diagram/login-validateOtp.png)
-
-**Sequence Diagram**
-![pre-registration login service - validateOTP](_images/_sequence_diagram/login-validateOTP.png)
-
-**Error Code**
-
- While validating the OTP if there is any error then send the respective error code to the UI from API layer as Response object.
-
- Code | Type | Message|
------|----------|-------------|
- PRG_AUTH-002 | Error | Failed to validate the OTP.
-
-
-
-**Logout - invalidate :**
-
-- Create a REST API as '/login/invalidateToken' POST method, which accept the AuthToken from the request header.
-- Then do the REST call to invalidate the authentication token from Authentication service.
-refer : https://github.com/mosip/mosip-docs/wiki/AuthN-&-AuthZ-APIs
-
-**Class Diagram**
-![pre-registration login service logout](_images/_class_diagram/login-invalidateToken.png)
-**Sequence Diagram**
-![pre-registration login service logout](_images/_sequence_diagram/login-invalidateToken.png)
-
-**Error Code**
-
- While invalidating AuthToken if there is any error then send the respective error code to the UI from API layer as Response object.
-
- Code | Type | Message|
------|----------|-------------|
- PRG_AUTH-003 | Error | Failed to invalidate token.
-
-
-
-**Retrieve Configuration Parameters :**
-
-- Create a REST API as 'login/config' GET Method.
-- It will fetch from global properties from application.properties file and module related properties from pre-registration.properties file.
-- To fetch values of global properties we need to have the required key configured in pre-registration.properties file and do the REST call to the config server to get the application.properties file and do the operation to get the values.
-
-**Class Diagram**
-
-![pre-registration login service config](_images/_class_diagram/login-config.png)
-
-**Sequence Diagram**
-
-![pre-registration login service config](_images/_sequence_diagram/login-config.png)
-
-**Error Code**
- While invalidating AuthToken if there is any error then send the respective error code to the UI from API layer as Response object.
-
- Code | Type | Message|
------|----------|-------------|
-PRG_AUTH_004 | Error | Config files not found.
-
-
-**Dependency Modules**
-
-Component Name | Module Name | Description |
------|----------|-------------|
- Authentication Service | Kernel | To send/validate OTP and invalidate token.
- Exception Manager | Kernel | To prepare the user defined exception and render to the user.
- Log | Kernel | To log the process.
diff --git a/design/pre-registration/pre-registration-notification-service.md b/design/pre-registration/pre-registration-notification-service.md
deleted file mode 100644
index 8e8c2bb3ed7..00000000000
--- a/design/pre-registration/pre-registration-notification-service.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# Approach for Notification Service
-
-**Background**
-- Exposing a REST API to send notifications to citizen via SMS or Email.
-
-The key requirements are
-
-- Create a REST API to send notifications to citizen via SMS or Email, which internally calls the kernel notification service.
-
-The key non-functional requirements are
-
-- Log :
- - Log the each state while sending notification to a citizen:
-
-- Exception :
- - Any exception occurred during sending notification, the same will be reported to the user with the user understandable exception.
-
-**Solution**
-
-**Notify :**
-
-- Create a REST API as '/notify' POST method which accept the notification details, lang code, document for attachment as a request part parameters.
-- notification details contains : name, pre-registration id, appointment date, appointment time, mobile number, email address and additionalRecipient.
-- If the additionalRecipient is false then based on the pre-registration id do the REST call to retrieve the pre-registration data, parse the ID JSON object to get the mobile number and email address out of it.
-- Do the REST call to retrieve the corresponding language notification templet based on requestd and lang code.
-- DO the REST call to the KERNEL notification service based on SMS and Email. If it is successful send the success response otherwise throw an exception.
-
-**Class Diagram**
-![pre-registration-notification-service](_images/_class_diagram/notification-notify.png)
-
-**Sequence Diagram**
-![pre-registration-notification-service](_images/_sequence_diagram/notification-notify.png)
-
-**Error Code**
- While notify the OTP if there is any error then send the respective error code to the UI from API layer as Response object.
-
- Code | Type | Message|
------|----------|-------------|
-PRG_ACK_001 | Error | MOBILE_NUMBER_OR_EMAIL_ADDRESS_NOT_FILLED.
-PRG_ACK_002 | Error | INCORRECT_MANDATORY_FIELDS.
-
-**Dependency Modules**
-
-Component Name | Module Name | Description |
------|----------|-------------|
- SMS Notifier | Kernel | To notify via SMS.
- Email Notifier | Kernel | To notify via email.
- Exception Manager | Kernel | To prepare the user defined exception and render to the user.
- Log | Kernel | To log the process.
diff --git a/design/pre-registration/pre-registration-sec-arch.md b/design/pre-registration/pre-registration-sec-arch.md
deleted file mode 100644
index 6c23839ca8e..00000000000
--- a/design/pre-registration/pre-registration-sec-arch.md
+++ /dev/null
@@ -1,8 +0,0 @@
-
-# Security flow for pre-registration
-
-**Introduction**
-This is the technical security flow for pre registration API access.
-
-![pre-registration-technical-flow](_images/preregd_sec_arch.png)
-
diff --git a/design/pre-registration/pre-registration-transliteration-service.md b/design/pre-registration/pre-registration-transliteration-service.md
deleted file mode 100644
index 15acf1c0d94..00000000000
--- a/design/pre-registration/pre-registration-transliteration-service.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# Multi-Language Support & Transliteration Service
-
-**Background**
-- Mosip Support multi-language feature.
-
-**Solution**
-1. Id object mapping would be changed to support translation.
-2. User could select primary language at first time log in.
-3. From second time onward it would be the same language.
-4. All error messages and information messages would be shown in primary language.
-5. Secondary language would be one time and could not be changed.
-6. Primary and secondary language would be persisted in DB
-7. Multiple language translation file would be generated at design time.
-8. Run time new languages could not be added.
-
-**Transliteration**
-
-- We would use virtual keyboard provided by angular to capture user preferred language input.
-
-- We are Exposing the REST API to transliterate based on language code and value.
-
-- Create the REST API to transliterate the value based on language, which internally call the ICU4j library.
-
-- Internally call an ICU4j API to generate transliterated value, If it transliterated successfully send the response otherwise throw an respective exception.
-
-**Sequence Diagram**
-![pre-registration transliterate](_images/_sequence_diagram/transliteration-transliterate.png)
-**Error Code**
-
- Code | Type | Message
------|----------|-------------
-PRG-TRA-001 | Error | Failed to transliterate
-
-
-**Dependency Modules**
-
-Component Name | Module Name | Description |
------|----------|-------------|
-ICU4j | Library | To transliterate.
-Exception Manager | Kernel | To prepare the user defined exception and render to the user.
-Log | Kernel | To log the process.
diff --git a/docs/configuration.md b/docs/configuration.md
new file mode 100644
index 00000000000..72b1c3048cf
--- /dev/null
+++ b/docs/configuration.md
@@ -0,0 +1,25 @@
+# Pre-registration Configuration Guide
+
+## Property files
+The configuration of the services is controlled by the following property files:
+* `application-default.propertes`
+* `pre-registration-default.propertes`
+
+See [Module Configuration](https://docs.mosip.io/1.2.0/modules/module-configuration) for location of these files.
+
+## Few important configurations
+|Property|Description|
+|---|---|
+|`preregistration.document.extention`|Document formats|
+|`max.file.size`|Document max upload size|
+|`mosip.preregistration.document.scan`|To enable Virus Scan for document being uploaded|
+|`preregistration.availability.sync`|Number of days for which sync is done on the Booking Slots generated for a registration centre|
+|`preregistration.availability.noOfDays`|Number of days for which booking slots will be available.|
+|`preregistration.booking.offset`|Gap between the date of booking and the first appointment date to be shown|
+|`preregistration.config.identityjson`|Mapping file for Pre-registration & ID Object|
+|`preregistration.identity.name`|The field name from ID Schema which indicates user's name.|
+|`preregistration.notification.nameFormat`|The field name from ID Schema which indicates user's name. Used in notifications.|
+|`preregistration.recommended.centers.locCode`|The value depicts the location hierarchy code of the hierarchy based on which the recommended centers is loaded|
+|`preregistration.contact.email`|Contact details of the Support for Pre-registration portal.|
+|`preregistration.contact.phone`|Contact details of the Support for Pre-registration portal.|
+
diff --git a/pre-registration/pom.xml b/pre-registration/pom.xml
index 3c11d0ee156..5744cb99868 100644
--- a/pre-registration/pom.xml
+++ b/pre-registration/pom.xml
@@ -6,85 +6,47 @@
io.mosip.preregistration
pre-registration-parent
- 1.2.0-SNAPSHOT
+ 1.2.1-java21-SNAPSHOT
pom
pre-registration
Parent project of MOSIP Pre-Registration
https://github.com/mosip/pre-registration
-
-
- MPL 2.0
- https://www.mozilla.org/en-US/MPL/2.0/
-
-
-
-
- scm:git:git://github.com/mosip/pre-registration.git
- scm:git:ssh://github.com:mosip/pre-registration.git
- https://github.com/mosip/pre-registration
- HEAD
-
-
-
-
- Mosip
- mosip.emailnotifier@gmail.com
- io.mosip
- https://github.com/mosip/pre-registration
-
-
-
-
-
- ossrh
- CentralRepository
- https://oss.sonatype.org/content/repositories/snapshots
- default
-
- true
-
-
-
- central
- MavenCentral
- default
- https://repo1.maven.org/maven2
-
- false
-
-
-
-
-
-
- ossrh
- https://oss.sonatype.org/content/repositories/snapshots
-
-
- ossrh
- https://oss.sonatype.org/service/local/staging/deploy/maven2/
-
-
-
- 1.2.0-SNAPSHOT
- 1.2.0-SNAPSHOT
UTF-8
- 11
- 11
- 3.8.0
+ UTF-8
+ 21
+
+
+ ${java.version}
+ ${java.version}
+ 3.11.0
3.0.2
3.1.0
- 2.22.0
- 0.8.5
+ 3.2.0
+ 2.3
+ 0.8.11
+ 3.1.1
+ 3.3.1
+ 3.2.3
+ 3.0.2
+ 3.1.0
+ 3.3.0
+ 3.1.2
+ 3.2.5
+ 1.6.7
3.7.0.1746
- 3.2.0
+
+ 3.0.1
+ 0.2
+
+
+ 2.5.0
5.0.4.RELEASE
- 2.0.2.RELEASE
+ 3.2.3
2.0.9.RELEASE
2.0.0.RELEASE
@@ -92,9 +54,6 @@
2.0.1.Final
2.9.5
-
- 2.9.2
-
2.5.0
5.1.46
@@ -112,24 +71,25 @@
2.2
4.3
-
4.12
1.1.6
1.7.19
- 1.10.19
+ 3.4.3
- 1.18.8
+ 1.18.30
- 1.1
+ 1.1.1
+
3.1.4
20080701
0.7.4
1.2
63.1
+ 1.4.2
**/code/**,
@@ -155,10 +115,12 @@
**/dto/**,**/entity/**,**/config/**
- 3.0.2
- 3.1.0
-
+
+ 1.2.1-java21-SNAPSHOT
+ 1.2.1-java21-SNAPSHOT
+ 1.2.1-java21-SNAPSHOT
+
pre-registration-core
pre-registration-application-service
@@ -166,52 +128,74 @@
pre-registration-batchjob
pre-registration-captcha-service
+
+
+
+
+ io.mosip.kernel
+ kernel-bom
+ ${kernel.bom.version}
+ pom
+ import
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+ provided
+
+
+
javax.xml.bind
jaxb-api
- 2.3.1
javax.activation
activation
- 1.1
org.glassfish.jaxb
jaxb-runtime
- 2.3.1
org.mockito
mockito-core
- 2.22.0
test
org.javassist
javassist
- 3.27.0-GA
com.fasterxml.jackson.core
jackson-databind
- 2.12.0
com.fasterxml.jackson.core
jackson-annotations
- 2.12.0
com.fasterxml.jackson.core
jackson-core
- 2.12.0
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
- 2.12.0
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+ junit
+ junit
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
@@ -271,14 +255,19 @@
${skipTests}
false
- ${argLine} --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED --illegal-access=permit
+ ${argLine}
+ --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED
+ --add-opens java.base/java.lang=ALL-UNNAMED
+ --add-opens java.base/java.io=ALL-UNNAMED
+ --illegal-access=debug
+ --enable-preview
org.jacoco
jacoco-maven-plugin
- ${maven.jacoco.version}
+ ${jacoco.maven.plugin.version}
@@ -297,7 +286,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- ${maven.javadoc.version}
+ ${maven.javadoc.plugin.version}
attach-javadocs
@@ -313,7 +302,7 @@
org.sonatype.plugins
nexus-staging-maven-plugin
- 1.6.7
+ ${nexus.staging.maven.plugin.version}
true
ossrh
@@ -325,7 +314,7 @@
org.apache.maven.plugins
maven-source-plugin
- 2.2.1
+ ${maven.source.plugin.version}
attach-sources
@@ -339,7 +328,7 @@
org.apache.maven.plugins
maven-gpg-plugin
- 1.5
+ ${maven.gpg.plugin.version}
sign-artifacts
@@ -394,7 +383,7 @@
pl.project13.maven
git-commit-id-plugin
- 3.0.1
+ ${git.commit.id.plugin.version}
get-the-git-infos
@@ -406,14 +395,14 @@
true
- ${project.build.outputDirectory}/git.properties
+
+ ${project.build.outputDirectory}/git.properties
^git.build.(time|version)$
^git.commit.id.(abbrev|full)$
full
${project.basedir}/.git
-
@@ -449,4 +438,58 @@
+
+
+
+ ossrh
+ CentralRepository
+ https://oss.sonatype.org/content/repositories/snapshots
+ default
+
+ true
+
+
+
+ central
+ MavenCentral
+ default
+ https://repo1.maven.org/maven2
+
+ false
+
+
+
+
+
+
+ ossrh
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+ ossrh
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
+
+
+ MPL 2.0
+ https://www.mozilla.org/en-US/MPL/2.0/
+
+
+
+ scm:git:git://github.com/mosip/pre-registration.git
+ scm:git:ssh://github.com:mosip/pre-registration.git
+ https://github.com/mosip/pre-registration
+ HEAD
+
+
+
+
+ Mosip
+ mosip.emailnotifier@gmail.com
+ io.mosip
+ https://github.com/mosip/pre-registration
+
+
diff --git a/pre-registration/pre-registration-application-service/Dockerfile b/pre-registration/pre-registration-application-service/Dockerfile
index d45eed3cf36..e9ffd1ebca5 100644
--- a/pre-registration/pre-registration-application-service/Dockerfile
+++ b/pre-registration/pre-registration-application-service/Dockerfile
@@ -1,4 +1,4 @@
-FROM openjdk:11
+FROM eclipse-temurin:21-jre-alpine
ARG SOURCE
ARG COMMIT_HASH
@@ -49,16 +49,16 @@ ARG container_user=mosip
ARG container_user_group=mosip
# can be passed during Docker build as build time environment for github branch to pickup configuration from.
-ARG container_user_uid=1001
+ARG container_user_uid=1002
# can be passed during Docker build as build time environment for github branch to pickup configuration from.
ARG container_user_gid=1001
# install packages and create user
-RUN apt-get -y update \
-&& apt-get install -y unzip \
-&& groupadd -g ${container_user_gid} ${container_user_group} \
-&& useradd -u ${container_user_uid} -g ${container_user_group} -s /bin/sh -m ${container_user}
+RUN apk -q update \
+&& apk add -q unzip wget \
+&& addgroup -g ${container_user_gid} ${container_user_group} \
+&& adduser -s /bin/sh -u ${container_user_uid} -G ${container_user_group} -h /home/${container_user} --disabled-password ${container_user}
# set working directory for the user
WORKDIR /home/${container_user}
@@ -81,8 +81,8 @@ USER ${container_user_uid}:${container_user_gid}
EXPOSE 9090
CMD if [ "$is_glowroot_env" = "present" ]; then \
- #wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-snapshot-local/io/mosip/kernel/kernel-ref-idobjectvalidator/kernel-ref-idobjectvalidator.jar "${loader_path_env}"/kernel-ref-idobjectvalidator.jar ; \
- wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-snapshot-local/io/mosip/kernel/kernel-ref-idobjectvalidator/kernel-ref-idobjectvalidator.jar -O "${loader_path_env}"/kernel-ref-idobjectvalidator.jar ; \
+ #wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-release-local/io/mosip/kernel/kernel-ref-idobjectvalidator/kernel-ref-idobjectvalidator.jar "${loader_path_env}"/kernel-ref-idobjectvalidator.jar ; \
+ wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-release-local/io/mosip/kernel/kernel-ref-idobjectvalidator/kernel-ref-idobjectvalidator.jar -O "${loader_path_env}"/kernel-ref-idobjectvalidator.jar ; \
wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-release-local/icu4j/icu4j.jar -O "${loader_path_env}"/icu4j.jar ; \
wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-release-local/icu4j/kernel-transliteration-icu4j.jar -O "${loader_path_env}"/kernel-transliteration-icu4j.jar ; \
wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-release-local/io/mosip/testing/glowroot.zip ; \
@@ -92,10 +92,11 @@ CMD if [ "$is_glowroot_env" = "present" ]; then \
wget -q --show-progress "${iam_adapter_url_env}" -O "${loader_path_env}"/kernel-auth-adapter.jar; \
java -jar -Dloader.path="${loader_path_env}" -javaagent:glowroot/glowroot.jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" pre-registration-application-service.jar ; \
else \
- wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-snapshot-local/io/mosip/kernel/kernel-ref-idobjectvalidator/kernel-ref-idobjectvalidator.jar -O "${loader_path_env}"/kernel-ref-idobjectvalidator.jar ; \
+ wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-release-local/io/mosip/kernel/kernel-ref-idobjectvalidator/kernel-ref-idobjectvalidator.jar -O "${loader_path_env}"/kernel-ref-idobjectvalidator.jar ; \
wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-release-local/icu4j/icu4j.jar -O "${loader_path_env}"/icu4j.jar ; \
wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-release-local/icu4j/kernel-transliteration-icu4j.jar -O "${loader_path_env}"/kernel-transliteration-icu4j.jar ; \
wget -q --show-progress "${iam_adapter_url_env}" -O "${loader_path_env}"/kernel-auth-adapter.jar; \
+ wget -q --show-progress "${virusscanner_url_env}" -O "${loader_path_env}"/kernel-virusscanner-clamav.jar; \
java -jar -Dloader.path="${loader_path_env}" -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" pre-registration-application-service.jar ; \
#java -jar -Dloader.path="${loader_path_env}" -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" pre-registration-application-service.jar ; \
fi
diff --git a/pre-registration/pre-registration-application-service/README.md b/pre-registration/pre-registration-application-service/README.md
index 328a5ea9eee..e9250ee2c9a 100644
--- a/pre-registration/pre-registration-application-service/README.md
+++ b/pre-registration/pre-registration-application-service/README.md
@@ -5,32 +5,17 @@ This service manages to provide the following service to the Pre-registration ap
* Demographic - This service details used by Pre-Registration portal to maintain the demographic data by providing his/her basic details.
* Document- This service enables Pre-Registration portal to request for uploading the document for a particular pre-registration.
* QrCodeGenerator- This service details used by Pre-Registration portal to generate QR Code.
- * Transliteration- This service details used by Pre-Registration portal to provide transliteration from primary to secondary language.
+ * Transliteration- This service details used by Pre-Registration portal to provide transliteration from one language to another language.
* Notification- This service details used by Pre-Registration portal to trigger notification via SMS or email.
- * Login - This service details used by Pre-Registration portal to authenticate user by sending OTP to the user, validating with userid and OTP.
-
-
-## Design
-
-[Design](https://github.com/mosip/pre-registration/blob/master/design/pre-registration/pre-registration-application-service.md)
-
-
+ * Login - This service details used by Pre-Registration portal to authenticate user by sending OTP to the user, validating with userid and OTP.
## Default Port and Context Path
* server.port=9092
* server.servlet.context-path=/preregistration/v1
-
-
-## URL
-
-* https://{dns-name}:9092/preregistration/v1/applications/swagger-ui.html
-* https://{dns-name}:9092/preregistration/v1/appointment/swagger-ui.html
-* https://{dns-name}:9092/preregistration/v1/transliteration/swagger-ui.html
-* https://{dns-name}:9092/preregistration/v1/login/swagger-ui.html
-* https://{dns-name}:9092/preregistration/v1/notification/swagger-ui.html
-* https://{dns-name}:9092/preregistration/v1/qrCode/swagger-ui.html
+## Swagger URL
+* https://{dns-name}:9092/preregistration/v1/application-service/swagger-ui.html
## Roles to Access the URL
@@ -39,21 +24,25 @@ This service manages to provide the following service to the Pre-registration ap
* REGISTRATION_SUPERVISOR
* REGISTRATION_ADMIN
-
-
## API Dependencies
-|Dependent Module | Dependent Services | API |
-| ------------- | ------------- | ------------- |
-| commons/kernel | kernel-auth-service| /authorize/validateToken |
-| commons/kernel | kernel-pridgenerator-service | /pridgenerator/prid |
-| commons/kernel | kernel-masterdata-service | /documenttypes/{documentcategorycode}/{langcode}|
-| | /validdocuments/{languagecode} |
-| | /{langcode}/{templatetypecode} |
-| commons/kernel | kernel-emailnotification-service | /email/send |
-| commons/kernel | kernel-smsnotification-service | /sms/send |
-| commons/kernel | kernel-cryptomanager-service | /encrypt |
-| | /decrypt |
+* kernel-auditmanager-service
+
+* kernel-syncdata-service
+
+* kernel-otpmanager-service
+
+* kernel-notification-service
+
+* kernel-masterdata-service
+
+* kernel-keymanager-service
+
+* kernel-pridgenerator-service
+
+* kernel-auth-service
+
+* keycloak
diff --git a/pre-registration/pre-registration-application-service/pom.xml b/pre-registration/pre-registration-application-service/pom.xml
index 911f4de2594..ae011a12052 100644
--- a/pre-registration/pre-registration-application-service/pom.xml
+++ b/pre-registration/pre-registration-application-service/pom.xml
@@ -6,52 +6,36 @@
io.mosip.preregistration
pre-registration-parent
- 1.2.0-SNAPSHOT
+ 1.2.1-java21-SNAPSHOT
-
+
pre-registration-application-service
+ 1.2.1-java21-SNAPSHOT
Pre-Registration Application Service Project
Maven project of MOSIP Pre-Registration Service
- 1.2.0-SNAPSHOT
+
- UTF-8
- 1.2.0-SNAPSHOT
- 1.2.0-SNAPSHOT
- 1.2.0-SNAPSHOT
- 1.2.0-SNAPSHOT
- 1.2.0-SNAPSHOT
- 1.2.0-SNAPSHOT
- 1.2.0-SNAPSHOT
- 1.4.2
+
+ 2.1
+ 3.10.8
+
+
+ 1.2.1-java21-SNAPSHOT
+ 1.2.1-java21-SNAPSHOT
+ 1.2.1-java21-SNAPSHOT
+ 1.2.1-java21-SNAPSHOT
+ 1.2.1-java21-SNAPSHOT
+ 1.2.1-java21-SNAPSHOT
-
-
-
- org.springframework.boot
- spring-boot-dependencies
- ${spring.boot.version}
- pom
- import
-
-
- org.projectlombok
- lombok
- ${lombok.version}
- compile
-
-
-
io.jsonwebtoken
jjwt
- 0.6.0
org.hamcrest
hamcrest
- 2.1
test
@@ -61,12 +45,15 @@
org.springframework.cloud
spring-cloud-starter-config
- ${spring-cloud-config.version}
org.springframework.boot
spring-boot-starter-cache
+
+ org.ehcache
+ ehcache
+
org.springframework.boot
spring-boot-devtools
@@ -77,17 +64,6 @@
pre-registration-core
${pre.registration.core.version}
-
- io.mosip.kernel
- kernel-virusscanner-clamav
- ${kernel.virusscanner.clamav.version}
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jsr310
-
-
-
io.mosip.kernel
kernel-core
@@ -131,22 +107,18 @@
org.apache.httpcomponents
httpclient
- ${apache.httpclient.version}
org.json
json
- ${org.json.version}
io.micrometer
micrometer-core
- ${io.micrometer.prometheus.version}
io.micrometer
micrometer-registry-prometheus
- ${io.micrometer.prometheus.version}
org.springframework.boot
@@ -154,12 +126,49 @@
${spring.boot.version}
true
+
+ org.springframework.cloud
+ spring-cloud-starter-bootstrap
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven.compiler.version}
+
+
+ -parameters
+
+
+
+
+
+ maven-jar-plugin
+
+
+ package
+
+ jar
+
+
+
+ **/*.properties
+
+ lib
+
+
+
+
org.springframework.boot
spring-boot-maven-plugin
+ ${spring.boot.maven.plugin.version}
ZIP
true
@@ -173,6 +182,23 @@
+
+ maven-jar-plugin
+
+
+ package
+
+ jar
+
+
+
+ **/*.properties
+
+ lib
+
+
+
+
@@ -187,12 +213,21 @@
io.mosip.kernel
kernel-ref-idobjectvalidator
- 1.2.0-rc1
+ ${kernel.idobjectvalidator.version}
io.mosip.kernel
kernel-transliteration-icu4j
- 1.2.0-rc1
+ ${kernel.transliteration.icu4j.version}
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+ junit
+ junit
+ test
@@ -200,7 +235,7 @@
org.springframework.boot
spring-boot-maven-plugin
- ${spring.boot.version}
+ ${spring.boot.maven.plugin.version}
true
ZIP
@@ -237,7 +272,7 @@
org.springdoc
springdoc-openapi-maven-plugin
- 0.2
+ ${springdoc.openapi.maven.plugin}
integration-test
@@ -247,8 +282,9 @@
- http://localhost:9090/preregistration/v1/application-service/v3/api-docs/Pre-Registration
- openapi.json
+
+ http://localhost:9090/preregistration/v1/application-service/v3/api-docs/Pre-Registration
+ ${artifactId}-openapi.json
${project.build.directory}
false
@@ -257,4 +293,4 @@
-
+
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/ApplicationEventListerner.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/ApplicationEventListerner.java
index 246bdd480d8..3d462920795 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/ApplicationEventListerner.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/ApplicationEventListerner.java
@@ -28,7 +28,6 @@ public class ApplicationEventListerner {
@EventListener(ApplicationStartedEvent.class)
public void applicationStartedEvent() {
log.info("sessionId", "idType", "id", "In applicationStartedEvent method of ApplicationEventListerner");
- loginService.setupLoginService();
log.info("sessionId", "idType", "id",
"In applicationStartedEvent method of ApplicationEventListerner login service setupLoginService method called");
demographicService.setup();
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/Config.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/Config.java
index 843f358a4e2..9d244ab3584 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/Config.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/Config.java
@@ -3,16 +3,13 @@
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
-import java.security.cert.X509Certificate;
import java.util.Collections;
import java.util.Map;
-import javax.net.ssl.SSLContext;
-
-import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
-import org.apache.http.conn.ssl.TrustStrategy;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -29,6 +26,12 @@
@ConfigurationProperties("mosip")
public class Config {
+ @Value("${preregistration.appservice.httpclient.connections.max.per.host:20}")
+ private int maxConnectionPerRoute;
+
+ @Value("${preregistration.appservice.httpclient.connections.max:100}")
+ private int totalMaxConnection;
+
/** The id. */
private Map id;
@@ -55,19 +58,15 @@ public Map ic() {
@Bean
public RestTemplate restTemplateConfig()
throws KeyManagementException, NoSuchAlgorithmException, KeyStoreException {
-
- TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;
-
- SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom()
- .loadTrustMaterial(null, acceptingTrustStrategy).build();
-
- SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext);
-
- CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(csf).build();
- HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
-
- requestFactory.setHttpClient(httpClient);
- return new RestTemplate(requestFactory);
+ var connnectionManagerBuilder = PoolingHttpClientConnectionManagerBuilder.create()
+ .setMaxConnPerRoute(maxConnectionPerRoute)
+ .setMaxConnTotal(totalMaxConnection);
+ var connectionManager = connnectionManagerBuilder.build();
+ HttpClientBuilder httpClientBuilder = HttpClients.custom()
+ .setConnectionManager(connectionManager)
+ .disableCookieManagement();
+ HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
+ requestFactory.setHttpClient(httpClientBuilder.build());
+ return new RestTemplate(requestFactory);
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/CorsFilter.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/CorsFilter.java
deleted file mode 100644
index 9e5160428b4..00000000000
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/CorsFilter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package io.mosip.preregistration.application.config;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.web.filter.OncePerRequestFilter;
-
-/**
- * This class is a filter for giving Access Headers to solve CORS
- *
- * @author Mindtree Ltd.
- *
- */
-public class CorsFilter extends OncePerRequestFilter {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(CorsFilter.class);
-
- private List origins;
-
- public CorsFilter(String origins) {
- this.origins = Arrays.asList(origins.split("( )*,( )*"));
- }
-
- @Override
- protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
- throws ServletException, IOException {
- String origin = request.getHeader("Origin");
- LOGGER.info("origins {} ", origins);
- if (origin == null || origin.isEmpty()) {
- LOGGER.info("origin {}", origin);
- LOGGER.info("requesturl {}", request.getRequestURL().toString());
- } else if (origins != null && !origins.isEmpty() && origins.contains(origin)) {
- response.setHeader("Access-Control-Allow-Origin", origin);
- }
- response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT, PATCH");
- response.setHeader("Access-Control-Allow-Headers",
- "Origin,Date, Content-Type, Accept, X-Requested-With, Authorization, From, X-Auth-Token, Request-Id");
- response.setHeader("Access-Control-Expose-Headers", "Set-Cookie");
- response.setHeader("Access-Control-Allow-Credentials", "true");
- if (!"OPTIONS".equalsIgnoreCase(request.getMethod())) {
- filterChain.doFilter(request, response);
- }
- }
-
-}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/LoginConfig.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/LoginConfig.java
index 43aa7ca8d5c..acca7446bfb 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/LoginConfig.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/config/LoginConfig.java
@@ -1,8 +1,5 @@
package io.mosip.preregistration.application.config;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springdoc.core.GroupedOpenApi;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -15,36 +12,17 @@
@Configuration
public class LoginConfig {
-
- private static final Logger logger = LoggerFactory.getLogger(LoginConfig.class);
-
- @Autowired
- private OpenApiProperties openApiProperties;
-
@Bean
- public OpenAPI openApi() {
- OpenAPI api = new OpenAPI()
- .components(new Components())
- .info(new Info()
- .title(openApiProperties.getInfo().getTitle())
+ public OpenAPI openApi(@Autowired OpenApiProperties openApiProperties) {
+ OpenAPI api = new OpenAPI().components(new Components())
+ .info(new Info().title(openApiProperties.getInfo().getTitle())
.version(openApiProperties.getInfo().getVersion())
.description(openApiProperties.getInfo().getDescription())
- .license(new License()
- .name(openApiProperties.getInfo().getLicense().getName())
+ .license(new License().name(openApiProperties.getInfo().getLicense().getName())
.url(openApiProperties.getInfo().getLicense().getUrl())));
- openApiProperties.getService().getServers().forEach(server -> {
- api.addServersItem(new Server().description(server.getDescription()).url(server.getUrl()));
- });
- logger.info("swagger open api bean is ready");
+ openApiProperties.getService().getServers().forEach(
+ server -> api.addServersItem(new Server().description(server.getDescription()).url(server.getUrl())));
return api;
}
-
- @Bean
- public GroupedOpenApi groupedOpenApi() {
- return GroupedOpenApi.builder().group(openApiProperties.getGroup().getName())
- .pathsToMatch(openApiProperties.getGroup().getPaths().stream().toArray(String[]::new))
- .build();
- }
-
}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/constant/PreRegLoginErrorConstants.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/constant/PreRegLoginErrorConstants.java
index aab8079c50d..dfbc4724f71 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/constant/PreRegLoginErrorConstants.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/constant/PreRegLoginErrorConstants.java
@@ -16,7 +16,8 @@ public enum PreRegLoginErrorConstants {
UNABLE_TO_PROCESS("PRE-REG-OTP-405", "Missing Input Parameter - %s"),
SERVER_ERROR("PRE-REG-OTP-405", "Missing Input Parameter - %s"),
CAPTCHA_SEVER_ERROR("PRE-REG-CAP-102", "Captcha could not be validated"),
- CAPTCHA_ERROR("PRE-REG-CAP-101", "Captcha token is empty");
+ CAPTCHA_ERROR("PRE-REG-CAP-101", "Captcha token is empty"),
+ OTP_ATTEMPT_EXCEEDED("PRE-REG-OTP-409", "Otp validation attempt exceeded");
final String errorCode;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/ApplicationController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/ApplicationController.java
index 3f2000f3657..c1e9e0d6513 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/ApplicationController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/ApplicationController.java
@@ -2,7 +2,7 @@
import java.util.List;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -10,7 +10,6 @@
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.PathVariable;
@@ -37,7 +36,6 @@
import io.swagger.v3.oas.annotations.tags.Tag;
@RestController
-@CrossOrigin("*")
@Tag(name = "application-controller", description = "Application Controller")
public class ApplicationController {
@@ -85,21 +83,20 @@ public ResponseEntity> getApplication(
@PathVariable("applicationId") String applicationId) {
return ResponseEntity.status(HttpStatus.OK).body(applicationService.getApplicationInfo(applicationId));
}
-
+
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetapplicationsstatus())")
@GetMapping(path = "/applications/status/{applicationId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "getApplicationStatus", description = "Fetch the status of a application", tags = "application-controller")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "All applications status fetched successfully"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> getApplicationStatus(
@PathVariable("applicationId") String applicationId) {
return ResponseEntity.status(HttpStatus.OK).body(applicationService.getApplicationStatus(applicationId));
}
-
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetappointmentregistrationcenterid())")
@GetMapping(path = "/applications/bookings/{regCenterId}")
@Operation(summary = "getBookingsForRegCenter", description = "Fetch all bookings for regCenterId on the given appointmentDate", tags = "application-controller")
@@ -108,9 +105,11 @@ public ResponseEntity> getApplicationStatus(
@ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity>> getBookingsForRegCenter(
- @PathVariable("regCenterId") String regCenterId, @RequestParam("appointmentDate") String appointmentDate) {
+ @PathVariable("regCenterId") String regCenterId,
+ @RequestParam("appointmentDate") String appointmentFromDate,
+ @RequestParam(required = false) String appointmentToDate) {
return ResponseEntity.status(HttpStatus.OK)
- .body(applicationService.getBookingsForRegCenter(regCenterId, appointmentDate));
+ .body(applicationService.getBookingsForRegCenter(regCenterId, appointmentFromDate, appointmentToDate));
}
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetapplicationsall())")
@@ -120,12 +119,12 @@ public ResponseEntity>> getBo
@ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
@ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
- public ResponseEntity> getAllApplications(@RequestParam(required = false) String type) {
+ public ResponseEntity> getAllApplications(
+ @RequestParam(required = false) String type) {
if (type != null) {
return ResponseEntity.status(HttpStatus.OK)
.body(applicationService.getAllApplicationsForUserForBookingType(type));
}
return ResponseEntity.status(HttpStatus.OK).body(applicationService.getAllApplicationsForUser());
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/AppointmentController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/AppointmentController.java
index fc567da3f66..f2381e0e659 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/AppointmentController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/AppointmentController.java
@@ -30,13 +30,13 @@
import io.mosip.preregistration.core.common.dto.MainRequestDTO;
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import io.mosip.preregistration.core.config.LoggerConfiguration;
+import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
-import springfox.documentation.annotations.ApiIgnore;
@RestController
@Tag(name = "appointment-controller", description = "Appointment Controller")
@@ -52,9 +52,9 @@ public class AppointmentController {
@Operation(summary = "Fetch availability Data", description = "Fetch availability Data", tags = "appointment-controller")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Availablity details fetched successfully"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> getAvailability(
@PathVariable("registrationCenterId") String registrationCenterId) {
log.info("fetch availablity for regID: {}", registrationCenterId);
@@ -64,17 +64,15 @@ public ResponseEntity> getAvailability(
@PreAuthorize("hasAnyRole(@authorizedRoles.getPostappointmentpregid())")
@PostMapping(path = "/applications/appointment/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "Booking Appointment", description = "Booking Appointment", tags = "appointment-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Appointment Booked Successfully"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Appointment Booked Successfully"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> bookAppoinment(
@PathVariable("preRegistrationId") String preRegistrationId,
@Validated @RequestBody(required = true) MainRequestDTO bookingDTO,
- @ApiIgnore Errors errors,
- @RequestHeader(value = "User-Agent") String userAgent) {
+ @ApiParam(hidden = true) Errors errors, @RequestHeader(value = "User-Agent") String userAgent) {
log.info("Book an appointment for preRegId: {}", preRegistrationId);
return ResponseEntity.status(HttpStatus.OK)
.body(appointmentService.makeAppointment(bookingDTO, preRegistrationId, userAgent));
@@ -85,41 +83,37 @@ public ResponseEntity> bookAppoinment(
@Operation(summary = "Fetch Appointment details", description = "Fetch Appointment details", tags = "appointment-controller")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Appointment details fetched Successfully"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> getAppointments(
@PathVariable("preRegistrationId") String preRegistrationId) {
log.info("To fetch appointment details for preRegID: {}", preRegistrationId);
return ResponseEntity.status(HttpStatus.OK).body(appointmentService.getAppointmentDetails(preRegistrationId));
-
}
@PreAuthorize("hasAnyRole(@authorizedRoles.getCancelappointmentpreregid())")
@PutMapping(path = "/applications/appointment/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "Cancel an booked appointment", description = "Cancel an booked appointment", tags = "appointment-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Appointment cancelled successfully"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Appointment cancelled successfully"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> cancelBook(
@PathVariable("preRegistrationId") String preRegistrationId) {
log.info("Cancel the appointment for preRegId :{} ", preRegistrationId);
return ResponseEntity.status(HttpStatus.OK).body(appointmentService.cancelAppointment(preRegistrationId));
}
-
+
@PreAuthorize("hasAnyRole(@authorizedRoles.getCancelappointmentpreregid())")
@PutMapping(path = "/internal/applications/appointment/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE)
- @Operation(summary = "Cancel an booked appointment. Used internally by batch job", description = "Cancel an booked appointment. Used internally by batch job,",
- tags = "appointment-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Appointment cancelled successfully"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @Operation(summary = "Cancel an booked appointment. Used internally by batch job", description = "Cancel an booked appointment. Used internally by batch job,", tags = "appointment-controller")
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Appointment cancelled successfully"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> internalCancelBook(
@PathVariable("preRegistrationId") String preRegistrationId) {
log.info("Cancel the appointment for preRegId called internally :{} ", preRegistrationId);
@@ -129,31 +123,29 @@ public ResponseEntity> internalCancelB
@PreAuthorize("hasAnyRole(@authorizedRoles.getDeleteappointmentpreregid())")
@DeleteMapping(path = "/applications/appointment", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "Discard Booking", description = "CDiscard Booking", tags = "appointment-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Deletion of Booking is successfully"),
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Deletion of Booking is successfully"),
@ApiResponse(responseCode = "204", description = "No Content"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- })
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), })
public ResponseEntity> discardIndividual(
@RequestParam(value = "preRegistrationId") String preId) {
log.info("Delete booking with preId: {}", preId);
- return ResponseEntity.status(HttpStatus.OK).body(appointmentService.deleteBookingAndUpdateApplicationStatus(preId));
+ return ResponseEntity.status(HttpStatus.OK)
+ .body(appointmentService.deleteBookingAndUpdateApplicationStatus(preId));
}
@PreAuthorize("hasAnyRole(@authorizedRoles.getPostappointmentmulti())")
@PostMapping(path = "/applications/appointment", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "Booking Appointment", description = "Booking Appointment", tags = "appointment-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Appointment Booked Successfully"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Appointment Booked Successfully"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> bookMultiAppoinment(
@Validated @RequestBody(required = true) MainRequestDTO bookingRequest,
@RequestHeader(value = "User-Agent") String userAgent) {
- return ResponseEntity.status(HttpStatus.OK).body(appointmentService.makeMultiAppointment(bookingRequest, userAgent));
+ return ResponseEntity.status(HttpStatus.OK)
+ .body(appointmentService.makeMultiAppointment(bookingRequest, userAgent));
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/DemographicController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/DemographicController.java
index ffd7776a26b..b2a76adb82c 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/DemographicController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/DemographicController.java
@@ -6,8 +6,6 @@
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@@ -16,7 +14,6 @@
import org.springframework.validation.Errors;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.InitBinder;
@@ -34,7 +31,6 @@
import io.mosip.preregistration.application.dto.DemographicMetadataDTO;
import io.mosip.preregistration.application.dto.DemographicRequestDTO;
import io.mosip.preregistration.application.dto.DemographicUpdateResponseDTO;
-import io.mosip.preregistration.application.dto.SchemaResponseDto;
import io.mosip.preregistration.application.service.DemographicServiceIntf;
import io.mosip.preregistration.core.common.dto.DemographicResponseDTO;
import io.mosip.preregistration.core.common.dto.MainRequestDTO;
@@ -44,13 +40,14 @@
import io.mosip.preregistration.core.config.LoggerConfiguration;
import io.mosip.preregistration.core.util.DataValidationUtil;
import io.mosip.preregistration.core.util.RequestValidator;
+import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
-import springfox.documentation.annotations.ApiIgnore;
+import jakarta.servlet.http.HttpServletRequest;
/**
* This class provides different API's to perform operations on
@@ -67,7 +64,6 @@
@RestController
@RequestMapping("/")
@Tag(name = "demographic-controller", description = "Demographic Controller")
-@CrossOrigin("*")
public class DemographicController {
/** Autowired reference for {@link #DemographicService}. */
@@ -89,8 +85,7 @@ public class DemographicController {
/**
* Inits the binder.
*
- * @param binder
- * the binder
+ * @param binder the binder
*/
@InitBinder
public void initBinder(WebDataBinder binder) {
@@ -103,26 +98,23 @@ public void initBinder(WebDataBinder binder) {
* This Post API is use to create a pre-registation application for
* registration.
*
- * @param jsonObject
- * the json object
- * @param errors
- * Errors
+ * @param jsonObject the json object
+ * @param errors Errors
* @return List of response dto containing pre-id and group-id
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getPostapplications())")
@PostMapping(path = "/applications/prereg", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "addPreRegDemographicData", description = "Add demographic data for a new preregistration application", tags = "demographic-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Pre-Registration successfully Created"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Pre-Registration successfully Created"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> addPreRegDemographicData(
@Validated @RequestBody(required = true) MainRequestDTO jsonObject,
- @ApiIgnore Errors errors) {
+ @ApiParam(hidden = true) Errors errors) {
log.info("sessionId", "idType", "id",
"In pre-registration controller for add preregistration with json object" + jsonObject);
requestValidator.validateId(CREATE, jsonObject.getId(), errors);
@@ -133,29 +125,25 @@ public ResponseEntity> addPreRegDe
/**
* This Put API use to update a pre-registation application.
*
- * @param preRegistrationId
- * preRegistrationId
- * @param jsonObject
- * The json object
- * @param errors
- * Errors
+ * @param preRegistrationId preRegistrationId
+ * @param jsonObject The json object
+ * @param errors Errors
* @return List of response dto containing pre-id and group-id
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getPutapplications())")
@PutMapping(path = "/applications/prereg/{preRegistrationId}", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "updatePreRegDemographicData", description = "Update demographic data for a new preregistration application", tags = "demographic-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Demographic data successfully Updated"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Demographic data successfully Updated"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> updatePreRegDemographicData(
@PathVariable("preRegistrationId") String preRegistrationId,
@Validated @RequestBody(required = true) MainRequestDTO jsonObject,
- @ApiIgnore Errors errors) {
+ @ApiParam(hidden = true) Errors errors) {
String userId = preRegistrationService.authUserDetails().getUserId();
log.info("sessionId", "idType", "id",
"In pre-registration controller for Update preregistration with json object" + jsonObject);
@@ -168,48 +156,44 @@ public ResponseEntity> updatePreRe
/**
* Get API to fetch all the Pre-registration data for a pre-id.
*
- * @param preRegistraionId
- * the pre reg id
+ * @param preRegistraionId the pre reg id
* @return the application data for a pre-id
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN','PRE_REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN','PRE_REGISTRATION_ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetapplications())")
@GetMapping(path = "/applications/prereg/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "getPreRegDemographicData", description = "Get demographic data for a new preregistration application", tags = "demographic-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Demographic data successfully retrieved"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Demographic data successfully retrieved"),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> getPreRegDemographicData(
@PathVariable("preRegistrationId") String preRegistraionId) {
log.info("sessionId", "idType", "id",
"In pre-registration controller for fetching all demographic data with preregistrationId"
+ preRegistraionId);
- return ResponseEntity.status(HttpStatus.OK).body(preRegistrationService.getDemographicData(preRegistraionId, false));
+ return ResponseEntity.status(HttpStatus.OK).body(preRegistrationService.getDemographicData(preRegistraionId));
}
/**
* Put API to update the status of the application.
*
- * @param preRegId
- * the pre reg id
- * @param status
- * the status
+ * @param preRegId the pre reg id
+ * @param status the status
* @return the updation status of application for a pre-id
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getPutapplicationsstatus())")
@PutMapping(path = "/applications/prereg/status/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "updatePreRegApplicationStatus", description = "Update Pre-Registartion status", tags = "demographic-controller")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Pre-Registration Status successfully updated"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> updatePreRegApplicationStatus(
@PathVariable("preRegistrationId") String preRegId,
@RequestParam(value = "statusCode", required = true) String status) {
@@ -230,15 +214,14 @@ public ResponseEntity> updatePreRegApplicationStatus(
* @return List of applications created by User
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetapplicationsall())")
@GetMapping(path = "/applications/prereg", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "getAllPreRegApplications", description = "Fetch all the prereg applications created by user", tags = "demographic-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "All applications fetched successfully"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "All applications fetched successfully"),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> getAllPreRegApplications(HttpServletRequest res,
@RequestParam(value = "pageIndex", required = false) String pageIdx) {
String userId = preRegistrationService.authUserDetails().getUserId();
@@ -251,20 +234,19 @@ public ResponseEntity> getAllPreRegAppli
/**
* Get API to fetch the status of a application.
*
- * @param preId
- * the pre id
+ * @param preId the pre id
* @return status of application
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetapplicationsstatus())")
@GetMapping(path = "/applications/prereg/status/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "getPreRegApplicationStatus", description = "Fetch the status of a application", tags = "demographic-controller")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "All applications status fetched successfully"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> getPreRegApplicationStatus(
@PathVariable("preRegistrationId") String preId) {
String userId = preRegistrationService.authUserDetails().getUserId();
@@ -277,21 +259,18 @@ public ResponseEntity> getPreRegApplic
* Delete API to delete the Individual applicant and documents associated with
* the PreId.
*
- * @param preId
- * the pre id
+ * @param preId the pre id
* @return the deletion status of application for a pre-id
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getDeleteapplications())")
@DeleteMapping(path = "/applications/prereg/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "deletePreRegApplication", description = "Discard prereg application", tags = "demographic-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Deletion of individual is successfully"),
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Deletion of individual is successfully"),
@ApiResponse(responseCode = "204", description = "No Content"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- })
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), })
public ResponseEntity> deletePreRegApplication(
@PathVariable("preRegistrationId") String preId) {
String userId = preRegistrationService.authUserDetails().getUserId();
@@ -301,28 +280,25 @@ public ResponseEntity> deletePreRegApp
return ResponseEntity.status(HttpStatus.OK).body(preRegistrationService.deleteIndividual(preId, userId));
}
-
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN','REGISTRATION_PROCESSOR')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ADMIN','REGISTRATION_PROCESSOR')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getPostapplicationsupdatedtime())")
@PostMapping(path = "/applications/prereg/updatedTime", produces = MediaType.APPLICATION_JSON_VALUE)
- @Operation(summary = "getUpdatedDateTimeByPreIds", description = "Get Updated Date Time for List of Pre-Registration Id",
- tags = "demographic-controller")
+ @Operation(summary = "getUpdatedDateTimeByPreIds", description = "Get Updated Date Time for List of Pre-Registration Id", tags = "demographic-controller")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Updated Date Time successfully fetched for list of pre-registration ids"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity>> getUpdatedDateTimeByPreIds(
@Validated @RequestBody MainRequestDTO mainRequestDTO,
- @ApiIgnore Errors errors) {
+ @ApiParam(hidden = true) Errors errors) {
requestValidator.validateId(UPDATEDTIME, mainRequestDTO.getId(), errors);
DataValidationUtil.validate(errors, UPDATEDTIME);
return ResponseEntity.status(HttpStatus.OK)
.body(preRegistrationService.getUpdatedDateTimeForPreIds(mainRequestDTO.getRequest()));
}
-
-
+
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetapplicationsinfo())")
@GetMapping(path = "/applications/prereg/info/{preregistrationId}")
@Operation(summary = "getPreRegDemographicAndDocumentData", description = "Retrive Application demographic and document info for given prid", tags = "application-controller")
@@ -334,8 +310,8 @@ public ResponseEntity>> getUpdatedDateTimeBy
public ResponseEntity> getPreRegDemographicAndDocumentData(
@PathVariable("preregistrationId") String preregistrationId) {
log.info("In demographic controller to getFullPreRegApplication {}", preregistrationId);
- return ResponseEntity.status(HttpStatus.OK).body(preRegistrationService.getPregistrationInfo(preregistrationId));
+ return ResponseEntity.status(HttpStatus.OK)
+ .body(preRegistrationService.getPregistrationInfo(preregistrationId));
}
-
}
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/DocumentController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/DocumentController.java
index edf5b9e0c97..5f3edc9f229 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/DocumentController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/DocumentController.java
@@ -4,6 +4,22 @@
*/
package io.mosip.preregistration.application.controller;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RequestPart;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
import io.mosip.kernel.core.logger.spi.Logger;
import io.mosip.preregistration.application.dto.DocumentResponseDTO;
import io.mosip.preregistration.application.service.DocumentServiceIntf;
@@ -18,15 +34,7 @@
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.validation.Valid;
+import jakarta.validation.Valid;
/**
* This class provides different API's to perform operations on Document upload.
@@ -38,7 +46,6 @@
@RestController
@RequestMapping("/")
@Tag(name = "document-controller", description = "Document Controller")
-@CrossOrigin("*")
public class DocumentController {
/**
@@ -61,16 +68,15 @@ public class DocumentController {
* @return response in a format specified in API document
*
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getPostdocumentspreregistrationid())")
@PostMapping(path = "/documents/{preRegistrationId}", consumes = { "multipart/form-data" })
@Operation(summary = "fileUpload", description = "Document Upload", tags = "document-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Document uploaded successfully"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Document uploaded successfully"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> fileUpload(
@PathVariable(value = "preRegistrationId") String preRegistrationId,
@RequestPart(value = "Document request", required = true) String reqDto,
@@ -96,16 +102,15 @@ public ResponseEntity> fileUpload(
*
* @return response in a format specified in API document
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getPutdocumentspreregistrationid())")
@PutMapping(path = "/documents/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "copyDocument", description = "Copy uploaded document", tags = "document-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Document successfully copied"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Document successfully copied"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> copyDocument(
@Valid @PathVariable(required = true, value = "preRegistrationId") String preRegistrationId,
@Valid @RequestParam(required = true) String catCode,
@@ -124,15 +129,15 @@ public ResponseEntity> copyDocument(
* @param pre_registration_id pass preRegistrationId
* @return response in a format specified in API document
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_
+ // ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetdocumentspreregistrationid())")
@GetMapping(path = "/documents/preregistration/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "getDocumentforDocId", description = "Get All Document for Pre-Registration Id", tags = "document-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Documents reterived successfully"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Documents reterived successfully"),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> getAllDocumentforPreid(
@Valid @PathVariable(required = true) String preRegistrationId) {
log.info("sessionId", "idType", "id",
@@ -149,15 +154,15 @@ public ResponseEntity> getAllDocumentforPreid
* @param preRegistrationId pass preRegistrationId as request param
* @return response in a format specified in API document
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_
+ // ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetdocumentsdocumentid())")
@GetMapping(path = "/documents/{documentId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "getDocumentforDocId", description = "Get All Document for Document Id", tags = "document-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Documents reterived successfully"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Documents reterived successfully"),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> getDocumentforDocId(
@Valid @PathVariable(required = true) String documentId,
@Valid @RequestParam(required = true, value = "preRegistrationId") String preRegistrationId) {
@@ -177,16 +182,14 @@ public ResponseEntity> getDocumentforDocId(
* @return response in a format specified in API document
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getDeletedocumentsdocumentid())")
@DeleteMapping(path = "/documents/{documentId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "deleteDocument", description = "Delete document by document Id", tags = "document-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Document successfully deleted"),
- @ApiResponse(responseCode = "204", description = "No Content" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- })
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Document successfully deleted"),
+ @ApiResponse(responseCode = "204", description = "No Content", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), })
public ResponseEntity> deleteDocument(
@Valid @PathVariable(required = true) String documentId,
@Valid @RequestParam(required = true, value = "preRegistrationId") String preRegistrationId) {
@@ -194,7 +197,6 @@ public ResponseEntity> deleteDocument
"In deleteDocument method of document controller to delete the document for documentId " + documentId);
return ResponseEntity.status(HttpStatus.OK)
.body(documentUploadService.deleteDocument(documentId, preRegistrationId));
-
}
/**
@@ -204,16 +206,14 @@ public ResponseEntity> deleteDocument
* @return response in a format specified in API document
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getDeletedocumentspreregistrationid())")
@DeleteMapping(path = "/documents/preregistration/{preRegistrationId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "deleteAllByPreId", description = "Delete all documents by pre-registration Id", tags = "document-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "Documents successfully deleted"),
- @ApiResponse(responseCode = "204", description = "No Content" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- })
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Documents successfully deleted"),
+ @ApiResponse(responseCode = "204", description = "No Content", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), })
public ResponseEntity> deleteAllByPreId(
@Valid @PathVariable(required = true) String preRegistrationId) {
log.info("sessionId", "idType", "id",
@@ -222,16 +222,17 @@ public ResponseEntity> deleteAllByPre
return ResponseEntity.status(HttpStatus.OK).body(documentUploadService.deleteAllByPreId(preRegistrationId));
}
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_ ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','REGISTRATION_OFFICER','REGISTRATION_SUPERVISOR','REGISTRATION_
+ // ADMIN')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getPutdocumentsdocumentid())")
@PutMapping(path = "/documents/document/{documentId}", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "updateDocRefId", description = "update document reference Id", tags = "document-controller")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Document Reference Id successfully updated"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> updateDocRefId(
@Valid @PathVariable(required = true) String documentId,
@Valid @RequestParam(required = true, value = "preRegistrationId") String preRegistrationId,
@@ -241,6 +242,5 @@ public ResponseEntity> updateDocRefId(
+ "preregistrationId " + preRegistrationId + "DocRefId " + refNumebr);
return ResponseEntity.status(HttpStatus.OK)
.body(documentUploadService.updateDocRefId(documentId, preRegistrationId, refNumebr));
-
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/GenerateQRcodeController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/GenerateQRcodeController.java
index 6593917e5f8..32add8bc81b 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/GenerateQRcodeController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/GenerateQRcodeController.java
@@ -1,10 +1,5 @@
package io.mosip.preregistration.application.controller;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@@ -13,7 +8,6 @@
import org.springframework.validation.Errors;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -21,36 +15,41 @@
import org.springframework.web.bind.annotation.RestController;
import io.mosip.kernel.core.logger.spi.Logger;
+import io.mosip.preregistration.application.dto.QRCodeResponseDTO;
+import io.mosip.preregistration.application.service.GenerateQRcodeService;
import io.mosip.preregistration.core.common.dto.MainRequestDTO;
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import io.mosip.preregistration.core.config.LoggerConfiguration;
import io.mosip.preregistration.core.util.DataValidationUtil;
import io.mosip.preregistration.core.util.RequestValidator;
+import io.swagger.annotations.ApiParam;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
-import io.mosip.preregistration.application.dto.QRCodeResponseDTO;
-import io.mosip.preregistration.application.service.GenerateQRcodeService;
-import springfox.documentation.annotations.ApiIgnore;
/**
- * This class provides API's to generate the QR code operations on
+ * This class provides API's to generate the QR code operations on
* pre-registration.
+ *
* @author Sanober Noor
* @since 1.0.0
*/
@RestController
@RequestMapping("/qrCode")
-@CrossOrigin("*")
@Tag(name = "generate-q-rcode-controller", description = "Generate Q Rcode Controller")
public class GenerateQRcodeController {
private Logger log = LoggerConfiguration.logConfig(GenerateQRcodeController.class);
-
+
@Autowired
private RequestValidator requestValidator;
-
+
/** The Constant for GET UPDATED DATE TIME application. */
private static final String QRCODE = "pre-registration.qrcode.generate";
-
+
/**
* Inits the binder.
*
@@ -60,30 +59,30 @@ public class GenerateQRcodeController {
public void initBinder(WebDataBinder binder) {
binder.addValidators(requestValidator);
}
-
+
@Autowired
private GenerateQRcodeService service;
-
+
/**
- * @param data pass the data for generating qr code
- * @param errors
+ * @param data pass the data for generating qr code
+ * @param errors
* @return QRCodeResponseDTO the response entity
*/
- //@PreAuthorize("hasAnyRole('INDIVIDUAL')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL')")
@PreAuthorize("hasAnyRole(@authorizedRoles.getPostqrcodegenerate())")
- @PostMapping(path="/generate" ,consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
- @Operation(summary = "Generate QR Code", description = "Generate QR Code", tags = "generate-q-rcode-controller")
+ @PostMapping(path = "/generate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
+ @Operation(summary = "Generate QR Code", description = "Generate QR Code", tags = "generate-q-rcode-controller")
@ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
- public ResponseEntity> generateQRCode(@Validated @RequestBody MainRequestDTO data,@ApiIgnore Errors errors) {
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
+ public ResponseEntity> generateQRCode(
+ @Validated @RequestBody MainRequestDTO data, @ApiParam(hidden = true) Errors errors) {
log.info("sessionId", "idType", "id",
"In generateQRCode controller for generateQRCode generation with request " + data);
requestValidator.validateId(QRCODE, data.getId(), errors);
- DataValidationUtil.validate(errors,QRCODE);
- return new ResponseEntity<>(service.generateQRCode(data),HttpStatus.OK);
-
+ DataValidationUtil.validate(errors, QRCODE);
+ return new ResponseEntity<>(service.generateQRCode(data), HttpStatus.OK);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/LoginController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/LoginController.java
index c15e323b089..c2cdb1501af 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/LoginController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/LoginController.java
@@ -3,23 +3,15 @@
import java.util.Map;
import java.util.Objects;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-
-import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.Errors;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.PostMapping;
@@ -44,12 +36,17 @@
import io.mosip.preregistration.core.config.LoggerConfiguration;
import io.mosip.preregistration.core.util.DataValidationUtil;
import io.mosip.preregistration.core.util.RequestValidator;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
-import springfox.documentation.annotations.ApiIgnore;
+import jakarta.servlet.http.Cookie;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
/**
* This class provides different api to perform operation for login
@@ -59,9 +56,8 @@
*
*/
@RestController
-@RequestMapping("/login")
+@RequestMapping("/login")
@Tag(name = "login-controller", description = "Login Controller")
-@CrossOrigin("*")
public class LoginController {
/** Autowired reference for {@link #authService}. */
@@ -76,7 +72,7 @@ public class LoginController {
@Value("${mosip.preregistration.sendotp.allowapi:false}")
private boolean allowSendOtpApi;
-
+
@Value("${preregistration.cookie.contextpath}")
private String cookieContextPath;
@@ -112,15 +108,15 @@ public void initBinder(WebDataBinder binder) {
@Deprecated(since = "1.2.0", forRemoval = true)
@PostMapping(value = "/sendOtp", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "sendOTP", description = "Send Otp to UserId", tags = "login-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
@ResponseStatus(value = HttpStatus.OK)
public ResponseEntity> sendOTP(
- @Validated @RequestBody MainRequestDTO userOtpRequest, @ApiIgnore Errors errors) {
+ @Validated @RequestBody MainRequestDTO userOtpRequest,
+ @ApiParam(hidden = true) Errors errors) {
loginValidator.validateId(SENDOTP, userOtpRequest.getId(), errors);
DataValidationUtil.validate(errors, SENDOTP);
@@ -141,15 +137,15 @@ public ResponseEntity> sendOTP(
*/
@PostMapping(value = "/sendOtp/langcode", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "sendOTPWithLangCode", description = "Send Otp to UserId", tags = "login-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
@ResponseStatus(value = HttpStatus.OK)
public ResponseEntity> sendOTPWithLangCode(
- @Validated @RequestBody MainRequestDTO userOtpRequest, @ApiIgnore Errors errors) {
+ @Validated @RequestBody MainRequestDTO userOtpRequest,
+ @ApiParam(hidden = true) Errors errors) {
loginValidator.validateId(SENDOTP, userOtpRequest.getId(), errors);
DataValidationUtil.validate(errors, SENDOTP);
@@ -173,14 +169,13 @@ public ResponseEntity> sendOTPWithLangCode(
*/
@PostMapping(value = "/validateOtp", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "validateWithUserIdOtp", description = "Validate UserId and Otp", tags = "login-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> validateWithUserIdOtp(
- @Validated @RequestBody MainRequestDTO userIdOtpRequest, @ApiIgnore Errors errors,
+ @Validated @RequestBody MainRequestDTO userIdOtpRequest, @ApiParam(hidden = true) Errors errors,
HttpServletResponse res, HttpServletRequest req) {
log.debug("User ID: {}", userIdOtpRequest.getRequest().getUserId());
@@ -194,7 +189,7 @@ public ResponseEntity> validateWithUserIdOtp(
responseCookie.setHttpOnly(true);
responseCookie.setSecure(true);
responseCookie.setPath(cookieContextPath);
- res.addCookie(responseCookie);
+ res.addCookie(responseCookie);
}
return ResponseEntity.status(HttpStatus.OK).body(responseBody);
}
@@ -207,12 +202,11 @@ public ResponseEntity> validateWithUserIdOtp(
*/
@PostMapping(value = "/invalidateToken", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "invalidateToken", description = "Invalidate the token", tags = "login-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
@ResponseStatus(value = HttpStatus.OK)
public ResponseEntity> invalidateToken(HttpServletRequest req, HttpServletResponse res) {
@@ -223,7 +217,6 @@ public ResponseEntity> invalidateToken(HttpServletReques
responseCookie.setPath(cookieContextPath);
res.addCookie(responseCookie);
return ResponseEntity.status(HttpStatus.OK).body(loginService.invalidateToken(req.getHeader("Cookie")));
-
}
/**
@@ -236,47 +229,24 @@ public ResponseEntity> invalidateToken(HttpServletReques
@Operation(summary = "configParams", description = "Get global and Pre-Registration config data", tags = "login-controller")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "global and Pre-Registration config data successfully retrieved"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity>> configParams() {
-
return new ResponseEntity<>(loginService.getConfig(), HttpStatus.OK);
-
- }
-
- /**
- * This get api is use to refresh the configuration data
- *
- * @return the response entity
- */
- @PreAuthorize("hasAnyRole(@authorizedRoles.getGetrefreshconfig())")
- @GetMapping(path = "/refreshconfig", produces = MediaType.APPLICATION_JSON_VALUE)
- //@PreAuthorize("hasAnyRole('PRE_REGISTRATION_ADMIN')")
- @Operation(summary = "refreshConfigParams", description = "Refresh global and Pre-Registration config data", tags = "login-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "global and Pre-Registration config data successfully updated"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
- public ResponseEntity> refreshConfigParams() {
-
- return new ResponseEntity<>(loginService.refreshConfig(), HttpStatus.OK);
-
}
@PostMapping(path = "/sendOtpWithCaptcha", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "sendOtpWithCaptcha", description = "sendOtpWithCaptcha", tags = "login-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> sendOtpWithCaptcha(
@Validated @Valid @RequestBody MainRequestDTO sendOtpRequestWithCaptcha,
- HttpServletResponse res, @ApiIgnore Errors errors) {
+ HttpServletResponse res, @ApiParam(hidden = true) Errors errors) {
MainResponseDTO response = loginService.validateCaptchaAndSendOtp(sendOtpRequestWithCaptcha);
if (Objects.isNull(response.getErrors())) {
@@ -286,10 +256,9 @@ public ResponseEntity> sendOtpWithCaptcha(
resCookie.setHttpOnly(true);
resCookie.setSecure(true);
resCookie.setPath(cookieContextPath);
-
+
res.addCookie(resCookie);
}
return new ResponseEntity<>(response, HttpStatus.OK);
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/LostUINController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/LostUINController.java
index 6030fce6ffb..7977e151f16 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/LostUINController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/LostUINController.java
@@ -8,7 +8,6 @@
import org.springframework.validation.Errors;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.PathVariable;
@@ -27,16 +26,15 @@
import io.mosip.preregistration.core.config.LoggerConfiguration;
import io.mosip.preregistration.core.util.DataValidationUtil;
import io.mosip.preregistration.core.util.RequestValidator;
+import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
-import springfox.documentation.annotations.ApiIgnore;
@RestController
-@CrossOrigin("*")
@Tag(name = "lost-uin-controller", description = "Lost UIN Controller")
public class LostUINController {
@@ -79,7 +77,7 @@ public void initBinder(WebDataBinder binder) {
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> addLostUinApplication(
@Validated @RequestBody(required = true) MainRequestDTO jsonObject,
- @ApiIgnore Errors errors) {
+ @ApiParam(hidden = true) Errors errors) {
log.info("sessionId", "idType", "id",
"In pre-registration LostUINController for createNewApplication with json object" + jsonObject);
requestValidator.validateId(LOST_UIN_CREATE_ID, jsonObject.getId(), errors);
@@ -109,4 +107,4 @@ public ResponseEntity> deleteLostUinApplic
return ResponseEntity.status(HttpStatus.OK).body(applicationService.deleteLostOrUpdateApplication(applicationId,
BookingTypeCodes.LOST_FORGOTTEN_UIN.toString()));
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/NotificationController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/NotificationController.java
index 8bfdb51d4ec..464b97020c6 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/NotificationController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/NotificationController.java
@@ -1,6 +1,6 @@
package io.mosip.preregistration.application.controller;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -10,7 +10,6 @@
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
@@ -32,7 +31,6 @@
* @since 1.0.0
*/
@RestController
-@CrossOrigin("*")
@Tag(name = "notification-controller", description = "Notification Controller")
public class NotificationController {
@@ -53,15 +51,14 @@ public class NotificationController {
* @return the response entity.
*/
@PreAuthorize("hasAnyRole(@authorizedRoles.getPostnotificationnotify())")
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN')")
@PostMapping(path = "/notification/notify", consumes = { "multipart/form-data" })
- @Operation(summary = "sendNotification", description = "Trigger notification", tags = "notification-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @Operation(summary = "sendNotification", description = "Trigger notification", tags = "notification-controller")
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> sendNotification(
@RequestPart(value = "NotificationRequestDTO", required = true) String jsonbObject,
@RequestPart(value = "langCode", required = true) String langCode,
@@ -82,15 +79,14 @@ public ResponseEntity> sendNotification
* @return the response entity.
*/
@PreAuthorize("hasAnyRole(@authorizedRoles.getPostnotification())")
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN')")
@PostMapping(path = "/notification", consumes = { "multipart/form-data" })
- @Operation(summary = "sendNotifications", description = "Trigger notification", tags = "notification-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @Operation(summary = "sendNotifications", description = "Trigger notification", tags = "notification-controller")
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> sendNotifications(
@RequestPart(value = "NotificationRequestDTO", required = true) String jsonbObject,
@RequestPart(value = "langCode", required = false) String langCode,
@@ -101,7 +97,7 @@ public ResponseEntity> sendNotification
return new ResponseEntity<>(notificationService.sendNotification(jsonbObject, langCode, file, true),
HttpStatus.OK);
}
-
+
/**
* Api to Trigger notification service.
*
@@ -111,21 +107,21 @@ public ResponseEntity> sendNotification
* @return the response entity.
*/
@PreAuthorize("hasAnyRole(@authorizedRoles.getPostnotification())")
- //@PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN')")
+ // @PreAuthorize("hasAnyRole('INDIVIDUAL','PRE_REGISTRATION_ADMIN')")
@PostMapping(path = "/internal/notification", consumes = { "multipart/form-data" })
- @Operation(summary = "sendNotificationsInternal", description = "Trigger notification by internal batch job", tags = "notification-controller")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @Operation(summary = "sendNotificationsInternal", description = "Trigger notification by internal batch job", tags = "notification-controller")
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> sendNotificationsInternal(
@RequestPart(value = "NotificationRequestDTO", required = true) String jsonbObject,
@RequestPart(value = "langCode", required = false) String langCode,
@RequestPart(value = "attachment", required = false) MultipartFile file, HttpServletRequest res) {
log.info("sessionId", "idType", "id",
- "In notification controller for sendNotificationsInternal() with request notification dto " + jsonbObject);
+ "In notification controller for sendNotificationsInternal() with request notification dto "
+ + jsonbObject);
log.debug("sessionId", "idType", "id", res.getHeader("Cookie"));
return new ResponseEntity<>(notificationService.sendNotification(jsonbObject, langCode, file, false),
HttpStatus.OK);
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/ProxyMasterdataController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/ProxyMasterdataController.java
index 47ee429cc65..abea0926a30 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/ProxyMasterdataController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/ProxyMasterdataController.java
@@ -1,18 +1,9 @@
package io.mosip.preregistration.application.controller;
-import javax.servlet.http.HttpServletRequest;
-
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@@ -20,11 +11,16 @@
import io.mosip.kernel.core.logger.spi.Logger;
import io.mosip.preregistration.core.config.LoggerConfiguration;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("/proxy")
-@CrossOrigin("*")
@Tag(name = "proxy-masterdata-controller", description = "Proxy Masterdata Controller")
public class ProxyMasterdataController {
@@ -33,18 +29,29 @@ public class ProxyMasterdataController {
@Autowired
private io.mosip.preregistration.application.service.ProxyMasterDataService service;
- @RequestMapping(path = "/**", produces = MediaType.APPLICATION_JSON_VALUE, method = { RequestMethod.GET,
- RequestMethod.POST })
- @Operation(summary = "Master data proxy", description = "Master data proxy", tags = "proxy-masterdata-controller")
+ @RequestMapping(path = "/**", produces = MediaType.APPLICATION_JSON_VALUE, method = { RequestMethod.GET })
+ @Operation(summary = "GET Master data proxy", description = "Master data proxy", tags = "proxy-masterdata-controller")
@ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
- public ResponseEntity> masterDataProxyController(@RequestBody(required = false) String body,
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
+ public ResponseEntity> masterDataGetProxyController(@RequestBody(required = false) String body,
HttpServletRequest request) {
log.info("sessionId", "idType", "id",
- "In masterDataProxyController method with request url" + request.getRequestURI() + body);
+ "In masterDataGetProxyController method with request url: " + request.getRequestURI());
return ResponseEntity.status(HttpStatus.OK).body(service.getMasterDataResponse(body, request));
}
-}
+ @RequestMapping(path = "/**", produces = MediaType.APPLICATION_JSON_VALUE, method = { RequestMethod.POST })
+ @Operation(summary = "POST Master data proxy", description = "Master data proxy", tags = "proxy-masterdata-controller")
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
+ public ResponseEntity> masterDataPostProxyController(@RequestBody(required = false) String body,
+ HttpServletRequest request) {
+ log.info("sessionId", "idType", "id",
+ "In masterDataPostProxyController method with request url" + request.getRequestURI());
+ return ResponseEntity.status(HttpStatus.OK).body(service.getMasterDataResponse(body, request));
+ }
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/TransliterationController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/TransliterationController.java
index d5ff772ba39..edfab3775dc 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/TransliterationController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/TransliterationController.java
@@ -4,6 +4,20 @@
*/
package io.mosip.preregistration.application.controller;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.Errors;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.web.bind.annotation.InitBinder;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
import io.mosip.preregistration.application.dto.TransliterationRequestDTO;
import io.mosip.preregistration.application.dto.TransliterationResponseDTO;
import io.mosip.preregistration.application.service.TransliterationService;
@@ -11,26 +25,17 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import io.mosip.preregistration.core.util.DataValidationUtil;
import io.mosip.preregistration.core.util.RequestValidator;
+import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.Errors;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.*;
-import springfox.documentation.annotations.ApiIgnore;
/**
- * This class provides different API's to perform operations on
- * Transliteration Application
+ * This class provides different API's to perform operations on Transliteration
+ * Application
*
* @author Kishan Rathore
* @since 1.0.0
@@ -39,19 +44,18 @@
@RestController
@RequestMapping("/transliteration")
@Tag(name = "Transliteration Controller", description = "Transliteration Controller")
-@CrossOrigin("*")
public class TransliterationController {
/** Autowired reference for {@link #transliterationService}. */
@Autowired
private TransliterationService transliterationService;
-
+
@Autowired
private RequestValidator requestValidator;
-
+
/** The Constant for GET UPDATED DATE TIME application. */
private static final String TRANS = "pre-registration.transliteration.transliterate";
-
+
/**
* Inits the binder.
*
@@ -66,20 +70,21 @@ public void initBinder(WebDataBinder binder) {
* Post API to transliterate from transliteration application.
*
* @param requestDTO
- * @return responseDto with transliterated toFieldValue.
+ * @return responseDto with transliterated toFieldValue.
*/
@PreAuthorize("hasAnyRole(@authorizedRoles.getPosttransliterationtransliterate())")
- @PostMapping(path = "/transliterate", consumes = MediaType.APPLICATION_JSON_VALUE,produces = MediaType.APPLICATION_JSON_VALUE)
- @Operation(summary = "Get Pre-Registartion-Translitration data", description = "Get Pre-Registartion-Translitration data", tags = "Transliteration Controller")
+ @PostMapping(path = "/transliterate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
+ @Operation(summary = "Get Pre-Registartion-Translitration data", description = "Get Pre-Registartion-Translitration data", tags = "Transliteration Controller")
@ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Given key is translitrated successfully"),
- @ApiResponse(responseCode = "201", description = "Created" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @ApiResponse(responseCode = "201", description = "Created", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> translitrator(
- @Validated @RequestBody(required = true) MainRequestDTO requestDTO, @ApiIgnore Errors errors) {
+ @Validated @RequestBody(required = true) MainRequestDTO requestDTO,
+ @ApiParam(hidden = true) Errors errors) {
requestValidator.validateId(TRANS, requestDTO.getId(), errors);
- DataValidationUtil.validate(errors,TRANS);
+ DataValidationUtil.validate(errors, TRANS);
return ResponseEntity.status(HttpStatus.OK).body(transliterationService.translitratorService(requestDTO));
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/UISpecificationController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/UISpecificationController.java
index b72ae54b469..50f3191d62e 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/UISpecificationController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/UISpecificationController.java
@@ -1,14 +1,9 @@
package io.mosip.preregistration.application.controller;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@@ -21,10 +16,13 @@
import io.mosip.preregistration.core.config.LoggerConfiguration;
import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
@RestController
-@CrossOrigin("*")
@Tag(name = "UISpecification Controller", description = "UI Specification Controller")
public class UISpecificationController {
@@ -35,12 +33,12 @@ public class UISpecificationController {
@PreAuthorize("hasAnyRole(@authorizedRoles.getGetuispeclatest())")
@GetMapping("/uispec/latest")
- @Operation(summary = "Service to fetch latest published ui specification", description = "Service to fetch latest published ui specification", tags = { "UISpecification Controller" })
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @Operation(summary = "Service to fetch latest published ui specification", description = "Service to fetch latest published ui specification", tags = {
+ "UISpecification Controller" })
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> getLatestPublishedSchema(
@RequestParam(name = "version", defaultValue = "0", required = false) @ApiParam(value = "version", defaultValue = "0") double version,
@RequestParam(name = "identitySchemaVersion", defaultValue = "0", required = false) @ApiParam(value = "version", defaultValue = "0") double identitySchemaVersion) {
@@ -49,19 +47,18 @@ public ResponseEntity> getLatestPublishedSche
return ResponseEntity.status(HttpStatus.OK).body(uiSpecService.getLatestUISpec(version, identitySchemaVersion));
}
- @PreAuthorize("hasAnyRole(@authorizedRoles.getGetuispecall())" )
+ @PreAuthorize("hasAnyRole(@authorizedRoles.getGetuispecall())")
@GetMapping("/uispec/all")
- @Operation(summary = "Service to fetch all published ui specification", description = "Service to fetch all published ui specification", tags = { "UISpecification Controller" })
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "OK"),
- @ApiResponse(responseCode = "401", description = "Unauthorized" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "403", description = "Forbidden" ,content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(responseCode = "404", description = "Not Found" ,content = @Content(schema = @Schema(hidden = true)))})
+ @Operation(summary = "Service to fetch all published ui specification", description = "Service to fetch all published ui specification", tags = {
+ "UISpecification Controller" })
+ @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"),
+ @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))),
+ @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity>> getAllPublishedSchema(
@RequestParam(name = "pageNumber", defaultValue = "0") @ApiParam(value = "page number", defaultValue = "0") int pageNumber,
@RequestParam(name = "pageSize", defaultValue = "10") @ApiParam(value = "page size", defaultValue = "10") int pageSize) {
log.info("In UISpecification Controller to getAllPublishedSchema");
return ResponseEntity.status(HttpStatus.OK).body(uiSpecService.getAllUISpec(pageNumber, pageSize));
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/UpdateRegistrationController.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/UpdateRegistrationController.java
index 35eab482949..3480e24e3b5 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/UpdateRegistrationController.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/controller/UpdateRegistrationController.java
@@ -8,7 +8,6 @@
import org.springframework.validation.Errors;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.PathVariable;
@@ -27,16 +26,15 @@
import io.mosip.preregistration.core.config.LoggerConfiguration;
import io.mosip.preregistration.core.util.DataValidationUtil;
import io.mosip.preregistration.core.util.RequestValidator;
+import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
-import springfox.documentation.annotations.ApiIgnore;
@RestController
-@CrossOrigin("*")
@Tag(name = "update-registration-controller", description = "Update Registration Controller")
public class UpdateRegistrationController {
@@ -80,7 +78,7 @@ public void initBinder(WebDataBinder binder) {
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) })
public ResponseEntity> addUpdateRegistration(
@Validated @RequestBody(required = true) MainRequestDTO jsonObject,
- @ApiIgnore Errors errors) {
+ @ApiParam(hidden = true) Errors errors) {
log.info("sessionId", "idType", "id",
"In pre-registration UpdateRegistrationController for createNewApplication with json object"
+ jsonObject);
@@ -112,5 +110,4 @@ public ResponseEntity> deleteUpdateRegistr
return ResponseEntity.status(HttpStatus.OK).body(applicationService.deleteLostOrUpdateApplication(applicationId,
BookingTypeCodes.UPDATE_REGISTRATION.toString()));
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ApplicantTypeRequestDTO.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ApplicantTypeRequestDTO.java
index 29923ac6cb7..2ac444c31c1 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ApplicantTypeRequestDTO.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ApplicantTypeRequestDTO.java
@@ -2,7 +2,7 @@
import java.util.List;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ApplicantTypeResponseDTO.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ApplicantTypeResponseDTO.java
index d3345057f63..9f14491e2a1 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ApplicantTypeResponseDTO.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ApplicantTypeResponseDTO.java
@@ -1,6 +1,6 @@
package io.mosip.preregistration.application.dto;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/CaptchaRequestDTO.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/CaptchaRequestDTO.java
index a14fab1fcb3..e1e71d97ed9 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/CaptchaRequestDTO.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/CaptchaRequestDTO.java
@@ -2,8 +2,6 @@
import java.io.Serializable;
-import javax.validation.constraints.NotNull;
-
import lombok.Data;
@Data
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/OTPGenerateRequestDTO.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/OTPGenerateRequestDTO.java
index 02502919087..eb8ea5eee28 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/OTPGenerateRequestDTO.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/OTPGenerateRequestDTO.java
@@ -1,6 +1,5 @@
package io.mosip.preregistration.application.dto;
-import java.time.LocalDateTime;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -9,37 +8,33 @@
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
+import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
-
-@Getter
-@Setter
+@Data
@NoArgsConstructor
@AllArgsConstructor
public class OTPGenerateRequestDTO {
-
+
private String id;
-
+
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
- @Setter(AccessLevel.NONE)
- @Getter(AccessLevel.NONE)
private Date requesttime;
-
+
private String version;
-
- private Map metadata=new HashMap();
-
- private RequestDTO request;
+ private Map metadata = new HashMap();
+ private RequestDTO request;
+
+ // Getter and Setter methods for requesttime are overridden manually
public Date getRequesttime() {
- return requesttime!=null ? new Date(requesttime.getTime()):null;
+ return requesttime != null ? new Date(requesttime.getTime()) : null;
}
+
public void setRequesttime(Date requesttime) {
- this.requesttime =requesttime!=null ? new Date(requesttime.getTime()):null;
+ this.requesttime = requesttime != null ? new Date(requesttime.getTime()) : null;
}
-
}
-
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/OTPRequestWithLangCodeAndCaptchaToken.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/OTPRequestWithLangCodeAndCaptchaToken.java
index 8018855db0d..77015dee2ec 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/OTPRequestWithLangCodeAndCaptchaToken.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/OTPRequestWithLangCodeAndCaptchaToken.java
@@ -1,6 +1,6 @@
package io.mosip.preregistration.application.dto;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
import lombok.Data;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ResponseWrapper.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ResponseWrapper.java
index f995b01542f..186f4839584 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ResponseWrapper.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/ResponseWrapper.java
@@ -5,8 +5,8 @@
import java.util.ArrayList;
import java.util.List;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UIAuditRequest.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UIAuditRequest.java
index 1c53d7d73d2..52034d4c170 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UIAuditRequest.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UIAuditRequest.java
@@ -1,10 +1,6 @@
package io.mosip.preregistration.application.dto;
-import java.time.LocalDateTime;
-
-import javax.validation.constraints.NotNull;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UISpecDTO.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UISpecDTO.java
index 2156d545530..19ba6b9d734 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UISpecDTO.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UISpecDTO.java
@@ -1,7 +1,7 @@
package io.mosip.preregistration.application.dto;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.annotations.ApiModelProperty;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UISpecficationRequestDTO.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UISpecficationRequestDTO.java
index ddf8f99c174..e37b2aa2d69 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UISpecficationRequestDTO.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/dto/UISpecficationRequestDTO.java
@@ -1,7 +1,7 @@
package io.mosip.preregistration.application.dto;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.annotations.ApiModelProperty;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/entity/LanguageIdEntity.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/entity/LanguageIdEntity.java
index 6c2ab28ca10..dbe4d90b085 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/entity/LanguageIdEntity.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/entity/LanguageIdEntity.java
@@ -7,10 +7,10 @@
import java.io.Serializable;
import java.time.LocalDateTime;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import lombok.Getter;
import lombok.NoArgsConstructor;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/entity/OtpTransaction.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/entity/OtpTransaction.java
index d885d976549..303ca7d6475 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/entity/OtpTransaction.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/entity/OtpTransaction.java
@@ -2,10 +2,10 @@
import java.time.LocalDateTime;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import lombok.Data;
import lombok.NoArgsConstructor;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/errorcodes/AppointmentErrorCodes.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/errorcodes/AppointmentErrorCodes.java
index 8b07f7897d1..82f1e8eff76 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/errorcodes/AppointmentErrorCodes.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/errorcodes/AppointmentErrorCodes.java
@@ -14,7 +14,9 @@ public enum AppointmentErrorCodes {
MULTI_BOOKING_FAILED("PRG_APP_BCK_06", "Appointment Booking failed"),
- FAILED_TO_UPDATE_APPLICATIONS("PRG_APP_BCK_07","Failed to update Appointment for the %s");
+ FAILED_TO_UPDATE_APPLICATIONS("PRG_APP_BCK_07","Failed to update Appointment for the %s"),
+
+ INVALID_APP_ID_FOR_USER("PRG_APP_BCK_08", "Requested application id does not belong to the user");
private String code;
private String message;
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/AppointmentExecption.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/AppointmentExecption.java
index 4d98fed4b21..ebd66c44b87 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/AppointmentExecption.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/AppointmentExecption.java
@@ -1,25 +1,47 @@
package io.mosip.preregistration.application.exception;
+import java.util.Objects;
+
import io.mosip.kernel.core.exception.BaseUncheckedException;
import lombok.Data;
-import lombok.EqualsAndHashCode;
@Data
-@EqualsAndHashCode(callSuper = false)
public class AppointmentExecption extends BaseUncheckedException {
-
- public AppointmentExecption(String errorCode, String message) {
- this.errorCode = errorCode;
- this.errorMessage = message;
- }
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1L;
/**
- *
+ * The error code associated with the audit failure.
*/
- private static final long serialVersionUID = 1L;
-
private String errorCode;
+ /**
+ * A descriptive message explaining the reason for the audit failure.
+ */
private String errorMessage;
-}
+ public AppointmentExecption(String errorCode, String message) {
+ super();
+ this.errorCode = errorCode;
+ this.errorMessage = message;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ super.equals(obj);
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ AppointmentExecption other = (AppointmentExecption) obj;
+ return Objects.equals(errorCode, other.errorCode) && Objects.equals(errorMessage, other.errorMessage);
+ }
+
+ @Override
+ public int hashCode() {
+ super.hashCode();
+ return Objects.hash(errorCode, errorMessage);
+ }
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/AuditFailedException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/AuditFailedException.java
index 826e02f0c28..1171b515be2 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/AuditFailedException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/AuditFailedException.java
@@ -1,28 +1,44 @@
package io.mosip.preregistration.application.exception;
import io.mosip.kernel.core.exception.BaseUncheckedException;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.Setter;
+import lombok.Data;
-@Getter
-@Setter
-@AllArgsConstructor
+/**
+ * The AuditFailedException class represents an exception that occurs
+ * when audit fails.
+ *
+ *
+ * @author Tapaswini Behera
+ * @since 1.0.0
+ *
+ */
+
+@Data
public class AuditFailedException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1L;
/**
- *
+ * The error code associated with the audit failure.
*/
- private static final long serialVersionUID = 1L;
-
- private String errorCode;
-
- private String errorMessage;
+ private final String errorCode;
-
-
-
-
-
+ /**
+ * A descriptive message explaining the reason for the audit failure.
+ */
+ private final String errorMessage;
-}
+ /**
+ * Constructs a new AuditFailedException with the specified error code and
+ * message.
+ *
+ * @param errorCode The error code associated with the audit failure.
+ * @param errorMessage A descriptive message explaining the reason for the audit
+ * failure.
+ */
+ public AuditFailedException(String errorCode, String errorMessage) {
+ super();
+ this.errorCode = errorCode;
+ this.errorMessage = errorMessage;
+ }
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/BookingDeletionFailedException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/BookingDeletionFailedException.java
index e3e53eb106d..b8508f3ba36 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/BookingDeletionFailedException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/BookingDeletionFailedException.java
@@ -9,7 +9,7 @@
public class BookingDeletionFailedException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
- private MainResponseDTO> mainresponseDTO;
+ private MainResponseDTO> mainresponseDTO;
/**
* Default constructore
@@ -26,37 +26,36 @@ public BookingDeletionFailedException(String errorMessage) {
}
/**
- * @param errorCode pass the error code
+ * @param errorCode pass the error code
* @param errorMessage pass the error message
*/
public BookingDeletionFailedException(String errorCode, String errorMessage) {
super(errorCode, errorMessage, null);
}
-
+
/**
- * @param errorCode pass the error code
+ * @param errorCode pass the error code
* @param errorMessage pass the error message
*/
- public BookingDeletionFailedException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ public BookingDeletionFailedException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage, null);
- this.mainresponseDTO=response;
+ this.mainresponseDTO = response;
}
-
/**
* @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * @param rootCause pass the cause
*/
public BookingDeletionFailedException(String errorMessage, Throwable rootCause) {
super(DemographicErrorCodes.PRG_PAM_DOC_016.toString(), errorMessage, rootCause);
}
/**
- * @param errorCode pass the error code
+ * @param errorCode pass the error code
* @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * @param rootCause pass the cause
*/
public BookingDeletionFailedException(String errorCode, String errorMessage, Throwable rootCause) {
super(errorCode, errorMessage, rootCause);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/BookingDetailsNotFoundException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/BookingDetailsNotFoundException.java
index f374779e42a..cf78a6871f4 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/BookingDetailsNotFoundException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/BookingDetailsNotFoundException.java
@@ -7,18 +7,17 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
-
@Getter
public class BookingDetailsNotFoundException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
private final MainResponseDTO> mainResponseDTO;
private List errorList;
-
+
public List getErrorList() {
return errorList;
}
-
+
public MainResponseDTO> getMainResposneDTO() {
return mainResponseDTO;
}
@@ -26,18 +25,18 @@ public MainResponseDTO> getMainResposneDTO() {
/**
* @param msg
*/
- public BookingDetailsNotFoundException(List errorList,MainResponseDTO> response) {
- this.errorList=errorList;
- this.mainResponseDTO=response;
+ public BookingDetailsNotFoundException(List errorList, MainResponseDTO> response) {
+ this.errorList = errorList;
+ this.mainResponseDTO = response;
}
/**
* @param errCode
* @param msg
*/
- public BookingDetailsNotFoundException(String errCode, String msg,MainResponseDTO> response) {
+ public BookingDetailsNotFoundException(String errCode, String msg, MainResponseDTO> response) {
super(errCode, msg);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
/**
@@ -45,9 +44,8 @@ public BookingDetailsNotFoundException(String errCode, String msg,MainResponseDT
* @param msg
* @param cause
*/
- public BookingDetailsNotFoundException(String errCode, String msg, Throwable cause,MainResponseDTO> response) {
+ public BookingDetailsNotFoundException(String errCode, String msg, Throwable cause, MainResponseDTO> response) {
super(errCode, msg, cause);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
-}
-
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CephConnectionUnavailableException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CephConnectionUnavailableException.java
index d761b484f1a..5b9573fa36a 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CephConnectionUnavailableException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CephConnectionUnavailableException.java
@@ -22,7 +22,7 @@ public class CephConnectionUnavailableException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
-
+
private MainResponseDTO> response;
/**
@@ -32,41 +32,33 @@ public CephConnectionUnavailableException() {
super();
}
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * @param errorCode pass Error code
+ * @param message pass Error Message
+ * @param cause pass Error cause
*/
- public CephConnectionUnavailableException(String errorCode, String message, Throwable cause,MainResponseDTO> response) {
+ public CephConnectionUnavailableException(String errorCode, String message, Throwable cause,
+ MainResponseDTO> response) {
super(errorCode, message, cause);
- this.response=response;
+ this.response = response;
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * @param errorCode pass Error code
+ * @param message pass Error Message
*/
public CephConnectionUnavailableException(String errorCode, String message) {
super(errorCode, message);
}
-
+
/**
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode pass Error code
+ * @param message pass Error Message
+ * @param response pass response
*/
- public CephConnectionUnavailableException(String errorCode, String message,MainResponseDTO> response) {
+ public CephConnectionUnavailableException(String errorCode, String message, MainResponseDTO> response) {
super(errorCode, message);
- this.response=response;
+ this.response = response;
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CephServerException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CephServerException.java
index e8809ba3c90..4fe1e9d836a 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CephServerException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CephServerException.java
@@ -4,7 +4,6 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
-
/**
* @author M1046129
*
@@ -14,43 +13,34 @@
public class CephServerException extends BaseUncheckedException {
private static final long serialVersionUID = 1L;
-
+
private MainResponseDTO> response;
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * @param errorCode pass Error code
+ * @param message pass Error Message
*/
public CephServerException(String errorCode, String errorMessage) {
super(errorCode, errorMessage);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * @param errorCode pass Error code
+ * @param message pass Error Message
+ * @param cause pass Error cause
*/
public CephServerException(String errorCode, String errorMessage, Throwable cause) {
super(errorCode, errorMessage, cause);
}
-
+
/**
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode pass Error code
+ * @param message pass Error Message
+ * @param response pass response
*/
- public CephServerException(String errorCode, String message,MainResponseDTO> response) {
+ public CephServerException(String errorCode, String message, MainResponseDTO> response) {
super(errorCode, message);
- this.response=response;
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/ConfigFileNotFoundException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/ConfigFileNotFoundException.java
index 41fa010deda..d39097758fd 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/ConfigFileNotFoundException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/ConfigFileNotFoundException.java
@@ -7,33 +7,34 @@
@Getter
@Setter
-public class ConfigFileNotFoundException extends BaseUncheckedException{
+public class ConfigFileNotFoundException extends BaseUncheckedException {
/**
*
*/
private static final long serialVersionUID = 1298682891599963309L;
-
+
private MainResponseDTO> mainResposneDto;
-
- public ConfigFileNotFoundException(String msg,MainResponseDTO> response) {
+
+ public ConfigFileNotFoundException(String msg, MainResponseDTO> response) {
super("", msg);
- this.mainResposneDto=response;
+ this.mainResposneDto = response;
}
- public ConfigFileNotFoundException(String msg, Throwable cause,MainResponseDTO> response) {
+ public ConfigFileNotFoundException(String msg, Throwable cause, MainResponseDTO> response) {
super("", msg, cause);
- this.mainResposneDto=response;
+ this.mainResposneDto = response;
}
- public ConfigFileNotFoundException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ public ConfigFileNotFoundException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage, null);
- this.mainResposneDto=response;
+ this.mainResposneDto = response;
}
- public ConfigFileNotFoundException(String errorCode, String errorMessage, Throwable rootCause,MainResponseDTO> response) {
+ public ConfigFileNotFoundException(String errorCode, String errorMessage, Throwable rootCause,
+ MainResponseDTO> response) {
super(errorCode, errorMessage, rootCause);
- this.mainResposneDto=response;
+ this.mainResposneDto = response;
}
public ConfigFileNotFoundException() {
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CryptocoreException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CryptocoreException.java
index ef43f8085ea..13a9a106577 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CryptocoreException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/CryptocoreException.java
@@ -11,28 +11,23 @@ public class CryptocoreException extends BaseUncheckedException {
private MainResponseDTO> mainresponseDTO;
/**
- * @param msg
- * pass the error message
+ * @param msg pass the error message
*/
public CryptocoreException(String msg) {
super("", msg);
}
/**
- * @param errCode
- * pass the error code
- * @param msg
- * pass the error message
+ * @param errCode pass the error code
+ * @param msg pass the error message
*/
public CryptocoreException(String errCode, String msg) {
super(errCode, msg);
}
/**
- * @param errCode
- * pass the error code
- * @param msg
- * pass the error message
+ * @param errCode pass the error code
+ * @param msg pass the error message
*/
public CryptocoreException(String errCode, String msg, MainResponseDTO> response) {
super(errCode, msg);
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DTOMappigException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DTOMappigException.java
index b5a312983ea..d544c321dd2 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DTOMappigException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DTOMappigException.java
@@ -9,8 +9,10 @@
import lombok.Getter;
/**
- * This class defines the DTOMappigException that occurs when the DTO Mapping
- * fails
+ * The DTOMappigException class represents an exception that occurs when the DTO
+ * Mapping fails. This class extends {@link BaseUncheckedException} and includes
+ * various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -19,10 +21,10 @@
@Getter
public class DTOMappigException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
- private static final long serialVersionUID = -8143377803310016937L;
-
+ private static final long serialVersionUID = 1L;
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -32,40 +34,40 @@ public DTOMappigException() {
super();
}
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code DTOMappigException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public DTOMappigException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public DTOMappigException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code DTOMappigException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public DTOMappigException(String errorCode, String message) {
- super(errorCode, message);
+ public DTOMappigException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code DTOMappigException} with the specified
+ * error code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public DTOMappigException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public DTOMappigException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicDetailsNotFoundException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicDetailsNotFoundException.java
index ec2276a8ca2..8b451f6384f 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicDetailsNotFoundException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicDetailsNotFoundException.java
@@ -13,30 +13,30 @@ public class DemographicDetailsNotFoundException extends BaseUncheckedException
private static final long serialVersionUID = 1L;
private final MainResponseDTO> mainResponseDTO;
private List errorList;
-
+
public List getErrorList() {
return errorList;
}
-
public MainResponseDTO> getMainResposneDTO() {
return mainResponseDTO;
}
+
/**
* @param msg
*/
- public DemographicDetailsNotFoundException(List errorList,MainResponseDTO> response) {
- this.errorList=errorList;
- this.mainResponseDTO=response;
+ public DemographicDetailsNotFoundException(List errorList, MainResponseDTO> response) {
+ this.errorList = errorList;
+ this.mainResponseDTO = response;
}
/**
* @param errCode
* @param msg
*/
- public DemographicDetailsNotFoundException(String errCode, String msg,MainResponseDTO> response) {
+ public DemographicDetailsNotFoundException(String errCode, String msg, MainResponseDTO> response) {
super(errCode, msg);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
/**
@@ -44,10 +44,9 @@ public DemographicDetailsNotFoundException(String errCode, String msg,MainRespon
* @param msg
* @param cause
*/
- public DemographicDetailsNotFoundException(String errCode, String msg, Throwable cause,MainResponseDTO> response) {
+ public DemographicDetailsNotFoundException(String errCode, String msg, Throwable cause,
+ MainResponseDTO> response) {
super(errCode, msg, cause);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
-}
-
-
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicGetDetailsException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicGetDetailsException.java
index cf01760e68c..2b1f425616f 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicGetDetailsException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicGetDetailsException.java
@@ -4,7 +4,6 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
-
/**
* @author M1046129
*
@@ -14,45 +13,34 @@
public class DemographicGetDetailsException extends BaseUncheckedException {
private static final long serialVersionUID = 1L;
-
+
private MainResponseDTO> response;
-
+
/**
- * @param errorCode
- * pass Error code
- * @param errorMessage
- * pass Error Message
+ * @param errorCode pass Error code
+ * @param errorMessage pass Error Message
*/
-
public DemographicGetDetailsException(String errorCode, String errorMessage) {
super(errorCode, errorMessage);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * @param errorCode pass Error code
+ * @param message pass Error Message
+ * @param cause pass Error cause
*/
public DemographicGetDetailsException(String errorCode, String errorMessage, Throwable cause) {
super(errorCode, errorMessage, cause);
}
-
-
+
/**
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode pass Error code
+ * @param message pass Error Message
+ * @param response pass response
*/
- public DemographicGetDetailsException(String errorCode, String message,MainResponseDTO> response) {
+ public DemographicGetDetailsException(String errorCode, String message, MainResponseDTO> response) {
super(errorCode, message);
- this.response=response;
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicServiceException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicServiceException.java
index 5d26b4d999f..ecfc6c6b838 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicServiceException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DemographicServiceException.java
@@ -5,30 +5,52 @@
import io.mosip.kernel.core.exception.BaseUncheckedException;
import io.mosip.kernel.core.exception.ServiceError;
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
-
+import lombok.Getter;
+
+/**
+ * The DemographicServiceException class represents an exception specific to
+ * demographic service errors. This class extends {@link BaseUncheckedException}
+ * and includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ *
+ * @author Tapaswini Behera
+ * @since 1.0.0
+ *
+ */
+
+@Getter
public class DemographicServiceException extends BaseUncheckedException {
-
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
+ /** The list of validation errors. */
private List validationErrorList;
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResposneDTO;
- public List getValidationErrorList() {
- return validationErrorList;
- }
-
+ /**
+ * Constructs a new {@code DemographicServiceException} with the specified
+ * validationErrorList, and response.
+ *
+ * @param validationErrorList The list of validation errors.
+ * @param response the {@link MainResponseDTO} object containing
+ * additional information about the error.
+ */
public DemographicServiceException(List validationErrorList, MainResponseDTO> response) {
this.validationErrorList = validationErrorList;
this.mainResposneDTO = response;
}
- public DemographicServiceException(String code, String message) {
- super(code, message);
+ /**
+ * Constructs a new {@code DemographicServiceException} with the specified error
+ * code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ */
+ public DemographicServiceException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
- public MainResponseDTO> getMainResposneDTO() {
- return mainResposneDTO;
- }
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DeprecatedException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DeprecatedException.java
index 94e4c102bbf..69e89fac5c6 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DeprecatedException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DeprecatedException.java
@@ -3,21 +3,41 @@
import io.mosip.kernel.core.exception.BaseUncheckedException;
import lombok.Getter;
+/**
+ * The DeprecatedException class represents an exception that occurs when
+ * function is deprecated.
+ *
+ *
+ * @author Tapaswini Behera
+ * @since 1.0.0
+ *
+ */
+
@Getter
public class DeprecatedException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1L;
/**
- *
+ * The error code associated with the audit failure.
*/
- private static final long serialVersionUID = 1L;
-
- private String errorCode;
+ private final String errorCode;
- private String errorMessage;
+ /**
+ * A descriptive message explaining the reason for the audit failure.
+ */
+ private final String errorMessage;
+ /**
+ * Constructs a new DeprecatedException with the specified error code and
+ * message.
+ *
+ * @param errorCode The error code associated with the audit failure.
+ * @param errorMessage A descriptive message explaining the reason for the audit
+ * failure.
+ */
public DeprecatedException(String errorCode, String errorMessage) {
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToCopyException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToCopyException.java
index 5bb1e04cde3..320806ff84f 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToCopyException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToCopyException.java
@@ -9,8 +9,11 @@
import lombok.Getter;
/**
- * This class defines the DocumentFailedToCopyException that occurs when the
- * document fails to copy
+ * The DocumentFailedToCopyException class represents an exception that occurs
+ * when the document fails to copy. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -19,10 +22,10 @@
@Getter
public class DocumentFailedToCopyException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
- private static final long serialVersionUID = 7303748392658525834L;
-
+ private static final long serialVersionUID = 1L;
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -32,41 +35,40 @@ public DocumentFailedToCopyException() {
super();
}
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code DocumentFailedToCopyException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public DocumentFailedToCopyException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public DocumentFailedToCopyException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code DocumentFailedToCopyException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public DocumentFailedToCopyException(String errorCode, String message) {
- super(errorCode, message);
+ public DocumentFailedToCopyException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code DocumentFailedToCopyException} with the specified
+ * error code, error errorMessage, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error errorMessage.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public DocumentFailedToCopyException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public DocumentFailedToCopyException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToDeleteException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToDeleteException.java
index 01c4c4c3459..e2f38c5f10b 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToDeleteException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToDeleteException.java
@@ -10,7 +10,12 @@
import lombok.Getter;
/**
- * This class defines the DocumentFailedToDeleteException
+ * The DocumentFailedToDeleteException class represents an exception that occurs
+ * when the document fails to delete. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
+ *
*
* @author Tapaswini Behera
* @since 1.0.0
@@ -20,6 +25,8 @@
public class DocumentFailedToDeleteException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainresponseDTO;
/**
@@ -30,42 +37,60 @@ public DocumentFailedToDeleteException() {
}
/**
- * @param errorMessage pass the error message
+ * Constructs a new {@code DocumentFailedToDeleteException} with the specified
+ * error message
+ *
+ * @param errorMessage the detailed error message.
*/
public DocumentFailedToDeleteException(String errorMessage) {
super(DemographicErrorCodes.PRG_PAM_DOC_015.toString(), errorMessage);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code DocumentFailedToDeleteException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
public DocumentFailedToDeleteException(String errorCode, String errorMessage) {
super(errorCode, errorMessage, null);
}
+
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code DocumentFailedToDeleteException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public DocumentFailedToDeleteException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ public DocumentFailedToDeleteException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage, null);
- this.mainresponseDTO=response;
+ this.mainresponseDTO = response;
}
/**
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code DocumentFailedToDeleteException} with the specified
+ * error message, and rootCause.
+ *
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public DocumentFailedToDeleteException(String errorMessage, Throwable rootCause) {
super(DemographicErrorCodes.PRG_PAM_DOC_015.toString(), errorMessage, rootCause);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code DocumentFailedToDeleteException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public DocumentFailedToDeleteException(String errorCode, String errorMessage, Throwable rootCause) {
super(errorCode, errorMessage, rootCause);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToUploadException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToUploadException.java
index ff831ddc548..4431ed31f56 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToUploadException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentFailedToUploadException.java
@@ -9,8 +9,10 @@
import lombok.Getter;
/**
- * This class defines the DocumentFailedToUploadException that occurs when
- * document upload fails
+ * The DocumentFailedToUploadException class represents an exception that occurs
+ * document upload fails. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -19,11 +21,12 @@
@Getter
public class DocumentFailedToUploadException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
- private static final long serialVersionUID = 7303748392658525834L;
+ private static final long serialVersionUID = 1L;
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
+
/**
* Default constructor
*/
@@ -32,39 +35,39 @@ public DocumentFailedToUploadException() {
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code DocumentFailedToUploadException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public DocumentFailedToUploadException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public DocumentFailedToUploadException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code DocumentFailedToUploadException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public DocumentFailedToUploadException(String errorCode, String message) {
- super(errorCode, message);
+ public DocumentFailedToUploadException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code DocumentFailedToUploadException} with the specified
+ * error code, error errorMessage, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error errorMessage.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public DocumentFailedToUploadException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public DocumentFailedToUploadException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentNotFoundException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentNotFoundException.java
index 82c38519f61..6065a2f0385 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentNotFoundException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentNotFoundException.java
@@ -9,8 +9,10 @@
import lombok.Getter;
/**
- * This class defines the DocumentNotFoundException that occurs when document is
- * not found
+ * The DocumentNotFoundException class represents an exception that occurs when
+ * document is not found. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -19,11 +21,12 @@
@Getter
public class DocumentNotFoundException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
- private static final long serialVersionUID = 7303748392658525834L;
+ private static final long serialVersionUID = 1L;
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
+
/**
* Default constructor
*/
@@ -32,39 +35,39 @@ public DocumentNotFoundException() {
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code DocumentNotFoundException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public DocumentNotFoundException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public DocumentNotFoundException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code DocumentNotFoundException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public DocumentNotFoundException(String errorCode, String message) {
- super(errorCode, message);
+ public DocumentNotFoundException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code DocumentNotFoundException} with the specified
+ * error code, error errorMessage, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error errorMessage.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public DocumentNotFoundException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public DocumentNotFoundException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentNotValidException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentNotValidException.java
index 6fe9307afe8..8cd8a66374a 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentNotValidException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentNotValidException.java
@@ -9,8 +9,10 @@
import lombok.Getter;
/**
- * This class defines the DocumentNotValidException that occurs when document is
- * invalid
+ * The DocumentNotValidException class represents an exception that occurs when
+ * document is invalid. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -19,10 +21,10 @@
@Getter
public class DocumentNotValidException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
- private static final long serialVersionUID = 5252109871704396987L;
-
+ private static final long serialVersionUID = 1L;
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -34,39 +36,39 @@ public DocumentNotValidException() {
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code DocumentNotValidException} with the specified error
+ * code, error errorMessage, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error errorMessage.
+ * @param rootCause the cause of the error.
*/
- public DocumentNotValidException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public DocumentNotValidException(String errorCode, String errorMessage, Throwable cause) {
+ super(errorCode, errorMessage, cause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code DocumentNotValidException} with the specified error
+ * code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public DocumentNotValidException(String errorCode, String message) {
- super(errorCode, message);
+ public DocumentNotValidException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code DocumentNotValidException} with the specified error
+ * code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public DocumentNotValidException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public DocumentNotValidException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentSizeExceedException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentSizeExceedException.java
index 5b83f103646..ea8b689e177 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentSizeExceedException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentSizeExceedException.java
@@ -9,8 +9,11 @@
import lombok.Getter;
/**
- * This class defines the DocumentSizeExceedException that occurs when the
- * document size exceeds the limit
+ * The DocumentSizeExceedException class represents an exception that occurs
+ * when the document size exceeds the limit. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -19,10 +22,10 @@
@Getter
public class DocumentSizeExceedException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
- private static final long serialVersionUID = 4879473387592007255L;
-
+ private static final long serialVersionUID = 1L;
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -30,45 +33,42 @@ public class DocumentSizeExceedException extends BaseUncheckedException {
*/
public DocumentSizeExceedException() {
super();
-
}
-
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code DocumentSizeExceedException} with the specified error
+ * code, error errorMessage, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error errorMessage.
+ * @param rootCause the cause of the error.
*/
- public DocumentSizeExceedException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public DocumentSizeExceedException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code DocumentSizeExceedException} with the specified error
+ * message, and rootCause.
+ *
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public DocumentSizeExceedException(String errorCode, String message) {
- super(errorCode, message);
+ public DocumentSizeExceedException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code DocumentSizeExceedException} with the specified error
+ * code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public DocumentSizeExceedException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public DocumentSizeExceedException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentVirusScanException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentVirusScanException.java
index a6a09bf0b9b..b5b99cd5a24 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentVirusScanException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DocumentVirusScanException.java
@@ -9,8 +9,11 @@
import lombok.Getter;
/**
- * This class defines the DocumentVirusScanException that occurs when the virus
- * scan for a document fails
+ * The DocumentVirusScanException class represents an exception that occurs when
+ * the virus scan for a document fails. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -19,10 +22,10 @@
@Getter
public class DocumentVirusScanException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
- private static final long serialVersionUID = -8143377803310016937L;
-
+ private static final long serialVersionUID = 1L;
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -32,42 +35,40 @@ public DocumentVirusScanException() {
super();
}
-
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code DocumentVirusScanException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public DocumentVirusScanException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public DocumentVirusScanException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code DocumentVirusScanException} with the specified error
+ * code and error errorMessage.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error errorMessage.
*/
- public DocumentVirusScanException(String errorCode, String message) {
- super(errorCode, message);
+ public DocumentVirusScanException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
-
+
/**
+ * Constructs a new {@code DocumentVirusScanException} with the specified error
+ * code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public DocumentVirusScanException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public DocumentVirusScanException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DuplicatePridKeyException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DuplicatePridKeyException.java
index b58bd58ab35..19c57e3f37e 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DuplicatePridKeyException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/DuplicatePridKeyException.java
@@ -4,44 +4,70 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
+/**
+ * The DuplicatePridKeyException class represents an exception indicating
+ * duplicate primary key errors. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
+
@Getter
public class DuplicatePridKeyException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
- private MainResponseDTO> mainresponseDTO;
+ /** The main response DTO associated with the exception. */
+ private MainResponseDTO> mainresponseDTO;
/**
- * @param msg pass the error message
+ * Constructs a new {@code DuplicatePridKeyException} with the specified
+ * error message
+ *
+ * @param errorMessage the detailed error message.
*/
- public DuplicatePridKeyException(String msg) {
- super("", msg);
+ public DuplicatePridKeyException(String errorMessage) {
+ super("", errorMessage);
}
/**
- * @param errCode pass the error code
- * @param msg pass the error message
+ * Constructs a new {@code DuplicatePridKeyException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public DuplicatePridKeyException(String errCode, String msg) {
- super(errCode, msg);
+ public DuplicatePridKeyException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
+
/**
- * @param errCode pass the error code
- * @param msg pass the error message
+ * Constructs a new {@code DuplicatePridKeyException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public DuplicatePridKeyException(String errCode, String msg,MainResponseDTO> response) {
- super(errCode, msg);
- this.mainresponseDTO=response;
+ public DuplicatePridKeyException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainresponseDTO = response;
}
/**
- * @param errCode pass the error code
- * @param msg pass the error message
- * @param cause pass the cause
+ * Constructs a new {@code DuplicatePridKeyException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public DuplicatePridKeyException(String errCode, String msg, Throwable cause) {
- super(errCode, msg, cause);
+ public DuplicatePridKeyException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/FSServerException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/FSServerException.java
index 9800fd72da4..cc8aa48b495 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/FSServerException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/FSServerException.java
@@ -4,62 +4,64 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
-
/**
+ * The FSServerException class represents an exception indicating errors related to the file server. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
+ *
* @author M1046129
- *
+ * @since 1.0.0
+ *
*/
@Getter
public class FSServerException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
-
- private MainResponseDTO> response;
+ /** The main response DTO associated with the exception. */
+ private MainResponseDTO> response;
/**
* Default constructor
*/
public FSServerException() {
super();
}
-
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code OperationNotAllowedException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public FSServerException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public FSServerException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code FSServerException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
public FSServerException(String errorCode, String message) {
super(errorCode, message);
}
-
+
/**
+ * Constructs a new {@code FSServerException} with the specified
+ * error code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public FSServerException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public FSServerException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/FileNotFoundException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/FileNotFoundException.java
index 1d9852a21fc..9736d256a80 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/FileNotFoundException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/FileNotFoundException.java
@@ -9,8 +9,11 @@
import lombok.Getter;
/**
- * This class defines the FileNotFoundException that occurs when requested
- * packet is not present in DFS
+ * The FileNotFoundException class represents an exception that occurs
+ * when requested packet is not present in DFS. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -19,10 +22,10 @@
@Getter
public class FileNotFoundException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -32,41 +35,40 @@ public FileNotFoundException() {
super();
}
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code FileNotFoundException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public FileNotFoundException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public FileNotFoundException(String errorCode, String errorMessage, Throwable cause) {
+ super(errorCode, errorMessage, cause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code FileNotFoundException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
public FileNotFoundException(String errorCode, String message) {
super(errorCode, message);
}
-
+
/**
+ * Constructs a new {@code OperationNotAllowedException} with the specified
+ * error code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public FileNotFoundException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public FileNotFoundException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-
}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IOException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IOException.java
index 0be5b5745e8..96f00ff2a22 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IOException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IOException.java
@@ -4,30 +4,64 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
+/**
+ * The IOException class represents an exception indicating an error related to
+ * input or output operations. This class extends {@link BaseUncheckedException}
+ * and includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
+
@Getter
-public class IOException extends BaseUncheckedException{
+public class IOException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1L;
+
+ /** The main response DTO associated with the exception. */
+ private MainResponseDTO> mainResponseDTO;
/**
+ * Constructs a new {@code IOException} with the specified error code, error
+ * message, rootCause, and response.
*
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- private static final long serialVersionUID = -6723728155340185347L;
- private final MainResponseDTO> mainResponseDTO;
-
-
-
- public IOException(String arg0, String arg1, Throwable arg2,MainResponseDTO> response) {
- super(arg0, arg1, arg2);
- this.mainResponseDTO=response;
+ public IOException(String errorCode, String errorMessage, Throwable rootCause, MainResponseDTO> response) {
+ super(errorCode, errorMessage, rootCause);
+ this.mainResponseDTO = response;
}
- public IOException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code IOException} with the specified error code, error
+ * message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public IOException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
- public IOException(String errorMessage,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code IOException} with the specified error message, and
+ * response.
+ *
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public IOException(String errorMessage, MainResponseDTO> response) {
super(errorMessage);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IdValidationException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IdValidationException.java
index ccef9250958..1d4d0865296 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IdValidationException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IdValidationException.java
@@ -3,34 +3,41 @@
import java.util.List;
import io.mosip.kernel.core.exception.BaseUncheckedException;
-import io.mosip.kernel.core.exception.ServiceError;
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
-
+import lombok.Getter;
+
+/**
+ * The IdValidationException class represents an exception indicating validation
+ * errors related to IDs. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
+@Getter
public class IdValidationException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1L;
+
+ /** errorList the list of error messages. */
+ private List errorMessageList;
+
+ /** The main response DTO associated with the exception. */
+ private MainResponseDTO> mainResposneDTO;
/**
+ * Constructs a new {@code IdValidationException} with the specified error code,
+ * errrorList and response.
*
+ * @param errrorList errorList the list of error messages.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- private static final long serialVersionUID = 1L;
-
- private List errorMessagesList;
-
-
- private MainResponseDTO> mainResposneDTO;
-
- public List getErrorMessageList() {
- return errorMessagesList;
- }
-
- public IdValidationException(String errorCode,List errrorList,MainResponseDTO> response) {
+ public IdValidationException(String errorCode, List errrorList, MainResponseDTO> response) {
super(errorCode, null);
- this.errorMessagesList = errrorList;
- this.mainResposneDTO=response;
+ this.errorMessageList = errrorList;
+ this.mainResposneDTO = response;
}
-
- public MainResponseDTO> getMainResposneDTO() {
- return mainResposneDTO;
- }
-
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IllegalParamException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IllegalParamException.java
index 6a303485928..1c503bc2249 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IllegalParamException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/IllegalParamException.java
@@ -9,53 +9,70 @@
import lombok.Getter;
/**
- * This class defines the IllegalParamException
+ * The IllegalParamException class represents an exception indicating illegal
+ * parameters. This class extends {@link BaseUncheckedException} and includes
+ * various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
* @author Sanober Noor
* @since 1.0.0
*
*/
@Getter
-public class IllegalParamException extends BaseUncheckedException{
-
+public class IllegalParamException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
- private static final long serialVersionUID = 6810058264320216283L;
-
+ private static final long serialVersionUID = 1L;
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResponseDTO;
-
+
/**
- * @param msg
+ * Constructs a new {@code IllegalParamException} with the specified
+ * error message
+ *
+ * @param errorMessage the detailed error message.
*/
- public IllegalParamException(String msg) {
- super("", msg);
+ public IllegalParamException(String errorMessage) {
+ super("", errorMessage);
}
/**
- * @param errCode
- * @param msg
+ * Constructs a new {@code IllegalParamException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public IllegalParamException(String errCode, String msg) {
- super(errCode, msg);
+ public IllegalParamException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
/**
- * @param errCode
- * @param msg
+ * Constructs a new {@code IllegalParamException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public IllegalParamException(String errCode, String msg,MainResponseDTO> response) {
- super(errCode, msg);
- this.mainResponseDTO=response;
+ public IllegalParamException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainResponseDTO = response;
}
/**
- * @param errCode
- * @param msg
- * @param cause
+ * Constructs a new {@code IllegalParamException} with the specified
+ * error code, error message, rootCause, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public IllegalParamException(String errCode, String msg, Throwable cause,MainResponseDTO> response) {
- super(errCode, msg, cause);
- this.mainResponseDTO=response;
+ public IllegalParamException(String errorCode, String errorMessage, Throwable rootCause, MainResponseDTO> response) {
+ super(errorCode, errorMessage, rootCause);
+ this.mainResponseDTO = response;
}
-
-}
-
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidConnectionParameters.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidConnectionParameters.java
index 9b5edd65b78..da7cb655d5f 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidConnectionParameters.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidConnectionParameters.java
@@ -9,8 +9,11 @@
import lombok.Getter;
/**
- * This class defines the InvalidConnectionParameter Exception that occurs when
- * connection is attempted with wrong credentials
+ * The InvalidConnectionParameters class represents an exception that occurs
+ * when connection is attempted with wrong credentials. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Rajath KR
* @since 1.0.0
@@ -19,10 +22,10 @@
@Getter
public class InvalidConnectionParameters extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -32,41 +35,40 @@ public InvalidConnectionParameters() {
super();
}
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code InvalidConnectionParameters} with the specified error
+ * code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public InvalidConnectionParameters(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public InvalidConnectionParameters(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code InvalidConnectionParameters} with the specified error
+ * code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public InvalidConnectionParameters(String errorCode, String message) {
- super(errorCode, message);
+ public InvalidConnectionParameters(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code InvalidConnectionParameters} with the specified error
+ * code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public InvalidConnectionParameters(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public InvalidConnectionParameters(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDateFormatException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDateFormatException.java
index addadd852e6..aaf59a22851 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDateFormatException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDateFormatException.java
@@ -3,35 +3,77 @@
import io.mosip.kernel.core.exception.BaseUncheckedException;
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
+
+/**
+ * The InvalidDateFormatException class represents an exception indicating an
+ * invalid date format. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
+
@Getter
-public class InvalidDateFormatException extends BaseUncheckedException{
+public class InvalidDateFormatException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1L;
- /**
- *
- */
- private static final long serialVersionUID = -7333914604834231072L;
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResponseDTO;
-
+
+ /**
+ * Default constructor.
+ */
public InvalidDateFormatException() {
super();
}
- public InvalidDateFormatException(String arg0, String arg1, Throwable arg2) {
- super(arg0, arg1, arg2);
+ /**
+ * Constructs a new {@code InvalidDateFormatException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ */
+ public InvalidDateFormatException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
+ /**
+ * Constructs a new {@code InvalidDateFormatException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ */
public InvalidDateFormatException(String errorCode, String errorMessage) {
super(errorCode, errorMessage);
}
- public InvalidDateFormatException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code InvalidDateFormatException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public InvalidDateFormatException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
+ /**
+ * Constructs a new {@code InvalidDateFormatException} with the specified
+ * error message
+ *
+ * @param errorMessage the detailed error message.
+ */
public InvalidDateFormatException(String errorMessage) {
super(errorMessage);
}
-
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDocumentIdExcepion.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDocumentIdExcepion.java
index 43083a4d42c..1f3660ae807 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDocumentIdExcepion.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDocumentIdExcepion.java
@@ -9,8 +9,10 @@
import lombok.Getter;
/**
- * This class defines the DocumentFailedToUploadException that occurs when
- * document upload fails
+ * The InvalidDocumentIdExcepion class that occurs when document upload
+ * fails. This class extends {@link BaseUncheckedException} and includes various
+ * constructors for different use cases, as well as a {@link MainResponseDTO}
+ * object for additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -19,10 +21,10 @@
@Getter
public class InvalidDocumentIdExcepion extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 7303748392658525834L;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -32,41 +34,40 @@ public InvalidDocumentIdExcepion() {
super();
}
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code InvalidDocumentIdExcepion} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public InvalidDocumentIdExcepion(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public InvalidDocumentIdExcepion(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code InvalidDocumentIdExcepion} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public InvalidDocumentIdExcepion(String errorCode, String message) {
- super(errorCode, message);
+ public InvalidDocumentIdExcepion(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code InvalidDocumentIdExcepion} with the specified
+ * error code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public InvalidDocumentIdExcepion(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public InvalidDocumentIdExcepion(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDocumnetIdExcepion.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDocumnetIdExcepion.java
index b8bacfa55fe..6f360ffa9c6 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDocumnetIdExcepion.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidDocumnetIdExcepion.java
@@ -6,17 +6,19 @@
import io.mosip.kernel.core.exception.BaseUncheckedException;
import io.mosip.preregistration.application.errorcodes.DocumentErrorCodes;
+import io.mosip.preregistration.core.common.dto.MainResponseDTO;
/**
- * This class defines the DocumentFailedToUploadException that occurs when
- * document upload fails
+ * The InvalidDocumnetIdExcepion class represents an exception indicating an
+ * invalid document ID. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
*
*/
public class InvalidDocumnetIdExcepion extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 7303748392658525834L;
@@ -28,43 +30,43 @@ public InvalidDocumnetIdExcepion() {
}
/**
- * @param message
- * pass Error Message
+ * Constructs a new {@code InvalidDocumnetIdExcepion} with the specified error
+ * message
+ *
+ * @param errorMessage the detailed error message.
*/
- public InvalidDocumnetIdExcepion(String message) {
- super(DocumentErrorCodes.PRG_PAM_DOC_009.toString(), message);
+ public InvalidDocumnetIdExcepion(String errorMessage) {
+ super(DocumentErrorCodes.PRG_PAM_DOC_009.toString(), errorMessage);
}
/**
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code InvalidDocumnetIdExcepion} with the specified error
+ * message, and rootCause.
+ *
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public InvalidDocumnetIdExcepion(String message, Throwable cause) {
- super(DocumentErrorCodes.PRG_PAM_DOC_009.toString(), message, cause);
+ public InvalidDocumnetIdExcepion(String errorMessage, Throwable rootCause) {
+ super(DocumentErrorCodes.PRG_PAM_DOC_009.toString(), errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code InvalidDocumnetIdExcepion} with the specified error
+ * code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public InvalidDocumnetIdExcepion(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public InvalidDocumnetIdExcepion(String errorCode, String message, Throwable rootCause) {
+ super(errorCode, message, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * @param errorCode pass Error code
+ * @param message pass Error Message
*/
public InvalidDocumnetIdExcepion(String errorCode, String message) {
super(errorCode, message);
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidOtpOrUseridException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidOtpOrUseridException.java
index 75a87afbffa..5be7c13aad2 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidOtpOrUseridException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidOtpOrUseridException.java
@@ -2,43 +2,74 @@
import io.mosip.kernel.core.exception.BaseUncheckedException;
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
-import lombok.Getter;
-import lombok.Setter;
+import lombok.Data;
-@Getter
-@Setter
-public class InvalidOtpOrUseridException extends BaseUncheckedException {
+/**
+ * The InvalidOtpOrUseridException class represents an exception indicating an
+ * invalid OTP or User ID. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
- /**
- *
- */
+@Data
+public class InvalidOtpOrUseridException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResponseDto;
+ /**
+ * Default constructor
+ */
public InvalidOtpOrUseridException() {
super();
-
}
- public InvalidOtpOrUseridException(String errorCode, String errorMessage, Throwable rootCause,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code InvalidOtpOrUseridException} with the specified error
+ * code, error message, rootCause, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public InvalidOtpOrUseridException(String errorCode, String errorMessage, Throwable rootCause,
+ MainResponseDTO> response) {
super(errorCode, errorMessage, rootCause);
- this.mainResponseDto=response;
-
+ this.mainResponseDto = response;
}
- public InvalidOtpOrUseridException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code InvalidOtpOrUseridException} with the specified error
+ * code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public InvalidOtpOrUseridException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage);
- this.mainResponseDto=response;
-
+ this.mainResponseDto = response;
}
- public InvalidOtpOrUseridException(String errorMessage,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code InvalidOtpOrUseridException} with the specified error
+ * message, and response.
+ *
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public InvalidOtpOrUseridException(String errorMessage, MainResponseDTO> response) {
super(errorMessage);
- this.mainResponseDto=response;
-
+ this.mainResponseDto = response;
}
-
-
-}
-
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidateTokenException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidateTokenException.java
index 2b6eb7a238c..d70bc525fad 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidateTokenException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/InvalidateTokenException.java
@@ -6,7 +6,11 @@
import lombok.Setter;
/**
- * This class provides custom Exception for invalidate token failed scenario
+ * The InvalidateTokenException class represents an exception that occurs when
+ * invalidate token failed scenario. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Akshay Jain
* @since 1.0.0
@@ -16,13 +20,23 @@
@Getter
@Setter
public class InvalidateTokenException extends BaseUncheckedException {
-
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResponseDto;
-
- public InvalidateTokenException(String errorCode, String errorMessage,MainResponseDTO> response) {
- super(errorCode,errorMessage);
- this.mainResponseDto=response;
+
+ /**
+ * Constructs a new {@code OperationNotAllowedException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public InvalidateTokenException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainResponseDto = response;
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/JsonParseException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/JsonParseException.java
index 4228b774c5c..14be6f5c4a6 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/JsonParseException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/JsonParseException.java
@@ -9,44 +9,62 @@
import lombok.Getter;
/**
- * This class defines the JsonParseException
+ * The JsonParseException class represents an exception indicating an error
+ * related to JSON parsing. This class extends {@link BaseUncheckedException}
+ * and includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
- * @author Sanober Noor
+ * @author Sanober Noor
* @since 1.0.0
*
*/
@Getter
public class JsonParseException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
+
+ /** The main response DTO associated with the exception. */
private final MainResponseDTO> mainResponseDTO;
/**
- * @param msg
+ * Constructs a new {@code JsonParseException} with the specified error message,
+ * and response.
+ *
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public JsonParseException(String msg,MainResponseDTO> response) {
- super("", msg);
- this.mainResponseDTO=response;
+ public JsonParseException(String errorMessage, MainResponseDTO> response) {
+ super("", errorMessage);
+ this.mainResponseDTO = response;
}
/**
- * @param errCode
- * @param msg
+ * Constructs a new {@code JsonParseException} with the specified error code,
+ * error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public JsonParseException(String errCode, String msg,MainResponseDTO> response) {
- super(errCode, msg);
- this.mainResponseDTO=response;
+ public JsonParseException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainResponseDTO = response;
}
/**
- * @param errCode
- * @param msg
- * @param cause
+ * Constructs a new {@code JsonParseException} with the specified error code,
+ * error message, rootCause, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public JsonParseException(String errCode, String msg, Throwable cause,MainResponseDTO> response) {
- super(errCode, msg, cause);
- this.mainResponseDTO=response;
+ public JsonParseException(String errorCode, String errorMessage, Throwable rootCause, MainResponseDTO> response) {
+ super(errorCode, errorMessage, rootCause);
+ this.mainResponseDTO = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/JsonValidationException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/JsonValidationException.java
index c4cb145ad47..2bfc2d513f5 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/JsonValidationException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/JsonValidationException.java
@@ -6,9 +6,12 @@
import lombok.Getter;
/**
- * This class defines the JsonValidationException
+ * The JsonValidationException class represents an exception indicating an error
+ * related to JSON validation. This class extends {@link BaseUncheckedException}
+ * and includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
- * @author Sanober Noor
+ * @author Sanober Noor
* @since 1.0.0
*
*/
@@ -19,30 +22,45 @@ public class JsonValidationException extends BaseUncheckedException {
private final MainResponseDTO> mainResponseDTO;
/**
- * @param msg
+ * Constructs a new {@code JsonValidationException} with the specified error
+ * message, and response.
+ *
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public JsonValidationException(String msg,MainResponseDTO> response) {
- super("", msg);
- this.mainResponseDTO=response;
+ public JsonValidationException(String errorMessage, MainResponseDTO> response) {
+ super("", errorMessage);
+ this.mainResponseDTO = response;
}
/**
- * @param errCode
- * @param msg
+ * Constructs a new {@code JsonValidationException} with the specified error
+ * code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public JsonValidationException(String errCode, String msg,MainResponseDTO> response) {
- super(errCode, msg);
- this.mainResponseDTO=response;
+ public JsonValidationException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainResponseDTO = response;
}
/**
- * @param errCode
- * @param msg
- * @param cause
+ * Constructs a new {@code JsonValidationException} with the specified
+ * error code, error message, rootCause, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public JsonValidationException(String errCode, String msg, Throwable cause,MainResponseDTO> response) {
- super(errCode, msg, cause);
- this.mainResponseDTO=response;
+ public JsonValidationException(String errorCode, String errorMessage, Throwable rootCause,
+ MainResponseDTO> response) {
+ super(errorCode, errorMessage, rootCause);
+ this.mainResponseDTO = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/LanguagePropertiesException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/LanguagePropertiesException.java
index df3c2f9aaeb..0a514719b6c 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/LanguagePropertiesException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/LanguagePropertiesException.java
@@ -1,21 +1,46 @@
package io.mosip.preregistration.application.exception;
import io.mosip.kernel.core.exception.BaseUncheckedException;
+import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
+/**
+ * The LanguagePropertiesException class represents an exception indicating an
+ * error related to language properties. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
+
@Getter
public class LanguagePropertiesException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1L;
/**
- *
+ * The error code associated with the audit failure.
*/
- private static final long serialVersionUID = 1L;
- private String errorMessage;
- private String errorCode;
+ private final String errorCode;
+ /**
+ * A descriptive message explaining the reason for the audit failure.
+ */
+ private final String errorMessage;
+
+ /**
+ * Constructs a new {@code LanguagePropertiesException} with the specified error
+ * code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ */
public LanguagePropertiesException(String errorCode, String errorMessage) {
+ super();
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
-}
-
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/LoginServiceException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/LoginServiceException.java
index 1e78de823dc..3600226c869 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/LoginServiceException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/LoginServiceException.java
@@ -6,29 +6,53 @@
import io.mosip.kernel.core.exception.ServiceError;
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
-
+/**
+ * The LoginServiceException class represents an exception indicating a login
+ * service error. This class extends {@link BaseUncheckedException} and includes
+ * various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
public class LoginServiceException extends BaseUncheckedException {
-
- /**
- *
- */
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
-
+
+ /** The validation error list. */
private List validationErrorList;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResposneDTO;
+ /**
+ * Gets the validation error list.
+ *
+ * @return the validation error list
+ */
public List getValidationErrorList() {
return validationErrorList;
}
- public LoginServiceException(List validationErrorList,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code LoginServiceException} with the specified validation error list, and response.
+ *
+ * @param validationErrorList the validation error list.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public LoginServiceException(List validationErrorList, MainResponseDTO> response) {
this.validationErrorList = validationErrorList;
- this.mainResposneDTO=response;
+ this.mainResposneDTO = response;
}
+ /**
+ * Gets the main response DTO.
+ *
+ * @return the main response DTO
+ */
public MainResponseDTO> getMainResposneDTO() {
return mainResposneDTO;
- }
-
-}
+ }
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldException.java
index 4c1f07474dc..25b292bd970 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldException.java
@@ -5,38 +5,76 @@
import lombok.Getter;
/**
+ * The MandatoryFieldException class represents an exception indicating a
+ * mandatory field error. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
* @author Sanober Noor
- *@since 1.0.0
+ * @since 1.0.0
*/
@Getter
-public class MandatoryFieldException extends BaseUncheckedException{
+public class MandatoryFieldException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1298682891599963309L;
+ /** The main response DTO associated with the exception. */
+ private final MainResponseDTO> mainResponseDTO;
/**
+ * Constructs a new {@code MandatoryFieldException} with the specified error
+ * message, and response.
*
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- private static final long serialVersionUID = 1298682891599963309L;
- private final MainResponseDTO> mainResponseDTO;
-
- public MandatoryFieldException(String msg,MainResponseDTO> response) {
- super("", msg);
- this.mainResponseDTO=response;
+ public MandatoryFieldException(String errorMessage, MainResponseDTO> response) {
+ super("", errorMessage);
+ this.mainResponseDTO = response;
}
- public MandatoryFieldException(String msg, Throwable cause,MainResponseDTO> response) {
- super("", msg, cause);
- this.mainResponseDTO=response;
+ /**
+ * Constructs a new {@code MandatoryFieldException} with the specified error
+ * message, rootCause, and response.
+ *
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public MandatoryFieldException(String errorMessage, Throwable rootCause, MainResponseDTO> response) {
+ super("", errorMessage, rootCause);
+ this.mainResponseDTO = response;
}
- public MandatoryFieldException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code MandatoryFieldException} with the specified error
+ * code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public MandatoryFieldException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage, null);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
- public MandatoryFieldException(String errorCode, String errorMessage, Throwable rootCause,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code MandatoryFieldException} with the specified error
+ * code, error message, rootCause, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public MandatoryFieldException(String errorCode, String errorMessage, Throwable rootCause,
+ MainResponseDTO> response) {
super(errorCode, errorMessage, rootCause);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
-
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldNotFoundException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldNotFoundException.java
index eb470735f69..655f8b42f1d 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldNotFoundException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldNotFoundException.java
@@ -9,8 +9,11 @@
import lombok.Getter;
/**
- * This class defines the MandatoryFieldNotFound Exception that occurs when data
- * not pass to mandatory fields
+ * The MandatoryFieldNotFoundException class represents an exception indicating
+ * that a mandatory field is not found. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Rajath KR
* @since 1.0.0
@@ -19,10 +22,10 @@
@Getter
public class MandatoryFieldNotFoundException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = -8143377803310016937L;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -33,40 +36,39 @@ public MandatoryFieldNotFoundException() {
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code MandatoryFieldNotFoundException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public MandatoryFieldNotFoundException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public MandatoryFieldNotFoundException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code MandatoryFieldNotFoundException} with the specified
+ * error code, and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public MandatoryFieldNotFoundException(String errorCode, String message) {
- super(errorCode, message);
+ public MandatoryFieldNotFoundException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code MandatoryFieldNotFoundException} with the specified
+ * error code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public MandatoryFieldNotFoundException(String errorCode, String message,MainResponseDTO> response) {
+ public MandatoryFieldNotFoundException(String errorCode, String message, MainResponseDTO> response) {
super(errorCode, message);
- this.response=response;
+ this.response = response;
}
-
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldRequiredException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldRequiredException.java
index 93ace89c8a2..31bd76bf885 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldRequiredException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MandatoryFieldRequiredException.java
@@ -9,7 +9,11 @@
import lombok.Getter;
/**
- * This class defines the MandatoryFieldRequiredException
+ * The MandatoryFieldRequiredException class represents an exception indicating
+ * that a mandatory field is required. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -18,34 +22,71 @@
@Getter
public class MandatoryFieldRequiredException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = -620822827826136129L;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResponseDTO;
- public MandatoryFieldRequiredException(String msg,MainResponseDTO> response) {
- super("", msg);
- this.mainResponseDTO=response;
+ /**
+ * Constructs a new MandatoryFieldRequiredException.
+ */
+ public MandatoryFieldRequiredException() {
+ super();
}
- public MandatoryFieldRequiredException(String msg, Throwable cause,MainResponseDTO> response) {
- super("", msg, cause);
- this.mainResponseDTO=response;
+ /**
+ * Constructs a new {@code MandatoryFieldRequiredException} with the specified
+ * error message, and response.
+ *
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public MandatoryFieldRequiredException(String errorMessage, MainResponseDTO> response) {
+ super("", errorMessage);
+ this.mainResponseDTO = response;
}
- public MandatoryFieldRequiredException(String errorCode, String errorMessage,MainResponseDTO> response) {
- super(errorCode, errorMessage, null);
- this.mainResponseDTO=response;
+ /**
+ * Constructs a new {@code MandatoryFieldRequiredException} with the specified
+ * error message, rootCause, and response.
+ *
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public MandatoryFieldRequiredException(String errorMessage, Throwable rootCause, MainResponseDTO> response) {
+ super("", errorMessage, rootCause);
+ this.mainResponseDTO = response;
}
- public MandatoryFieldRequiredException(String errorCode, String errorMessage, Throwable rootCause,MainResponseDTO> response) {
- super(errorCode, errorMessage, rootCause);
- this.mainResponseDTO=response;
+ /**
+ * Constructs a new {@code MandatoryFieldRequiredException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public MandatoryFieldRequiredException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage, null);
+ this.mainResponseDTO = response;
}
- public MandatoryFieldRequiredException() {
- super();
+ /**
+ * Constructs a new {@code MandatoryFieldRequiredException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ */
+ public MandatoryFieldRequiredException(String errorCode, String errorMessage, Throwable rootCause,
+ MainResponseDTO> response) {
+ super(errorCode, errorMessage, rootCause);
+ this.mainResponseDTO = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MasterDataException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MasterDataException.java
index 08d0296a702..7c0b523ec76 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MasterDataException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MasterDataException.java
@@ -1,23 +1,29 @@
package io.mosip.preregistration.application.exception;
import io.mosip.kernel.core.exception.BaseUncheckedException;
+import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.AllArgsConstructor;
-import lombok.Getter;
+import lombok.Data;
import lombok.NoArgsConstructor;
-import lombok.Setter;
-@Setter
+/**
+ * The MasterDataException class represents an exception related to master data
+ * operations. This class extends {@link BaseUncheckedException} and includes
+ * various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
+
+@Data
@NoArgsConstructor
-@Getter
@AllArgsConstructor
public class MasterDataException extends BaseUncheckedException {
-
- /**
- *
- */
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
private String errorCode;
- private String errorMessage;;
-
-}
+ private String errorMessage;
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MissingRequestParameterException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MissingRequestParameterException.java
index f174c025991..ee9bf422c34 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MissingRequestParameterException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/MissingRequestParameterException.java
@@ -9,7 +9,11 @@
import lombok.Getter;
/**
- * This class defines the MissingRequestParameterException
+ * The MissingRequestParameterException class represents an exception that
+ * occurs when a required request parameter is missing. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Ravi C Balaji
* @since 1.0.0
@@ -19,38 +23,54 @@
public class MissingRequestParameterException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
- private MainResponseDTO> mainresponseDTO;
+ /** The main response DTO associated with the exception. */
+ private MainResponseDTO> mainresponseDTO;
/**
- * @param msg pass the error message
+ * Constructs a new {@code MissingRequestParameterException} with the specified
+ * error message
+ *
+ * @param errorMessage the detailed error message.
*/
- public MissingRequestParameterException(String msg) {
- super("", msg);
+ public MissingRequestParameterException(String errorMessage) {
+ super("", errorMessage);
}
/**
- * @param errCode pass the error code
- * @param msg pass the error message
+ * Constructs a new {@code MissingRequestParameterException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public MissingRequestParameterException(String errCode, String msg) {
- super(errCode, msg);
+ public MissingRequestParameterException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
+
/**
- * @param errCode pass the error code
- * @param msg pass the error message
+ * Constructs a new {@code MissingRequestParameterException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public MissingRequestParameterException(String errCode, String msg,MainResponseDTO> response) {
- super(errCode, msg);
- this.mainresponseDTO=response;
+ public MissingRequestParameterException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainresponseDTO = response;
}
/**
- * @param errCode pass the error code
- * @param msg pass the error message
- * @param cause pass the error cause
+ * Constructs a new {@code MissingRequestParameterException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public MissingRequestParameterException(String errCode, String msg, Throwable cause) {
- super(errCode, msg, cause);
+ public MissingRequestParameterException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/NoAuthTokenException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/NoAuthTokenException.java
index a0b8f9c6f22..d48d73ad4ea 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/NoAuthTokenException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/NoAuthTokenException.java
@@ -4,15 +4,36 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
+/**
+ * The NoAuthTokenException class represents an exception that occurs when no
+ * authentication token is provided. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
@Getter
-public class NoAuthTokenException extends BaseUncheckedException{
+public class NoAuthTokenException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1L;
-private static final long serialVersionUID = 1L;
-
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResponseDto;
-
- public NoAuthTokenException(String errorCode, String errorMessage,MainResponseDTO> response) {
- super(errorCode,errorMessage);
- this.mainResponseDto=response;
+
+ /**
+ * Constructs a new {@code NoAuthTokenException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public NoAuthTokenException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainResponseDto = response;
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/NotificationSeriveException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/NotificationSeriveException.java
index d628b1e493b..0f4e4d0c0bb 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/NotificationSeriveException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/NotificationSeriveException.java
@@ -7,47 +7,104 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
+/**
+ * The NotificationSeriveException class represents an exception that occurs in
+ * the notification service. This class extends {@link BaseUncheckedException}
+ * and includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
+
@Getter
public class NotificationSeriveException extends BaseUncheckedException {
-
- /**
- *
- */
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = 8039562312343751179L;
+ /** The validation error list. */
private List validationErrorList;
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResponseDTO;
+ /**
+ * Gets the validation error list.
+ *
+ * @return the validation error list
+ */
public List getValidationErrorList() {
return validationErrorList;
}
- public NotificationSeriveException(List validationErrorList, MainResponseDTO> response) {
- this.validationErrorList = validationErrorList;
- this.mainResponseDTO = response;
- }
-
+ /**
+ * Gets the main response DTO.
+ *
+ * @return the main response DTO
+ */
public MainResponseDTO> getMainResposneDTO() {
return mainResponseDTO;
}
+ /**
+ * Default constructor.
+ */
public NotificationSeriveException() {
super();
}
- public NotificationSeriveException(String arg0, String arg1, Throwable arg2, MainResponseDTO> response) {
- super(arg0, arg1, arg2);
+ /**
+ * Constructs a new {@code NotificationSeriveException} with the specified
+ * error code, error message, rootCause, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public NotificationSeriveException(String errorCode, String errorMessage, Throwable rootCause, MainResponseDTO> response) {
+ super(errorCode, errorMessage, rootCause);
this.mainResponseDTO = response;
}
+ /**
+ * Constructs a new {@code NotificationSeriveException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
public NotificationSeriveException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage);
this.mainResponseDTO = response;
}
+ /**
+ * Constructs a new {@code NotificationSeriveException} with the specified
+ * error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
public NotificationSeriveException(String errorMessage, MainResponseDTO> response) {
super(errorMessage);
this.mainResponseDTO = response;
}
-}
+ /**
+ * Constructs a new {@code NotificationSeriveException} with the specified
+ * validationErrorList, and response.
+ *
+ * @param validationErrorList the validation error list
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public NotificationSeriveException(List validationErrorList, MainResponseDTO> response) {
+ this.validationErrorList = validationErrorList;
+ this.mainResponseDTO = response;
+ }
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/OperationNotAllowedException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/OperationNotAllowedException.java
index 9940d31d983..3fc48995d22 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/OperationNotAllowedException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/OperationNotAllowedException.java
@@ -9,7 +9,11 @@
import lombok.Getter;
/**
- * This class defines the OperationNotAllowedException
+ * The OperationNotAllowedException class represents an exception that occurs
+ * when an operation is not allowed. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Rajath KR
* @since 1.0.0
@@ -19,45 +23,65 @@
public class OperationNotAllowedException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
- private MainResponseDTO> mainresponseDTO;
+
+ /** The main response DTO associated with the exception. */
+ private MainResponseDTO> mainresponseDTO;
/**
- * @param errorMessage pass the error message
+ * Constructs a new {@code OperationNotAllowedException} with the specified
+ * error message
+ *
+ * @param errorMessage the detailed error message.
*/
public OperationNotAllowedException(String errorMessage) {
super("", errorMessage);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code OperationNotAllowedException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
public OperationNotAllowedException(String errorCode, String errorMessage) {
super(errorCode, errorMessage, null);
}
+
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code OperationNotAllowedException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public OperationNotAllowedException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ public OperationNotAllowedException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage, null);
- this.mainresponseDTO=response;
+ this.mainresponseDTO = response;
}
/**
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code OperationNotAllowedException} with the specified
+ * error message, and rootCause.
+ *
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public OperationNotAllowedException(String errorMessage, Throwable rootCause) {
super("", errorMessage, rootCause);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code OperationNotAllowedException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public OperationNotAllowedException(String errorCode, String errorMessage, Throwable rootCause) {
super(errorCode, errorMessage, rootCause);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/ParsingException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/ParsingException.java
index 60adce44637..248c238bd9f 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/ParsingException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/ParsingException.java
@@ -9,7 +9,10 @@
import lombok.Getter;
/**
- * This class defines the ParsingException that occurs when the parsing fails
+ * The ParsingException class represents an exception that occurs during
+ * parsing. This class extends {@link BaseUncheckedException} and includes
+ * various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
* @author Jagadishwari S
* @since 1.0.0
@@ -18,11 +21,12 @@
@Getter
public class ParsingException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
+
/**
* Default constructor
*/
@@ -30,40 +34,40 @@ public ParsingException() {
super();
}
-
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code ParsingException} with the specified error code,
+ * error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public ParsingException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public ParsingException(String errorCode, String message, Throwable rootCause) {
+ super(errorCode, message, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code ParsingException} with the specified error code and
+ * error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
public ParsingException(String errorCode, String message) {
super(errorCode, message);
}
/**
+ * Constructs a new {@code ParsingException} with the specified error code,
+ * error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public ParsingException(String errorCode, String message,MainResponseDTO> response) {
- super(errorCode, message);
- this.response=response;
+ public ParsingException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.response = response;
}
}
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/PreRegLoginException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/PreRegLoginException.java
index e197cd5b7f5..69ab4fd28a6 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/PreRegLoginException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/PreRegLoginException.java
@@ -1,20 +1,38 @@
package io.mosip.preregistration.application.exception;
import io.mosip.kernel.core.exception.BaseUncheckedException;
+import io.mosip.preregistration.core.common.dto.MainResponseDTO;
-public class PreRegLoginException extends BaseUncheckedException {
+/**
+ * The PreRegLoginException class represents an exception that occurs during
+ * pre-registration login. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
-
- /**
- *
- */
+public class PreRegLoginException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
+ /**
+ * Default constructor.
+ */
public PreRegLoginException() {
super();
}
-
+
+ /**
+ * Constructs a new {@code PreRegLoginException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ */
public PreRegLoginException(String errorCode, String errorMessage) {
super(errorCode, errorMessage);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/PrimaryKeyValidationException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/PrimaryKeyValidationException.java
index 52b8673a17c..553cdff5be5 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/PrimaryKeyValidationException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/PrimaryKeyValidationException.java
@@ -4,12 +4,24 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
+/**
+ * The PrimaryKeyValidationException class represents an exception that occurs
+ * when a primary key validation fails. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
+
@Getter
public class PrimaryKeyValidationException extends BaseUncheckedException {
-
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 7303748392658525834L;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> response;
/**
@@ -19,41 +31,50 @@ public PrimaryKeyValidationException() {
super();
}
+ /**
+ * Constructs a new {@code PrimaryKeyValidationException} with the specified
+ * error message.
+ *
+ * @param errorMessage the detailed error message.
+ */
+ public PrimaryKeyValidationException(String errorMessage) {
+ super(errorMessage);
+ }
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param cause
- * pass Error cause
+ * Constructs a new {@code PrimaryKeyValidationException} with the specified
+ * error code, error message, and rootCause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public PrimaryKeyValidationException(String errorCode, String message, Throwable cause) {
- super(errorCode, message, cause);
+ public PrimaryKeyValidationException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
/**
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
+ * Constructs a new {@code PrimaryKeyValidationException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public PrimaryKeyValidationException(String errorCode, String message) {
- super(errorCode, message);
+ public PrimaryKeyValidationException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
+ * Constructs a new {@code PrimaryKeyValidationException} with the specified
+ * error code, error message, and response.
*
- * @param errorCode
- * pass Error code
- * @param message
- * pass Error Message
- * @param response
- * pass response
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public PrimaryKeyValidationException(String errorCode, String message,MainResponseDTO> response) {
+ public PrimaryKeyValidationException(String errorCode, String message, MainResponseDTO> response) {
super(errorCode, message);
- this.response=response;
+ this.response = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/QrCodeIOException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/QrCodeIOException.java
index d420de0002b..21849d15222 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/QrCodeIOException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/QrCodeIOException.java
@@ -4,33 +4,68 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
-@Getter
-public class QrCodeIOException extends BaseUncheckedException{
+/**
+ * The QrCodeIOException class represents an exception that occurs when an I/O
+ * error is encountered while working with QR codes. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
+ *
+ * @author Rajath KR
+ * @since 1.0.0
+ *
+ */
- /**
- *
- */
+@Getter
+public class QrCodeIOException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = -6723728155340185347L;
-
+
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResponseDTO;
+ /**
+ * Default constructor.
+ */
public QrCodeIOException() {
super();
}
- public QrCodeIOException(String arg0, String arg1, Throwable arg2,MainResponseDTO> response) {
- super(arg0, arg1, arg2);
- this.mainResponseDTO=response;
+ /**
+ * Constructs a new {@code QrCodeIOException} with the specified error message.
+ *
+ * @param errorMessage the detailed error message.
+ */
+ public QrCodeIOException(String errorMessage) {
+ super(errorMessage);
}
- public QrCodeIOException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ /**
+ * Constructs a new {@code QrCodeIOException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public QrCodeIOException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
- public QrCodeIOException(String errorMessage) {
- super(errorMessage);
+ /**
+ * Constructs a new {@code QrCodeIOException} with the specified
+ * error message and root cause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public QrCodeIOException(String errorCode, String errorMessage, Throwable rootCause, MainResponseDTO> response) {
+ super(errorCode, errorMessage, rootCause);
+ this.mainResponseDTO = response;
}
-
-}
-
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordFailedToUpdateException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordFailedToUpdateException.java
index 74687d64ae0..9fe035fb7dd 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordFailedToUpdateException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordFailedToUpdateException.java
@@ -9,7 +9,11 @@
import lombok.Getter;
/**
- * This class defines the RecordFailedToDeleteException
+ * The RecordFailedToUpdateException class represents an exception that occurs
+ * when a record fails to update.. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
*
* @author Rajath KR
* @since 1.0.0
@@ -19,6 +23,7 @@
public class RecordFailedToUpdateException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
+ /** The main response DTO associated with the exception. */
private MainResponseDTO> mainResponseDTO;
/**
@@ -29,42 +34,60 @@ public RecordFailedToUpdateException() {
}
/**
- * @param errorMessage pass the error message
+ * Constructs a new {@code RecordFailedToUpdateException} with the specified
+ * error message.
+ *
+ * @param errorMessage the detailed error message.
*/
public RecordFailedToUpdateException(String errorMessage) {
super("", errorMessage);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code RecordFailedToUpdateException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
public RecordFailedToUpdateException(String errorCode, String errorMessage) {
super(errorCode, errorMessage, null);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code RecordFailedToUpdateException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public RecordFailedToUpdateException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ public RecordFailedToUpdateException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage, null);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
+
/**
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code RecordFailedToUpdateException} with the specified
+ * error message and root cause.
+ *
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public RecordFailedToUpdateException(String errorMessage, Throwable rootCause) {
super("", errorMessage, rootCause);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code RecordFailedToUpdateException} with the specified
+ * error message and root cause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public RecordFailedToUpdateException(String errorCode, String errorMessage, Throwable rootCause) {
super(errorCode, errorMessage, rootCause);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordNotFoundException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordNotFoundException.java
index 4ebdb79764a..7c098b578d8 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordNotFoundException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordNotFoundException.java
@@ -9,7 +9,10 @@
import lombok.Getter;
/**
- * This class defines the RecordNotFoundException
+ * The RecordNotFoundException class represents an exception that occurs when a
+ * record is not found. This class extends {@link BaseUncheckedException} and
+ * includes various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
*
* @author Tapaswini Behera
* @since 1.0.0
@@ -19,38 +22,53 @@
public class RecordNotFoundException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
+ /** The main response DTO containing additional error information. */
private MainResponseDTO> mainresponseDTO;
-
/**
- * @param msg pass the error message
+ * Constructs a new {@code RecordNotFoundException} with the specified error
+ * message.
+ *
+ * @param errorMessage the detailed error message.
*/
- public RecordNotFoundException(String msg) {
- super("", msg);
+ public RecordNotFoundException(String errorMessage) {
+ super("", errorMessage);
}
/**
- * @param errCode pass the error code
- * @param msg pass the error message
+ * Constructs a new {@code RecordNotFoundException} with the specified error
+ * code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public RecordNotFoundException(String errCode, String msg) {
- super(errCode, msg);
+ public RecordNotFoundException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
+
/**
- * @param errCode pass the error code
- * @param msg pass the error message
+ * Constructs a new {@code RecordNotFoundException} with the specified error
+ * code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public RecordNotFoundException(String errCode, String msg,MainResponseDTO> response) {
- super(errCode, msg);
- this.mainresponseDTO=response;
+ public RecordNotFoundException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainresponseDTO = response;
}
/**
- * @param errCode pass the error code
- * @param msg pass the error message
- * @param cause pass the cause
+ * Constructs a new {@code RecordNotFoundException} with the specified error
+ * message and root cause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public RecordNotFoundException(String errCode, String msg, Throwable cause) {
- super(errCode, msg, cause);
+ public RecordNotFoundException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordNotFoundForPreIdsException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordNotFoundForPreIdsException.java
index 8a83f251d87..dfc5f92a8cd 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordNotFoundForPreIdsException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RecordNotFoundForPreIdsException.java
@@ -9,7 +9,11 @@
import lombok.Getter;
/**
- * This class defines the RecordNotFoundForPreIdsException
+ * The RecordNotFoundForPreIdsException class represents an exception that
+ * occurs when records are not found for the given pre-registration IDs. This
+ * class extends {@link BaseUncheckedException} and includes various
+ * constructors for different use cases, as well as a {@link MainResponseDTO}
+ * object for additional error information.
*
* @author Jagadishwari S
* @since 1.0.0
@@ -19,46 +23,53 @@
public class RecordNotFoundForPreIdsException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
+ /** The main response DTO containing additional error information. */
private MainResponseDTO> mainResponseDTO;
/**
- * @param msg
- * pass the error message
+ * Constructs a new {@code RecordNotFoundForPreIdsException} with the specified
+ * error message.
+ *
+ * @param errorMessage the detailed error message.
*/
- public RecordNotFoundForPreIdsException(String msg) {
- super("", msg);
+ public RecordNotFoundForPreIdsException(String errorMessage) {
+ super("", errorMessage);
}
/**
- * @param errCode
- * pass the error code
- * @param msg
- * pass the error message
+ * Constructs a new {@code RecordNotFoundForPreIdsException} with the specified
+ * error code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- public RecordNotFoundForPreIdsException(String errCode, String msg) {
- super(errCode, msg);
+ public RecordNotFoundForPreIdsException(String errorCode, String errorMessage) {
+ super(errorCode, errorMessage);
}
-
+
/**
- * @param errCode
- * pass the error code
- * @param msg
- * pass the error message
+ * Constructs a new {@code RecordNotFoundForPreIdsException} with the specified
+ * error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public RecordNotFoundForPreIdsException(String errCode, String msg,MainResponseDTO> response) {
- super(errCode, msg);
- this.mainResponseDTO=response;
+ public RecordNotFoundForPreIdsException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainResponseDTO = response;
}
/**
- * @param errCode
- * pass the error code
- * @param msg
- * pass the error message
- * @param cause
- * pass the cause
+ * Constructs a new {@code RecordNotFoundForPreIdsException} with the specified
+ * error message and root cause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
- public RecordNotFoundForPreIdsException(String errCode, String msg, Throwable cause) {
- super(errCode, msg, cause);
+ public RecordNotFoundForPreIdsException(String errorCode, String errorMessage, Throwable rootCause) {
+ super(errorCode, errorMessage, rootCause);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RestCallException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RestCallException.java
index 8bcb3b1f374..ea57fe1895a 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RestCallException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/RestCallException.java
@@ -4,11 +4,23 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
-@Getter
-public class RestCallException extends BaseUncheckedException{
+/**
+ * The RestCallException class represents an exception that occurs during a REST
+ * API call. This class extends {@link BaseUncheckedException} and includes
+ * various constructors for different use cases, as well as a
+ * {@link MainResponseDTO} object for additional error information.
+ *
+ * @author Kishan Rathore
+ * @since 1.0.0
+ *
+ */
+@Getter
+public class RestCallException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
- private MainResponseDTO> mainresponseDTO;
+ /** The main response DTO containing additional error information. */
+ private MainResponseDTO> mainresponseDTO;
/**
* Default constructor
@@ -18,44 +30,59 @@ public RestCallException() {
}
/**
- * @param errorMessage pass the error message
+ * Constructs a new {@code RestCallException} with the specified error message.
+ *
+ * @param errorMessage the detailed error message.
*/
public RestCallException(String errorMessage) {
super("", errorMessage);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code RestCallException} with the specified error code and
+ * error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
public RestCallException(String errorCode, String errorMessage) {
super(errorCode, errorMessage, null);
}
-
+
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code RestCallException} with the specified error code,
+ * error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public RestCallException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ public RestCallException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage, null);
- this.mainresponseDTO=response;
+ this.mainresponseDTO = response;
}
/**
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code RestCallException} with the specified error message
+ * and root cause.
+ *
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public RestCallException(String errorMessage, Throwable rootCause) {
super("", errorMessage, rootCause);
}
-
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code RestCallException} with the specified error code,
+ * error message, and root cause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public RestCallException(String errorCode, String errorMessage, Throwable rootCause) {
super(errorCode, errorMessage, rootCause);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/SchemaValidationException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/SchemaValidationException.java
index 3094f0f7f87..c3e8f2ac58b 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/SchemaValidationException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/SchemaValidationException.java
@@ -4,11 +4,24 @@
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
import lombok.Getter;
+/**
+ * Exception class representing a schema validation failure. This class extends
+ * {@link BaseUncheckedException} and includes various constructors for
+ * different use cases, as well as a {@link MainResponseDTO} object for
+ * additional error information.
+ *
+ * @author Kishan Rathore
+ * @since 1.0.0
+ *
+ */
+
@Getter
-public class SchemaValidationException extends BaseUncheckedException {
+public class SchemaValidationException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
- private MainResponseDTO> mainresponseDTO;
+
+ /** The main response DTO containing additional error information. */
+ private MainResponseDTO> mainresponseDTO;
/**
* Default constructor
@@ -18,43 +31,60 @@ public SchemaValidationException() {
}
/**
- * @param errorMessage pass the error message
+ * Constructs a new {@code SchemaValidationException} with the specified error
+ * message.
+ *
+ * @param errorMessage the detailed error message.
*/
public SchemaValidationException(String errorMessage) {
super("", errorMessage);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code SchemaValidationException} with the specified error
+ * code and error message.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
public SchemaValidationException(String errorCode, String errorMessage) {
super(errorCode, errorMessage, null);
}
+
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
+ * Constructs a new {@code SchemaValidationException} with the specified error
+ * code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
*/
- public SchemaValidationException(String errorCode, String errorMessage,MainResponseDTO> response) {
+ public SchemaValidationException(String errorCode, String errorMessage, MainResponseDTO> response) {
super(errorCode, errorMessage, null);
- this.mainresponseDTO=response;
+ this.mainresponseDTO = response;
}
/**
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code SchemaValidationException} with the specified error
+ * message and root cause.
+ *
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public SchemaValidationException(String errorMessage, Throwable rootCause) {
super("", errorMessage, rootCause);
}
/**
- * @param errorCode pass the error code
- * @param errorMessage pass the error message
- * @param rootCause pass the cause
+ * Constructs a new {@code SchemaValidationException} with the specified error
+ * code, error message, and root cause.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param rootCause the cause of the error.
*/
public SchemaValidationException(String errorCode, String errorMessage, Throwable rootCause) {
super(errorCode, errorMessage, rootCause);
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/SendOtpFailedException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/SendOtpFailedException.java
index a17403dea47..d49c7de8bc0 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/SendOtpFailedException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/SendOtpFailedException.java
@@ -6,7 +6,9 @@
import lombok.Setter;
/**
- * This class provides custom Exception for send otp failed scenario
+ * Exception class representing a failure in sending OTP (One-Time Password).
+ * This class extends {@link BaseUncheckedException} and includes an error code,
+ * error message, and a {@link MainResponseDTO} object.
*
* @author Akshay Jain
* @since 1.0.0
@@ -16,14 +18,23 @@
@Getter
@Setter
public class SendOtpFailedException extends BaseUncheckedException {
-
+ /** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
-
+
+ /** The main response DTO. */
private MainResponseDTO> mainResposneDto;
-
- public SendOtpFailedException(String errorCode, String errorMessage,MainResponseDTO> response) {
- super(errorCode,errorMessage);
- this.mainResposneDto=response;
+
+ /**
+ * Constructs a new {@code SendOtpFailedException} with the specified error
+ * code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the {@link MainResponseDTO} object containing additional
+ * information about the error.
+ */
+ public SendOtpFailedException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainResposneDto = response;
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UISpecException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UISpecException.java
index ecb9d41075c..16e3459cbc3 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UISpecException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UISpecException.java
@@ -4,16 +4,27 @@
import lombok.Getter;
import lombok.Setter;
+/**
+ * Exception class representing a specific UI specification error. This class
+ * extends {@link BaseUncheckedException} and includes error code and message.
+ *
+ * @version 1.0.0
+ */
+
@Getter
@Setter
public class UISpecException extends BaseUncheckedException {
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 1L;
/**
+ * Constructs a new {@code UISpecException} with the specified error code and
+ * message.
*
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
*/
- private static final long serialVersionUID = 1L;
-
public UISpecException(String errorCode, String errorMessage) {
super(errorCode, errorMessage);
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UnSupportedLanguageException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UnSupportedLanguageException.java
index 1c5e2e8d48d..1895cd50aad 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UnSupportedLanguageException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UnSupportedLanguageException.java
@@ -9,7 +9,9 @@
import lombok.Getter;
/**
- * This class defines the UnSupportedLanguageException
+ * Exception class representing a failure when an unsupported language is
+ * encountered. This class extends {@link BaseUncheckedException} and includes a
+ * response DTO.
*
* @author Kishan Rathore
* @since 1.0.0
@@ -20,33 +22,48 @@
public class UnSupportedLanguageException extends BaseUncheckedException {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
-
+
+ /**
+ * The main response DTO associated with this exception.
+ */
private MainResponseDTO> mainResponseDTO;
/**
- * @param msg
+ * Constructs a new {@code UnSupportedLanguageException} with the specified
+ * message and response.
+ *
+ * @param msg the detailed error message.
+ * @param response the main response DTO containing additional error details.
*/
- public UnSupportedLanguageException(String msg,MainResponseDTO> response) {
+ public UnSupportedLanguageException(String msg, MainResponseDTO> response) {
super("", msg);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
/**
- * @param errCode
- * @param msg
+ * Constructs a new {@code UnSupportedLanguageException} with the specified
+ * error code, message, and response.
+ *
+ * @param errCode the error code representing the specific error condition.
+ * @param msg the detailed error message.
+ * @param response the main response DTO containing additional error details.
*/
- public UnSupportedLanguageException(String errCode, String msg,MainResponseDTO> response) {
+ public UnSupportedLanguageException(String errCode, String msg, MainResponseDTO> response) {
super(errCode, msg);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
/**
- * @param errCode
- * @param msg
- * @param cause
+ * Constructs a new {@code UnSupportedLanguageException} with the specified
+ * error code, message, cause, and response.
+ *
+ * @param errCode the error code representing the specific error condition.
+ * @param msg the detailed error message.
+ * @param cause the cause of the exception.
+ * @param response the main response DTO containing additional error details.
*/
- public UnSupportedLanguageException(String errCode, String msg, Throwable cause,MainResponseDTO> response) {
+ public UnSupportedLanguageException(String errCode, String msg, Throwable cause, MainResponseDTO> response) {
super(errCode, msg, cause);
- this.mainResponseDTO=response;
+ this.mainResponseDTO = response;
}
}
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UserIdOtpFaliedException.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UserIdOtpFaliedException.java
index a1f4ade7ed4..44866641147 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UserIdOtpFaliedException.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/UserIdOtpFaliedException.java
@@ -6,8 +6,9 @@
import lombok.Setter;
/**
- * This class provides custom Exception for calidation fail scenario
- *
+ * Exception class representing a failure when an OTP (One-Time Password) verification fails for a user ID.
+ * This class extends {@link BaseUncheckedException} and includes a response DTO.
+ *
* @author Akshay Jain
* @since 1.0.0
*
@@ -16,14 +17,22 @@
@Getter
@Setter
public class UserIdOtpFaliedException extends BaseUncheckedException {
-
private static final long serialVersionUID = 1L;
-
+
+ /**
+ * The main response DTO associated with this exception.
+ */
private MainResponseDTO> mainResponseDto;
-
- public UserIdOtpFaliedException(String errorCode,String errorMessage,MainResponseDTO> response) {
- super(errorCode,errorMessage);
- this.mainResponseDto=response;
- }
-}
+ /**
+ * Constructs a new {@code UserIdOtpFaliedException} with the specified error code, error message, and response.
+ *
+ * @param errorCode the error code representing the specific error condition.
+ * @param errorMessage the detailed error message.
+ * @param response the main response DTO containing additional error details.
+ */
+ public UserIdOtpFaliedException(String errorCode, String errorMessage, MainResponseDTO> response) {
+ super(errorCode, errorMessage);
+ this.mainResponseDto = response;
+ }
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/DemographicExceptionCatcher.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/DemographicExceptionCatcher.java
index ca05fdfea51..8c7f4fef498 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/DemographicExceptionCatcher.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/DemographicExceptionCatcher.java
@@ -67,140 +67,102 @@
*/
public class DemographicExceptionCatcher {
/**
- * Method to handle the respective exceptions
+ * Handles exceptions and throws specific exceptions based on the type of the original exception.
*
- * @param ex
- * pass the exception
+ * @param ex The original exception to handle.
+ * @param mainResponseDTO The main response DTO associated with the exception.
*/
public void handle(Exception ex, MainResponseDTO> mainResponsedto) {
- if (ex instanceof DataAccessLayerException) {
- throw new TableNotAccessibleException(((DataAccessLayerException) ex).getErrorCode(),
- ((DataAccessLayerException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof ParseException) {
- throw new JsonParseException(((ParseException) ex).getErrorCode(), ((ParseException) ex).getErrorText(),
- mainResponsedto);
- } else if (ex instanceof RecordNotFoundException) {
- throw new RecordNotFoundException(((RecordNotFoundException) ex).getErrorCode(),
- ((RecordNotFoundException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof RecordNotFoundForPreIdsException) {
- throw new RecordNotFoundForPreIdsException(((RecordNotFoundForPreIdsException) ex).getErrorCode(),
- ((RecordNotFoundForPreIdsException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof InvalidRequestParameterException) {
- throw new InvalidRequestParameterException(((InvalidRequestParameterException) ex).getErrorCode(),
- ((InvalidRequestParameterException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof MissingRequestParameterException) {
- throw new MissingRequestParameterException(((MissingRequestParameterException) ex).getErrorCode(),
- ((MissingRequestParameterException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof DocumentFailedToDeleteException) {
- throw new DocumentFailedToDeleteException(((DocumentFailedToDeleteException) ex).getErrorCode(),
- ((DocumentFailedToDeleteException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof SystemIllegalArgumentException) {
- throw new SystemIllegalArgumentException(((SystemIllegalArgumentException) ex).getErrorCode(),
- ((SystemIllegalArgumentException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof SystemUnsupportedEncodingException) {
- throw new SystemUnsupportedEncodingException(((SystemUnsupportedEncodingException) ex).getErrorCode(),
- ((SystemUnsupportedEncodingException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof DateParseException) {
- throw new DateParseException(((DateParseException) ex).getErrorCode(),
- ((DateParseException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof RecordFailedToUpdateException) {
- throw new RecordFailedToUpdateException(((RecordFailedToUpdateException) ex).getErrorCode(),
- ((RecordFailedToUpdateException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof RecordFailedToDeleteException) {
- throw new RecordFailedToDeleteException(((RecordFailedToDeleteException) ex).getErrorCode(),
- ((RecordFailedToDeleteException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof InvalidDateFormatException) {
- throw new InvalidDateFormatException(((InvalidDateFormatException) ex).getErrorCode(),
- ((InvalidDateFormatException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof BookingDeletionFailedException) {
- throw new BookingDeletionFailedException(((BookingDeletionFailedException) ex).getErrorCode(),
- ((BookingDeletionFailedException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof HashingException) {
- throw new HashingException(((HashingException) ex).getErrorCode(), ((HashingException) ex).getErrorText(),
- mainResponsedto);
- } else if (ex instanceof OperationNotAllowedException) {
- throw new OperationNotAllowedException(((OperationNotAllowedException) ex).getErrorCode(),
- ((OperationNotAllowedException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof DecryptionFailedException) {
- throw new DecryptionFailedException(((DecryptionFailedException) ex).getErrorCode(),
- ((DecryptionFailedException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof JsonMappingException) {
- throw new JsonValidationException(((JsonMappingException) ex).getErrorCode(),
- ((JsonMappingException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof IOException) {
- throw new JsonValidationException(((IOException) ex).getErrorCode(), ((IOException) ex).getErrorText(),
- mainResponsedto);
- } else if (ex instanceof RestCallException) {
- throw new RestCallException(((RestCallException) ex).getErrorCode(),
- ((RestCallException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof SchemaValidationException) {
- throw new SchemaValidationException(((SchemaValidationException) ex).getErrorCode(),
- ((SchemaValidationException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof IdObjectIOException) {
- throw new SchemaValidationException(((IdObjectIOException) ex).getErrorCode(),
- ((IdObjectIOException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof IdObjectValidationFailedException) {
- throw new IdValidationException(((IdObjectValidationFailedException) ex).getErrorCode(),
- ((IdObjectValidationFailedException) ex).getErrorTexts(), mainResponsedto);
- } else if (ex instanceof PreIdInvalidForUserIdException) {
- throw new PreIdInvalidForUserIdException(((PreIdInvalidForUserIdException) ex).getErrorCode(),
- ((PreIdInvalidForUserIdException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof EncryptionFailedException) {
- throw new EncryptionFailedException(((EncryptionFailedException) ex).getValidationErrorList(),
- mainResponsedto);
+ if (ex instanceof DataAccessLayerException ex1) {
+ throw new TableNotAccessibleException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof ParseException ex1) {
+ throw new JsonParseException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof RecordNotFoundException ex1) {
+ throw new RecordNotFoundException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof RecordNotFoundForPreIdsException ex1) {
+ throw new RecordNotFoundForPreIdsException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof InvalidRequestParameterException ex1) {
+ throw new InvalidRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof MissingRequestParameterException ex1) {
+ throw new MissingRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof DocumentFailedToDeleteException ex1) {
+ throw new DocumentFailedToDeleteException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof SystemIllegalArgumentException ex1) {
+ throw new SystemIllegalArgumentException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof SystemUnsupportedEncodingException ex1) {
+ throw new SystemUnsupportedEncodingException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof DateParseException ex1) {
+ throw new DateParseException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof RecordFailedToUpdateException ex1) {
+ throw new RecordFailedToUpdateException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof RecordFailedToDeleteException ex1) {
+ throw new RecordFailedToDeleteException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof InvalidDateFormatException ex1) {
+ throw new InvalidDateFormatException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof BookingDeletionFailedException ex1) {
+ throw new BookingDeletionFailedException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof HashingException ex1) {
+ throw new HashingException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof OperationNotAllowedException ex1) {
+ throw new OperationNotAllowedException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof DecryptionFailedException ex1) {
+ throw new DecryptionFailedException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof JsonMappingException ex1) {
+ throw new JsonValidationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof IOException ex1) {
+ throw new JsonValidationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof RestCallException ex1) {
+ throw new RestCallException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof SchemaValidationException ex1) {
+ throw new SchemaValidationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof IdObjectIOException ex1) {
+ throw new SchemaValidationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof IdObjectValidationFailedException ex1) {
+ throw new IdValidationException(ex1.getErrorCode(), ex1.getErrorTexts(), mainResponsedto);
+ } else if (ex instanceof PreIdInvalidForUserIdException ex1) {
+ throw new PreIdInvalidForUserIdException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof EncryptionFailedException ex1) {
+ throw new EncryptionFailedException(ex1.getValidationErrorList(), mainResponsedto);
} else if (ex instanceof BeanCreationException) {
throw new SchemaValidationException(
io.mosip.preregistration.core.errorcodes.ErrorCodes.PRG_CORE_REQ_016.getCode(),
ex.getLocalizedMessage(), mainResponsedto);
- } else if (ex instanceof SystemFileIOException) {
- throw new SystemFileIOException(((SystemFileIOException) ex).getErrorCode(),
- ((SystemFileIOException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof DemographicServiceException) {
- throw new DemographicServiceException(((DemographicServiceException) ex).getValidationErrorList(),
- mainResponsedto);
- } else if (ex instanceof InvalidDataException) {
- throw new CryptocoreException(((InvalidDataException) ex).getErrorCode(),
- ((InvalidDataException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof SignatureException) {
- throw new CryptocoreException(((SignatureException) ex).getErrorCode(),
- ((SignatureException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof InvalidKeyException) {
- throw new CryptocoreException(((InvalidKeyException) ex).getErrorCode(),
- ((InvalidKeyException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof InvalidParamSpecException) {
- throw new CryptocoreException(((InvalidParamSpecException) ex).getErrorCode(),
- ((InvalidParamSpecException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof NullDataException) {
- throw new CryptocoreException(((NullDataException) ex).getErrorCode(),
- ((NullDataException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof NullKeyException) {
- throw new CryptocoreException(((NullKeyException) ex).getErrorCode(),
- ((NullKeyException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof NullMethodException) {
- throw new CryptocoreException(((NullMethodException) ex).getErrorCode(),
- ((NullMethodException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof NoSuchAlgorithmException) {
- throw new InvalidRequestParameterException(((NoSuchAlgorithmException) ex).getErrorCode(),
- ((NoSuchAlgorithmException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof InvalidRequestException) {
- throw new InvalidRequestException(((InvalidRequestException) ex).getErrorCode(),
- ((InvalidRequestException) ex).getErrorText(), mainResponsedto);
+ } else if (ex instanceof SystemFileIOException ex1) {
+ throw new SystemFileIOException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof DemographicServiceException ex1) {
+ throw new DemographicServiceException(ex1.getValidationErrorList(), mainResponsedto);
+ } else if (ex instanceof InvalidDataException ex1) {
+ throw new CryptocoreException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof SignatureException ex1) {
+ throw new CryptocoreException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof InvalidKeyException ex1) {
+ throw new CryptocoreException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof InvalidParamSpecException ex1) {
+ throw new CryptocoreException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof NullDataException ex1) {
+ throw new CryptocoreException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof NullKeyException ex1) {
+ throw new CryptocoreException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof NullMethodException ex1) {
+ throw new CryptocoreException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof NoSuchAlgorithmException ex1) {
+ throw new InvalidRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof InvalidRequestException ex1) {
+ throw new InvalidRequestException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
} else if (ex instanceof DataIntegrityViolationException) {
- throw new io.mosip.preregistration.application.exception.DuplicatePridKeyException(DemographicErrorCodes.PRG_PAM_APP_021.getCode(),
+ throw new io.mosip.preregistration.application.exception.DuplicatePridKeyException(
+ DemographicErrorCodes.PRG_PAM_APP_021.getCode(),
DemographicErrorMessages.DUPLICATE_KEY.getMessage(), mainResponsedto);
} else if (ex instanceof ConstraintViolationException) {
- throw new io.mosip.preregistration.application.exception.DuplicatePridKeyException(DemographicErrorCodes.PRG_PAM_APP_021.getCode(),
+ throw new io.mosip.preregistration.application.exception.DuplicatePridKeyException(
+ DemographicErrorCodes.PRG_PAM_APP_021.getCode(),
DemographicErrorMessages.DUPLICATE_KEY.getMessage(), mainResponsedto);
} else {
- if (ex instanceof BaseUncheckedException) {
- throw new PreRegistrationException(((BaseUncheckedException) ex).getErrorCode(),
- ((BaseUncheckedException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof BaseCheckedException) {
- throw new PreRegistrationException(((BaseCheckedException) ex).getErrorCode(),
- ((BaseCheckedException) ex).getErrorText(), mainResponsedto);
+ if (ex instanceof BaseUncheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof BaseCheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
}
}
-
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/DocumentExceptionCatcher.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/DocumentExceptionCatcher.java
index 921cbbe7d5b..5136569187c 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/DocumentExceptionCatcher.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/DocumentExceptionCatcher.java
@@ -49,84 +49,66 @@
*
*/
public class DocumentExceptionCatcher {
+ /**
+ * Handles exceptions and throws specific exceptions based on the type of the original exception.
+ *
+ * @param ex The original exception to handle.
+ * @param mainResponseDTO The main response DTO associated with the exception.
+ */
public void handle(Exception ex, MainResponseDTO> response) {
- if (ex instanceof DocumentFailedToUploadException) {
- throw new DocumentFailedToUploadException(((DocumentFailedToUploadException) ex).getErrorCode(),
- ((DocumentFailedToUploadException) ex).getErrorText(), response);
- } else if (ex instanceof IOException) {
+ if (ex instanceof DocumentFailedToUploadException ex1) {
+ throw new DocumentFailedToUploadException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof IOException ex1) {
// kernel exception
- throw new DTOMappigException(((IOException) ex).getErrorCode(), ((IOException) ex).getErrorText(),
- response);
-
- } else if (ex instanceof JsonMappingException) {
- throw new DTOMappigException(((JsonMappingException) ex).getErrorCode(),
- ((JsonMappingException) ex).getErrorText(), response);
+ throw new DTOMappigException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof JsonMappingException ex1) {
+ throw new DTOMappigException(ex1.getErrorCode(), ex1.getErrorText(), response);
// kernel exception
- } else if (ex instanceof JsonParseException) {
+ } else if (ex instanceof JsonParseException ex1) {
// kernel exception
- throw new DTOMappigException(((JsonParseException) ex).getErrorCode(),
- ((JsonParseException) ex).getErrorText(), response);
+ throw new DTOMappigException(ex1.getErrorCode(), ex1.getErrorText(), response);
} else if (ex instanceof JSONException || ex instanceof ParseException) {
throw new ParsingException(DocumentErrorCodes.PRG_PAM_DOC_015.toString(),
DocumentErrorMessages.JSON_EXCEPTION.getMessage(), response);
-
- } else if (ex instanceof InvalidRequestParameterException) {
- throw new InvalidRequestParameterException(((InvalidRequestParameterException) ex).getErrorCode(),
- ((InvalidRequestParameterException) ex).getErrorText(), response);
- } else if (ex instanceof MandatoryFieldNotFoundException) {
- throw new MandatoryFieldNotFoundException(((MandatoryFieldNotFoundException) ex).getErrorCode(),
- ((MandatoryFieldNotFoundException) ex).getErrorText(), response);
- } else if (ex instanceof DocumentNotValidException) {
- throw new DocumentNotValidException(((DocumentNotValidException) ex).getErrorCode(),
- ((DocumentNotValidException) ex).getErrorText(), response);
- } else if (ex instanceof DocumentSizeExceedException) {
- throw new DocumentSizeExceedException(((DocumentSizeExceedException) ex).getErrorCode(),
- ((DocumentSizeExceedException) ex).getErrorText(), response);
- } else if (ex instanceof VirusScannerException) {
- throw new DocumentVirusScanException(((VirusScannerException) ex).getErrorCode(),
- ((VirusScannerException) ex).getErrorText(), response);
- } else if (ex instanceof DocumentVirusScanException) {
- throw new DocumentVirusScanException(((DocumentVirusScanException) ex).getErrorCode(),
- ((DocumentVirusScanException) ex).getErrorText(), response);
- } else if (ex instanceof DocumentNotFoundException) {
- throw new DocumentNotFoundException(((DocumentNotFoundException) ex).getErrorCode(),
- ((DocumentNotFoundException) ex).getErrorText(), response);
- } else if (ex instanceof DocumentFailedToCopyException) {
- throw new DocumentFailedToCopyException(((DocumentFailedToCopyException) ex).getErrorCode(),
- ((DocumentFailedToCopyException) ex).getErrorText(), response);
- } else if (ex instanceof InvalidDocumentIdExcepion) {
- throw new InvalidDocumentIdExcepion(((InvalidDocumentIdExcepion) ex).getErrorCode(),
- ((InvalidDocumentIdExcepion) ex).getErrorText(), response);
- } else if (ex instanceof DemographicGetDetailsException) {
- throw new DemographicGetDetailsException(((DemographicGetDetailsException) ex).getErrorCode(),
- ((DemographicGetDetailsException) ex).getErrorText(), response);
- } else if (ex instanceof FSServerException) {
- throw new FSServerException(((FSServerException) ex).getErrorCode(),
- ((FSServerException) ex).getErrorText(), response);
- } else if (ex instanceof TableNotAccessibleException) {
- throw new TableNotAccessibleException(((TableNotAccessibleException) ex).getErrorCode(),
- ((TableNotAccessibleException) ex).getErrorText(), response);
+ } else if (ex instanceof InvalidRequestParameterException ex1) {
+ throw new InvalidRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof MandatoryFieldNotFoundException ex1) {
+ throw new MandatoryFieldNotFoundException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof DocumentNotValidException ex1) {
+ throw new DocumentNotValidException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof DocumentSizeExceedException ex1) {
+ throw new DocumentSizeExceedException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof VirusScannerException ex1) {
+ throw new DocumentVirusScanException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof DocumentVirusScanException ex1) {
+ throw new DocumentVirusScanException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof DocumentNotFoundException ex1) {
+ throw new DocumentNotFoundException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof DocumentFailedToCopyException ex1) {
+ throw new DocumentFailedToCopyException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof InvalidDocumentIdExcepion ex1) {
+ throw new InvalidDocumentIdExcepion(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof DemographicGetDetailsException ex1) {
+ throw new DemographicGetDetailsException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof FSServerException ex1) {
+ throw new FSServerException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof TableNotAccessibleException ex1) {
+ throw new TableNotAccessibleException(ex1.getErrorCode(), ex1.getErrorText(), response);
} else if (ex instanceof PSQLException) {
throw new PrimaryKeyValidationException(DocumentErrorCodes.PRG_PAM_DOC_021.toString(),
DocumentErrorMessages.DOCUMENT_ALREADY_PRESENT.getMessage(), response);
- } else if (ex instanceof FSAdapterException) {
- throw new FSServerException(((FSAdapterException) ex).getErrorCode(),
- ((FSAdapterException) ex).getErrorText(), response);
- } else if (ex instanceof DecryptionFailedException) {
- throw new EncryptionFailedException(((DecryptionFailedException) ex).getErrorCode(),
- ((DecryptionFailedException) ex).getErrorText(), response);
- } else if (ex instanceof EncryptionFailedException) {
- throw new EncryptionFailedException(((EncryptionFailedException) ex).getValidationErrorList(), response);
- } else if (ex instanceof MasterDataNotAvailableException) {
- throw new EncryptionFailedException(((MasterDataNotAvailableException) ex).getErrorCode().toString(),
- ((MasterDataNotAvailableException) ex).getErrorText(), response);
- } else if (ex instanceof InvalidRequestException) {
- throw new InvalidRequestException(((InvalidRequestException) ex).getErrorCode(),
- ((InvalidRequestException) ex).getErrorText(), response);
- } else if (ex instanceof RecordNotFoundException) {
- throw new RecordNotFoundException(((RecordNotFoundException) ex).getErrorCode(),
- ((RecordNotFoundException) ex).getErrorText(), response);
-
+ } else if (ex instanceof FSAdapterException ex1) {
+ throw new FSServerException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof DecryptionFailedException ex1) {
+ throw new EncryptionFailedException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof EncryptionFailedException ex1) {
+ throw new EncryptionFailedException(ex1.getValidationErrorList(), response);
+ } else if (ex instanceof MasterDataNotAvailableException ex1) {
+ throw new EncryptionFailedException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof InvalidRequestException ex1) {
+ throw new InvalidRequestException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof RecordNotFoundException ex1) {
+ throw new RecordNotFoundException(ex1.getErrorCode(), ex1.getErrorText(), response);
} else if (ex instanceof java.text.ParseException) {
throw new InvalidRequestParameterException(
io.mosip.preregistration.core.errorcodes.ErrorCodes.PRG_CORE_REQ_003.getCode(),
@@ -134,15 +116,11 @@ public void handle(Exception ex, MainResponseDTO> response) {
response);
} else {
- if (ex instanceof BaseUncheckedException) {
- throw new PreRegistrationException(((BaseUncheckedException) ex).getErrorCode(),
- ((BaseUncheckedException) ex).getErrorText(), response);
- } else if (ex instanceof BaseCheckedException) {
- throw new PreRegistrationException(((BaseCheckedException) ex).getErrorCode(),
- ((BaseCheckedException) ex).getErrorText(), response);
+ if (ex instanceof BaseUncheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), response);
+ } else if (ex instanceof BaseCheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), response);
}
}
-
}
-
}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/LoginExceptionCatcher.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/LoginExceptionCatcher.java
index 2a028389471..ef51ab905c7 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/LoginExceptionCatcher.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/LoginExceptionCatcher.java
@@ -5,6 +5,7 @@
import org.springframework.web.client.HttpServerErrorException;
import org.springframework.web.client.RestClientException;
+import io.jsonwebtoken.JwtException;
import io.mosip.kernel.core.exception.BaseCheckedException;
import io.mosip.kernel.core.exception.BaseUncheckedException;
import io.mosip.preregistration.core.common.dto.MainResponseDTO;
@@ -28,46 +29,50 @@
*
* @author Akshay
* @since 1.0.0
+ *
*/
public class LoginExceptionCatcher {
+ /**
+ * Handles exceptions and throws specific exceptions based on the type of the original exception.
+ *
+ * @param ex The original exception to handle.
+ * @param serviceType The serviceType.
+ * @param mainResponseDTO The main response DTO associated with the exception.
+ */
public void handle(Exception ex, @NonNull String serviceType, MainResponseDTO> mainResponsedto) {
if ((ex instanceof RestClientException || ex instanceof HttpClientErrorException
|| ex instanceof HttpServerErrorException) && (serviceType.equals("sendOtp"))) {
throw new SendOtpFailedException(LoginErrorCodes.PRG_AUTH_001.name(),
(LoginErrorMessages.SEND_OTP_FAILED.getMessage()), mainResponsedto);
- } else if (ex instanceof PreRegLoginException && (serviceType.equals("sendOtp"))) {
- throw new SendOtpFailedException(((PreRegLoginException) ex).getErrorCode(),
- ((PreRegLoginException) ex).getErrorText(), mainResponsedto);
+ } else if (ex instanceof PreRegLoginException ex1 && (serviceType.equals("sendOtp"))) {
+ throw new SendOtpFailedException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
} else if (ex instanceof RestClientException && (serviceType.equals("userIdOtp"))) {
throw new UserIdOtpFaliedException(LoginErrorCodes.PRG_AUTH_002.name(),
(LoginErrorMessages.USERID_OTP_VALIDATION_FAILED.getMessage()), mainResponsedto);
} else if (ex instanceof RestClientException && (serviceType.equals("invalidateToken"))) {
throw new InvalidateTokenException(LoginErrorCodes.PRG_AUTH_003.getCode(),
(LoginErrorMessages.INVALIDATE_TOKEN_FAILED.getMessage()), mainResponsedto);
- } else if (ex instanceof InvalidRequestParameterException && (serviceType.equals("sendOtp"))) {
- throw new InvalidRequestParameterException(((InvalidRequestParameterException) ex).getErrorCode(),
- ((InvalidRequestParameterException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof InvalidRequestParameterException && (serviceType.equals("userIdOtp"))) {
- throw new InvalidRequestParameterException(((InvalidRequestParameterException) ex).getErrorCode(),
- ((InvalidRequestParameterException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof LoginServiceException) {
- throw new LoginServiceException(((LoginServiceException) ex).getValidationErrorList(), mainResponsedto);
- } else if (ex instanceof ParseResponseException) {
- throw new ParseResponseException(((ParseResponseException) ex).getErrorCode(),
- ((ParseResponseException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof ConfigFileNotFoundException) {
- throw new ConfigFileNotFoundException(((ConfigFileNotFoundException) ex).getErrorCode(),
- ((ConfigFileNotFoundException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof InvalidOtpOrUseridException) {
- throw new InvalidOtpOrUseridException(LoginErrorCodes.PRG_AUTH_013.getCode(),
- ((InvalidOtpOrUseridException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof NoAuthTokenException) {
- throw new NoAuthTokenException(((NoAuthTokenException) ex).getErrorCode(),
- ((NoAuthTokenException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof InvalidRequestException) {
- throw new InvalidRequestException(((InvalidRequestException) ex).getErrorCode(),
- ((InvalidRequestException) ex).getErrorText(), mainResponsedto);
+ } else if (ex instanceof JwtException && (serviceType.equals("invalidateToken"))) {
+ throw new InvalidateTokenException(LoginErrorCodes.PRG_AUTH_003.getCode(),
+ (LoginErrorMessages.INVALIDATE_TOKEN_FAILED.getMessage()), mainResponsedto);
+ } else if (ex instanceof InvalidRequestParameterException ex1 && (serviceType.equals("sendOtp"))) {
+ throw new InvalidRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof InvalidRequestParameterException ex1 && (serviceType.equals("userIdOtp"))) {
+ throw new InvalidRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof LoginServiceException ex1) {
+ throw new LoginServiceException(ex1.getValidationErrorList(), mainResponsedto);
+ } else if (ex instanceof ParseResponseException ex1) {
+ throw new ParseResponseException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof ConfigFileNotFoundException ex1) {
+ throw new ConfigFileNotFoundException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof InvalidOtpOrUseridException ex1) {
+ throw new InvalidOtpOrUseridException(LoginErrorCodes.PRG_AUTH_013.getCode(), ex1.getErrorText(),
+ mainResponsedto);
+ } else if (ex instanceof NoAuthTokenException ex1) {
+ throw new NoAuthTokenException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof InvalidRequestException ex1) {
+ throw new InvalidRequestException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
} else if ((ex instanceof HttpClientErrorException || ex instanceof HttpServerErrorException)
&& serviceType.equals("refreshConfig")) {
throw new ConfigFileNotFoundException(LoginErrorCodes.PRG_AUTH_012.getCode(),
@@ -77,14 +82,11 @@ public void handle(Exception ex, @NonNull String serviceType, MainResponseDTO>
throw new ConfigFileNotFoundException(LoginErrorCodes.PRG_AUTH_012.getCode(),
LoginErrorMessages.CONFIG_FILE_NOT_FOUND_EXCEPTION.getMessage(), mainResponsedto);
} else {
- if (ex instanceof BaseUncheckedException) {
- throw new PreRegistrationException(((BaseUncheckedException) ex).getErrorCode(),
- ((BaseUncheckedException) ex).getErrorText(), mainResponsedto);
- } else if (ex instanceof BaseCheckedException) {
- throw new PreRegistrationException(((BaseCheckedException) ex).getErrorCode(),
- ((BaseCheckedException) ex).getErrorText(), mainResponsedto);
+ if (ex instanceof BaseUncheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
+ } else if (ex instanceof BaseCheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponsedto);
}
}
-
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/NotificationExceptionCatcher.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/NotificationExceptionCatcher.java
index bcaa3b00972..a831a418c56 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/NotificationExceptionCatcher.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/NotificationExceptionCatcher.java
@@ -4,7 +4,6 @@
*/
package io.mosip.preregistration.application.exception.util;
-
import java.text.ParseException;
import org.springframework.web.client.HttpServerErrorException;
@@ -29,7 +28,6 @@
import io.mosip.preregistration.application.exception.NotificationSeriveException;
import io.mosip.preregistration.application.exception.RestCallException;
-
/**
* This class is used to catch the exceptions that occur while creating the
* acknowledgement application
@@ -41,73 +39,53 @@
public class NotificationExceptionCatcher {
/**
- * Method to handle the respective exceptions
+ * Handles exceptions and throws specific exceptions based on the type of the original exception.
*
- * @param ex
- * pass the exception
+ * @param ex The original exception to handle.
+ * @param mainResponseDTO The main response DTO associated with the exception.
*/
- public void handle(Exception ex,MainResponseDTO> mainResponseDto) {
- if (ex instanceof MandatoryFieldException) {
- throw new MandatoryFieldException(((MandatoryFieldException) ex).getErrorCode(),((MandatoryFieldException) ex).getErrorText(),mainResponseDto);
- }else if (ex instanceof IOException||ex instanceof java.io.IOException) {
- throw new IOException(NotificationErrorCodes.PRG_PAM_ACK_005.getCode(),
- NotificationErrorMessages.INPUT_OUTPUT_EXCEPTION.getMessage(),mainResponseDto);
- }else if (ex instanceof NullPointerException) {
+ public void handle(Exception ex, MainResponseDTO> mainResponseDto) {
+ if (ex instanceof MandatoryFieldException ex1) {
+ throw new MandatoryFieldException( ex1.getErrorCode(),
+ ex1.getErrorText(), mainResponseDto);
+ } else if (ex instanceof IOException || ex instanceof java.io.IOException) {
+ throw new IOException(NotificationErrorCodes.PRG_PAM_ACK_005.getCode(),
+ NotificationErrorMessages.INPUT_OUTPUT_EXCEPTION.getMessage(), mainResponseDto);
+ } else if (ex instanceof NullPointerException) {
throw new IllegalParamException(NotificationErrorCodes.PRG_PAM_ACK_002.getCode(),
- NotificationErrorMessages.INCORRECT_MANDATORY_FIELDS.getMessage(), ex.getCause(),mainResponseDto);
- }
- else if (ex instanceof HttpServerErrorException) {
+ NotificationErrorMessages.INCORRECT_MANDATORY_FIELDS.getMessage(), ex.getCause(), mainResponseDto);
+ } else if (ex instanceof HttpServerErrorException) {
throw new NotificationSeriveException();
- }
- else if (ex instanceof InvalidRequestException) {
- throw new InvalidRequestException(((InvalidRequestException) ex).getErrorCode(),
- ((InvalidRequestException) ex).getErrorText(), mainResponseDto);
- }
- else if (ex instanceof JsonParseException) {
- throw new JsonValidationException(NotificationErrorCodes.PRG_PAM_ACK_004.getCode(), NotificationErrorMessages.JSON_PARSING_FAILED.getMessage(),
- ex.getCause(),mainResponseDto);
- } else if (ex instanceof InvalidRequestParameterException) {
- throw new InvalidRequestParameterException(((InvalidRequestParameterException) ex).getErrorCode(),
- ((InvalidRequestParameterException) ex).getErrorText(),mainResponseDto);
- } else if (ex instanceof MissingRequestParameterException) {
- throw new MissingRequestParameterException(((MissingRequestParameterException) ex).getErrorCode(),
- ((MissingRequestParameterException) ex).getErrorText(),mainResponseDto);
- }
-
- else if (ex instanceof NotificationSeriveException) {
- throw new NotificationSeriveException(((NotificationSeriveException) ex).getValidationErrorList(),((NotificationSeriveException) ex).getMainResposneDTO());
-
- }
-
- else if (ex instanceof RestCallException) {
- throw new RestCallException(((RestCallException) ex).getErrorCode(),((RestCallException) ex).getErrorText(),((RestCallException) ex).getMainresponseDTO());
-
- }
- else if (ex instanceof BookingDetailsNotFoundException) {
- throw new BookingDetailsNotFoundException(((BookingDetailsNotFoundException) ex).getErrorList(),((BookingDetailsNotFoundException) ex).getMainResponseDTO());
-
- }
- else if (ex instanceof DemographicDetailsNotFoundException) {
- throw new DemographicDetailsNotFoundException(((DemographicDetailsNotFoundException) ex).getErrorList(),((DemographicDetailsNotFoundException) ex).getMainResponseDTO());
-
- }
- else if (ex instanceof ParseException) {
- throw new InvalidRequestParameterException(io.mosip.preregistration.core.errorcodes.ErrorCodes.PRG_CORE_REQ_003.getCode(), io.mosip.preregistration.core.errorcodes.ErrorMessages.INVALID_REQUEST_DATETIME.getMessage(), mainResponseDto);
-
- }
- else if (ex instanceof RecordNotFoundException) {
- throw new RecordNotFoundException(((RecordNotFoundException) ex).getErrorCode(),((RecordNotFoundException) ex).getErrorText(),mainResponseDto);
-
- }
- else {
- if (ex instanceof BaseUncheckedException) {
- throw new PreRegistrationException(((BaseUncheckedException) ex).getErrorCode(),
- ((BaseUncheckedException) ex).getErrorText(), mainResponseDto);
- } else if (ex instanceof BaseCheckedException) {
- throw new PreRegistrationException(((BaseCheckedException) ex).getErrorCode(),
- ((BaseCheckedException) ex).getErrorText(), mainResponseDto);
+ } else if (ex instanceof InvalidRequestException ex1) {
+ throw new InvalidRequestException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
+ } else if (ex instanceof JsonParseException) {
+ throw new JsonValidationException(NotificationErrorCodes.PRG_PAM_ACK_004.getCode(),
+ NotificationErrorMessages.JSON_PARSING_FAILED.getMessage(), ex.getCause(), mainResponseDto);
+ } else if (ex instanceof InvalidRequestParameterException ex1) {
+ throw new InvalidRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
+ } else if (ex instanceof MissingRequestParameterException ex1) {
+ throw new MissingRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
+ } else if (ex instanceof NotificationSeriveException ex1) {
+ throw new NotificationSeriveException(ex1.getValidationErrorList(), ex1.getMainResposneDTO());
+ } else if (ex instanceof RestCallException ex1) {
+ throw new RestCallException(ex1.getErrorCode(), ex1.getErrorText(), ex1.getMainresponseDTO());
+ } else if (ex instanceof BookingDetailsNotFoundException ex1) {
+ throw new BookingDetailsNotFoundException(ex1.getErrorList(), ex1.getMainResponseDTO());
+ } else if (ex instanceof DemographicDetailsNotFoundException ex1) {
+ throw new DemographicDetailsNotFoundException(ex1.getErrorList(), ex1.getMainResponseDTO());
+ } else if (ex instanceof ParseException) {
+ throw new InvalidRequestParameterException(
+ io.mosip.preregistration.core.errorcodes.ErrorCodes.PRG_CORE_REQ_003.getCode(),
+ io.mosip.preregistration.core.errorcodes.ErrorMessages.INVALID_REQUEST_DATETIME.getMessage(),
+ mainResponseDto);
+ } else if (ex instanceof RecordNotFoundException ex1) {
+ throw new RecordNotFoundException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
+ } else {
+ if (ex instanceof BaseUncheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
+ } else if (ex instanceof BaseCheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
}
}
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/PreRegistrationExceptionHandler.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/PreRegistrationExceptionHandler.java
index 7796ff9f8cb..6a872818fa6 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/PreRegistrationExceptionHandler.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/PreRegistrationExceptionHandler.java
@@ -8,8 +8,8 @@
import java.util.List;
import java.util.Map;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -104,6 +104,7 @@
import io.mosip.preregistration.demographic.exception.system.SystemFileIOException;
import io.mosip.preregistration.demographic.exception.system.SystemIllegalArgumentException;
import io.mosip.preregistration.demographic.exception.system.SystemUnsupportedEncodingException;
+import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
@RestControllerAdvice
public class PreRegistrationExceptionHandler {
@@ -502,7 +503,8 @@ public ResponseEntity> methodArgumentNotValidExcep
public ResponseEntity> onHttpMessageNotReadable(
final HttpServletRequest httpServletRequest, final HttpMessageNotReadableException e) throws IOException {
ResponseWrapper errorResponse = setErrors(httpServletRequest);
- ServiceError error = new ServiceError(ErrorCodes.PRG_CORE_REQ_015.getCode(), e.getMessage());
+ String errorMessage = StringUtils.substringBefore(e.getMessage(), ":");
+ ServiceError error = new ServiceError(ErrorCodes.PRG_CORE_REQ_015.getCode(), errorMessage);
errorResponse.getErrors().add(error);
return new ResponseEntity<>(errorResponse, HttpStatus.OK);
}
@@ -836,11 +838,10 @@ public ResponseEntity> cephServerException(final FSServerExce
public ResponseEntity> primaryKeyValidationException(final PrimaryKeyValidationException e) {
return GenericUtil.errorResponse(e, e.getResponse());
}
-
-
+
@ExceptionHandler(DeprecatedException.class)
public ResponseEntity> sizeExceedException(DeprecatedException e) {
- ExceptionJSONInfoDTO errorDetails = new ExceptionJSONInfoDTO(e.getErrorCode(),e.getErrorMessage());
+ ExceptionJSONInfoDTO errorDetails = new ExceptionJSONInfoDTO(e.getErrorCode(), e.getErrorMessage());
MainResponseDTO> errorRes = new MainResponseDTO<>();
List errorList = new ArrayList<>();
errorList.add(errorDetails);
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/QRcodeExceptionCatcher.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/QRcodeExceptionCatcher.java
index 6481ffaaaa9..97ba755cba5 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/QRcodeExceptionCatcher.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/QRcodeExceptionCatcher.java
@@ -23,51 +23,36 @@
*/
public class QRcodeExceptionCatcher {
/**
- * Method to handle the respective exceptions
+ * Handles exceptions and throws specific exceptions based on the type of the original exception.
*
- * @param ex
- * pass the exception
+ * @param ex The original exception to handle.
+ * @param mainResponseDTO The main response DTO associated with the exception.
*/
public void handle(Exception ex, MainResponseDTO> mainResponseDto) {
if (ex instanceof QrcodeGenerationException) {
throw new IllegalParamException(QrCodeErrorCodes.PRG_QRC_002.getCode(),
QrCodeErrorMessages.QRCODE_FAILED_TO_GENERATE.getCode(), ex.getCause(), mainResponseDto);
} else if (ex instanceof IOException || ex instanceof JSONException) {
- throw new QrCodeIOException(
- QrCodeErrorCodes.PRG_QRC_001.getCode(), QrCodeErrorMessages.INPUT_OUTPUT_EXCEPTION.getCode(), ex.getCause(),
- mainResponseDto);
+ throw new QrCodeIOException(QrCodeErrorCodes.PRG_QRC_001.getCode(),
+ QrCodeErrorMessages.INPUT_OUTPUT_EXCEPTION.getCode(), ex.getCause(), mainResponseDto);
} else if (ex instanceof NullPointerException) {
throw new IllegalParamException(QrCodeErrorCodes.PRG_QRC_002.getCode(),
QrCodeErrorMessages.QRCODE_FAILED_TO_GENERATE.getCode(), ex.getCause(), mainResponseDto);
- }
-
- else if (ex instanceof InvalidRequestParameterException) {
- throw new InvalidRequestParameterException(((InvalidRequestParameterException) ex).getErrorCode(),
- ((InvalidRequestParameterException) ex).getErrorText(), mainResponseDto);
- } else if (ex instanceof InvalidRequestException) {
- throw new InvalidRequestException(((InvalidRequestException) ex).getErrorCode(),
- ((InvalidRequestException) ex).getErrorText(), mainResponseDto);
+ } else if (ex instanceof InvalidRequestParameterException ex1) {
+ throw new InvalidRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
+ } else if (ex instanceof InvalidRequestException ex1) {
+ throw new InvalidRequestException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
} else if (ex instanceof ParseException) {
throw new InvalidRequestParameterException(
io.mosip.preregistration.core.errorcodes.ErrorCodes.PRG_CORE_REQ_003.getCode(),
io.mosip.preregistration.core.errorcodes.ErrorMessages.INVALID_REQUEST_DATETIME.getMessage(),
mainResponseDto);
- } else if (ex instanceof ParseException) {
- throw new InvalidRequestParameterException(
- io.mosip.preregistration.core.errorcodes.ErrorCodes.PRG_CORE_REQ_003.getCode(),
- io.mosip.preregistration.core.errorcodes.ErrorMessages.INVALID_REQUEST_DATETIME.getMessage(),
- mainResponseDto);
-
- }
- else {
- if (ex instanceof BaseUncheckedException) {
- throw new PreRegistrationException(((BaseUncheckedException) ex).getErrorCode(),
- ((BaseUncheckedException) ex).getErrorText(), mainResponseDto);
- } else if (ex instanceof BaseCheckedException) {
- throw new PreRegistrationException(((BaseCheckedException) ex).getErrorCode(),
- ((BaseCheckedException) ex).getErrorText(), mainResponseDto);
+ } else {
+ if (ex instanceof BaseUncheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
+ } else if (ex instanceof BaseCheckedException ex1) {
+ throw new PreRegistrationException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDto);
}
}
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/TransliterationExceptionCatcher.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/TransliterationExceptionCatcher.java
index 13a15c5838c..8615385ac32 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/TransliterationExceptionCatcher.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/exception/util/TransliterationExceptionCatcher.java
@@ -30,41 +30,33 @@
*/
@Component
public class TransliterationExceptionCatcher {
-
/**
- * Method to handle the respective exceptions
+ * Handles exceptions and throws specific exceptions based on the type of the original exception.
*
- * @param ex
- * pass the exception
+ * @param ex The original exception to handle.
+ * @param mainResponseDTO The main response DTO associated with the exception.
*/
- public void handle(Exception ex,MainResponseDTO> response) {
- if (ex instanceof DataAccessLayerException) {
+ public void handle(Exception ex, MainResponseDTO> mainResponseDTO) {
+ if (ex instanceof DataAccessLayerException) {
throw new TableNotAccessibleException(TransliterationErrorCodes.PRG_TRL_APP_005.getCode(),
- TransliterationErrorMessage.PRE_REG_TRANSLITRATION_TABLE_NOT_ACCESSIBLE.getMessage(), ex.getCause());
+ TransliterationErrorMessage.PRE_REG_TRANSLITRATION_TABLE_NOT_ACCESSIBLE.getMessage(),
+ ex.getCause());
} else if (ex instanceof NullPointerException) {
throw new IllegalParamException(TransliterationErrorCodes.PRG_TRL_APP_002.getCode(),
- TransliterationErrorMessage.INCORRECT_MANDATORY_FIELDS.getMessage(), ex.getCause(),response);
+ TransliterationErrorMessage.INCORRECT_MANDATORY_FIELDS.getMessage(), ex.getCause(), mainResponseDTO);
} else if (ex instanceof ParseException) {
- throw new JsonParseException(
- TransliterationErrorCodes.PRG_TRL_APP_006.getCode(), TransliterationErrorMessage.JSON_PARSING_FAILED.getMessage(), ex.getCause(),response);
- } else if (ex instanceof InvalidRequestParameterException) {
- throw new InvalidRequestParameterException(((InvalidRequestParameterException) ex).getErrorCode(),
- ((InvalidRequestParameterException) ex).getErrorText(),response);
- } else if (ex instanceof MissingRequestParameterException) {
- throw new MissingRequestParameterException(((MissingRequestParameterException) ex).getErrorCode(),
- ((MissingRequestParameterException) ex).getErrorText(),response);
- }else if (ex instanceof InvalidRequestException) {
- throw new InvalidRequestException(((InvalidRequestException) ex).getErrorCode(),
- ((InvalidRequestException) ex).getErrorText(), response);
- }
- else if (ex instanceof MandatoryFieldRequiredException) {
- throw new MandatoryFieldRequiredException(((MandatoryFieldRequiredException) ex).getErrorCode(),
- ((MandatoryFieldRequiredException) ex).getErrorText(),response);
- }
- else if (ex instanceof UnSupportedLanguageException) {
- throw new UnSupportedLanguageException(((UnSupportedLanguageException) ex).getErrorCode(),
- ((UnSupportedLanguageException) ex).getErrorText(),response);
+ throw new JsonParseException(TransliterationErrorCodes.PRG_TRL_APP_006.getCode(),
+ TransliterationErrorMessage.JSON_PARSING_FAILED.getMessage(), ex.getCause(), mainResponseDTO);
+ } else if (ex instanceof InvalidRequestParameterException ex1) {
+ throw new InvalidRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDTO);
+ } else if (ex instanceof MissingRequestParameterException ex1) {
+ throw new MissingRequestParameterException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDTO);
+ } else if (ex instanceof InvalidRequestException ex1) {
+ throw new InvalidRequestException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDTO);
+ } else if (ex instanceof MandatoryFieldRequiredException ex1) {
+ throw new MandatoryFieldRequiredException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDTO);
+ } else if (ex instanceof UnSupportedLanguageException ex1) {
+ throw new UnSupportedLanguageException(ex1.getErrorCode(), ex1.getErrorText(), mainResponseDTO);
}
}
-
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/repository/ApplicationRepostiory.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/repository/ApplicationRepostiory.java
index 186da7130fc..dbf77a4de2e 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/repository/ApplicationRepostiory.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/repository/ApplicationRepostiory.java
@@ -16,6 +16,8 @@
@Transactional
public interface ApplicationRepostiory extends BaseRepository {
+ public static final String searchAppointmentsQuery = "select u from ApplicationEntity u where u.registrationCenterId=?1 and u.appointmentDate between ?2 and ?3";
+
@Query("SELECT u.bookingStatusCode FROM ApplicationEntity u where u.applicationId =?1")
public String findBookingStatusCodeById(String applicationId);
@@ -23,8 +25,9 @@ public interface ApplicationRepostiory extends BaseRepository findByRegistrationCenterIdAndAppointmentDate(String registrationCenterId,
- LocalDate appointmentDate);
+ @Query(searchAppointmentsQuery)
+ public List findByRegistrationCenterIdAndBetweenDate(String registrationCenterId,
+ LocalDate appointmentFromDate, LocalDate appointmentToDate);
@Query("SELECT e FROM ApplicationEntity e WHERE e.applicationId = ?1")
public ApplicationEntity findByApplicationId(String applicationId);
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/repository/OtpTxnRepository.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/repository/OtpTxnRepository.java
index 7965b2a8c34..c9cd67e896c 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/repository/OtpTxnRepository.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/repository/OtpTxnRepository.java
@@ -13,7 +13,9 @@ public interface OtpTxnRepository extends BaseRepository
Boolean existsByOtpHashAndStatusCode(String otpHash, String statusCode);
- OtpTransaction findByOtpHashAndStatusCode(String otpHash, String statusCode);
+ OtpTransaction findTopByOtpHashAndStatusCode(String otpHash, String statusCode);
+
+ OtpTransaction findByRefIdAndStatusCode(String refId, String statusCode);
/**
* Obtain the number of count of request_dTtimes for particular userId with
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/ApplicationService.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/ApplicationService.java
index 0e463ecf155..52c4fdc5609 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/ApplicationService.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/ApplicationService.java
@@ -5,15 +5,15 @@
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.annotation.PostConstruct;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.web.client.HttpClientErrorException;
@@ -198,10 +198,7 @@ public MainResponseDTO getApplicationInfo(String applicationI
throw new RecordNotFoundException(ApplicationErrorCodes.PRG_APP_013.getCode(),
ApplicationErrorMessages.NO_RECORD_FOUND.getMessage());
}
- if (!authUserDetails().getUserId().trim().equals(applicationEntity.getCrBy().trim())) {
- throw new PreIdInvalidForUserIdException(ApplicationErrorCodes.PRG_APP_015.getCode(),
- ApplicationErrorMessages.INVALID_APPLICATION_ID_FOR_USER.getMessage());
- }
+ userValidation(applicationEntity);
log.info("Application Info: {} for the Application Id: {}", applicationEntity, applicationId);
response.setResponse(applicationEntity);
} catch (Exception ex) {
@@ -216,20 +213,28 @@ public MainResponseDTO getApplicationInfo(String applicationI
* Get all bookings for the given regCenterId in the given appointmentDate
*
* @param regCenterId
- * @param appointmentDate
+ * @param appointmentFromDate
+ * @param appointmentToDate
* @return
*/
public MainResponseDTO> getBookingsForRegCenter(String regCenterId,
- String appointmentDate) {
+ String appointmentFromDate, String appointmentToDate) {
MainResponseDTO> mainResponse = new MainResponseDTO<>();
mainResponse.setId(applicationDetailsId);
mainResponse.setVersion(version);
mainResponse.setResponsetime(DateTimeFormatter.ofPattern(mosipDateTimeFormat).format(LocalDateTime.now()));
List responseList = new ArrayList<>();
try {
- LocalDate appDate = LocalDate.parse(appointmentDate);
+ LocalDate appFromDate = LocalDate.parse(appointmentFromDate);
+ LocalDate appToDate = null;
+ if (appointmentToDate != null && !"".equals(appointmentToDate.trim())) {
+ appToDate = LocalDate.parse(appointmentToDate);
+ }
+ if (appToDate == null) {
+ appToDate = appFromDate;
+ }
List entity = applicationRepository
- .findByRegistrationCenterIdAndAppointmentDate(regCenterId, appDate);
+ .findByRegistrationCenterIdAndBetweenDate(regCenterId, appFromDate, appToDate);
if (entity != null) {
entity.forEach(obj -> {
ApplicationDetailResponseDTO response = new ApplicationDetailResponseDTO();
@@ -253,7 +258,7 @@ public MainResponseDTO> getBookingsForRegCent
}
} catch (RecordNotFoundException ex) {
log.error("Record Not Found Exception for the request regCenterId and appointmentDate", regCenterId,
- appointmentDate);
+ appointmentFromDate);
log.error("Exception trace", ex);
throw new RecordNotFoundException(ApplicationErrorCodes.PRG_APP_012.getCode(),
ApplicationErrorMessages.NO_RECORD_FOUND.getMessage(), mainResponse);
@@ -393,10 +398,11 @@ public MainResponseDTO deleteLostOrUpdateApplication(Strin
ApplicationEntity applicationEntity = serviceUtil.findApplicationById(applicationId);
if (bookingType.equals(BookingTypeCodes.LOST_FORGOTTEN_UIN.toString())
|| bookingType.equals(BookingTypeCodes.UPDATE_REGISTRATION.toString())) {
+ //userValidation(applicationEntity);
if (!authUserDetails().getUserId().trim().equals(applicationEntity.getCrBy().trim())) {
throw new PreIdInvalidForUserIdException(ApplicationErrorCodes.PRG_APP_015.getCode(),
ApplicationErrorMessages.INVALID_APPLICATION_ID_FOR_USER.getMessage());
- }
+ }
if ((applicationEntity.getBookingStatusCode().equals(StatusCodes.BOOKED.getCode()))) {
MainResponseDTO deleteBooking = null;
deleteBooking = serviceUtil.deleteBooking(applicationId);
@@ -490,6 +496,7 @@ public MainResponseDTO getApplicationStatus(String applicationId) {
throw new RecordNotFoundException(ApplicationErrorCodes.PRG_APP_013.getCode(),
ApplicationErrorMessages.NO_RECORD_FOUND.getMessage());
}
+ userValidation(applicationEntity);
applicationBookingStatus= applicationEntity.getBookingStatusCode();
log.info("Application STATUS : {} for the Application Id: {}", applicationBookingStatus, applicationId);
response.setResponse(applicationBookingStatus);
@@ -501,6 +508,35 @@ public MainResponseDTO getApplicationStatus(String applicationId) {
return response;
}
+ private void userValidation(ApplicationEntity applicationEntity) {
+ String authUserId = authUserDetails().getUserId();
+ List list = listAuth(authUserDetails().getAuthorities());
+ if (list.contains("ROLE_INDIVIDUAL")) {
+ log.info("sessionId", "idType", "id", "In userValidation method of ApplicationService with applicationId "
+ + applicationEntity.getApplicationId() + " and userID " + authUserId);
+ if (!authUserDetails().getUserId().trim().equals(applicationEntity.getCrBy().trim())) {
+ throw new PreIdInvalidForUserIdException(ApplicationErrorCodes.PRG_APP_015.getCode(),
+ ApplicationErrorMessages.INVALID_APPLICATION_ID_FOR_USER.getMessage());
+ }
+ }
+
+ }
+
+ /**
+ * This method is used to get the list of authorization role
+ *
+ * @param collection
+ * @return list of auth role
+ */
+ private List listAuth(Collection extends GrantedAuthority> collection) {
+ List listWORole = new ArrayList<>();
+ for (GrantedAuthority authority : collection) {
+ String s = authority.getAuthority();
+ listWORole.add(s);
+ }
+ return listWORole;
+ }
+
/**
* Gives all the application details for the logged in user for the given type.
*
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/ApplicationServiceIntf.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/ApplicationServiceIntf.java
index 5e8a862c49f..e1b74561207 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/ApplicationServiceIntf.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/ApplicationServiceIntf.java
@@ -53,11 +53,12 @@ public interface ApplicationServiceIntf {
* Get all bookings for the given regCenterId in the given appointmentDate
*
* @param regCenterId
- * @param appointmentDate
+ * @param appointmentFromDate
+ * @param appointmentToDate
* @return
*/
MainResponseDTO> getBookingsForRegCenter(String regCenterId,
- String appointmentDate);
+ String appointmentFromDate, String appointmentToDate);
/**
* This method is used to create the a new application with booking type as
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/AppointmentServiceImpl.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/AppointmentServiceImpl.java
index bfdf789d881..4c8d37c5276 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/AppointmentServiceImpl.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/AppointmentServiceImpl.java
@@ -6,12 +6,14 @@
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
@@ -25,6 +27,7 @@
import io.mosip.preregistration.application.exception.AppointmentExecption;
import io.mosip.preregistration.application.exception.RecordNotFoundException;
import io.mosip.preregistration.application.repository.ApplicationRepostiory;
+import io.mosip.preregistration.application.repository.DocumentDAO;
import io.mosip.preregistration.application.service.util.AppointmentUtil;
import io.mosip.preregistration.booking.dto.AvailabilityDto;
import io.mosip.preregistration.booking.dto.BookingRequestDTO;
@@ -63,7 +66,7 @@ public class AppointmentServiceImpl implements AppointmentService {
*/
@Autowired
AnonymousProfileUtil anonymousProfileUtil;
-
+
@Value("${version}")
private String version;
@@ -87,6 +90,9 @@ public class AppointmentServiceImpl implements AppointmentService {
@Autowired
private ApplicationRepostiory applicationRepostiory;
+
+ @Autowired
+ private DocumentDAO documentDAO;
public AuthUserDetails authUserDetails() {
return (AuthUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
@@ -122,16 +128,54 @@ public MainResponseDTO getAppointmentDetails(String preR
.setResponsetime(DateTimeFormatter.ofPattern(mosipDateTimeFormat).format(LocalDateTime.now()));
try {
log.info("In appointment service to get appointment details");
+ //first check if the applicationId/preRegistrationId belongs to the logged in user or not
+ userValidation(preRegistrationId);
BookingRegistrationDTO bookingrespose = appointmentUtils.fetchAppointmentDetails(preRegistrationId);
appointmentDetailsResponse.setResponse(bookingrespose);
-
+
} catch (AppointmentExecption ex) {
log.error("Exception has occurred while fetching appointment details:", ex);
appointmentDetailsResponse.setErrors(setErrors(ex));
}
return appointmentDetailsResponse;
}
-
+
+ private void userValidation(String applicationId) {
+ String authUserId = authUserDetails().getUserId();
+ List list = listAuth(authUserDetails().getAuthorities());
+ if (list.contains("ROLE_INDIVIDUAL")) {
+ log.info("sessionId", "idType", "id", "In userValidation method of AppointmentService with applicationId "
+ + applicationId + " and userID " + authUserId);
+ ApplicationEntity applicationEntity = null;
+ try {
+ applicationEntity = applicationRepostiory.findByApplicationId(applicationId);
+ } catch (Exception ex) {
+ log.error("Invaid applicationId/Not Record Found for the ID", applicationId);
+ throw new AppointmentExecption(ApplicationErrorCodes.PRG_APP_013.getCode(),
+ ApplicationErrorMessages.NO_RECORD_FOUND.getMessage());
+ }
+ if (applicationEntity != null && !authUserId.trim().equals(applicationEntity.getCrBy().trim())) {
+ throw new AppointmentExecption(AppointmentErrorCodes.INVALID_APP_ID_FOR_USER.getCode(),
+ AppointmentErrorCodes.INVALID_APP_ID_FOR_USER.getMessage());
+ }
+ }
+ }
+
+ /**
+ * This method is used to get the list of authorization role
+ *
+ * @param collection
+ * @return list of auth role
+ */
+ private List listAuth(Collection extends GrantedAuthority> collection) {
+ List listWORole = new ArrayList<>();
+ for (GrantedAuthority authority : collection) {
+ String s = authority.getAuthority();
+ listWORole.add(s);
+ }
+ return listWORole;
+ }
+
@Override
public MainResponseDTO makeAppointment(MainRequestDTO bookingDTO,
String preRegistrationId, String userAgent) {
@@ -142,6 +186,8 @@ public MainResponseDTO makeAppointment(MainRequestDTO deleteBooking(String preRegistrationId)
deleteResponse.setResponsetime(DateTimeFormatter.ofPattern(mosipDateTimeFormat).format(LocalDateTime.now()));
try {
log.info("Deleting appointment for ID:{}", preRegistrationId);
+ //first check if the applicationId/preRegistrationId belongs to the logged in user or not
+ userValidation(preRegistrationId);
DeleteBookingDTO res = appointmentUtils.deleteBooking(preRegistrationId);
if (res != null && (res.getDeletedBy() != null && res.getDeletedDateTime() != null
&& res.getPreRegistrationId() != null)) {
@@ -196,6 +244,8 @@ public MainResponseDTO deleteBookingAndUpdateApplicationStatus
deleteResponse.setResponsetime(DateTimeFormatter.ofPattern(mosipDateTimeFormat).format(LocalDateTime.now()));
try {
log.info("Deleting appointment for ID:{}", preRegistrationId);
+ //first check if the applicationId/preRegistrationId belongs to the logged in user or not
+ userValidation(preRegistrationId);
DeleteBookingDTO res = appointmentUtils.deleteBooking(preRegistrationId);
if (res != null && (res.getDeletedBy() != null && res.getDeletedDateTime() != null
&& res.getPreRegistrationId() != null)) {
@@ -225,8 +275,9 @@ public MainResponseDTO cancelAppointment(String preReg
cancelResponse.setResponsetime(DateTimeFormatter.ofPattern(mosipDateTimeFormat).format(LocalDateTime.now()));
try {
log.info("Cancelling appointment for ID:{}", preRegistrationId);
+ //first check if the applicationId/preRegistrationId belongs to the logged in user or not
+ userValidation(preRegistrationId);
CancelBookingResponseDTO response = appointmentUtils.cancelAppointment(preRegistrationId);
-
if (response != null && (response.getMessage() != null && response.getTransactionId() != null)) {
log.info("In appointment cancelled successfully , updating the applications and demographic tables",
preRegistrationId);
@@ -255,6 +306,11 @@ public MainResponseDTO makeMultiAppointment(MainRequestDTO {
+ String preRegistrationId = action.getPreRegistrationId();
+ userValidation(preRegistrationId);
+ });
BookingStatus bookingStatus = appointmentUtils.multiAppointmentBooking(bookingRequest);
if (bookingStatus != null && bookingStatus.getBookingStatusResponse().size() > 0) {
@@ -288,9 +344,13 @@ private void createAnonymousProfile(String userAgent, String preRegistrationId,
// profile
BrowserInfoDTO browserInfo = new BrowserInfoDTO();
browserInfo.setBrowserName(userAgent);
- DemographicResponseDTO demographicData = demographicService.getDemographicData(preRegistrationId, false)
+ DemographicResponseDTO demographicData = demographicService.getDemographicData(preRegistrationId)
.getResponse();
- DocumentsMetaData documentsData = documentService.getAllDocumentForPreId(preRegistrationId).getResponse();
+ DocumentsMetaData documentsData = null;
+ Boolean documentExists = documentDAO.existsByPreregId(preRegistrationId);
+ if (documentExists) {
+ documentsData = documentService.getAllDocumentForPreId(preRegistrationId).getResponse();
+ }
BookingRegistrationDTO bookingData = new BookingRegistrationDTO();
bookingData.setRegistrationCenterId(bookRequest.getRegistrationCenterId());
bookingData.setRegDate(bookRequest.getRegDate());
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DemographicService.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DemographicService.java
index da5dd1f68da..0e5a9d733ed 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DemographicService.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DemographicService.java
@@ -1,4 +1,3 @@
-
package io.mosip.preregistration.application.service;
import java.io.IOException;
@@ -13,8 +12,6 @@
import java.util.Set;
import java.util.stream.Collectors;
-import javax.annotation.PostConstruct;
-
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
@@ -49,7 +46,6 @@
import io.mosip.preregistration.application.dto.ApplicantTypeRequestDTO;
import io.mosip.preregistration.application.dto.ApplicantValidDocumentDto;
import io.mosip.preregistration.application.dto.ApplicationInfoMetadataDTO;
-import io.mosip.preregistration.application.dto.DeleteApplicationDTO;
import io.mosip.preregistration.application.dto.DeletePreRegistartionDTO;
import io.mosip.preregistration.application.dto.DemographicCreateResponseDTO;
import io.mosip.preregistration.application.dto.DemographicMetadataDTO;
@@ -69,7 +65,6 @@
import io.mosip.preregistration.application.exception.RecordNotFoundException;
import io.mosip.preregistration.application.exception.RecordNotFoundForPreIdsException;
import io.mosip.preregistration.application.exception.util.DemographicExceptionCatcher;
-import io.mosip.preregistration.application.repository.ApplicationRepostiory;
import io.mosip.preregistration.application.repository.DemographicRepository;
import io.mosip.preregistration.application.service.util.DemographicServiceUtil;
import io.mosip.preregistration.core.code.AuditLogVariables;
@@ -781,7 +776,7 @@ public MainResponseDTO deleteIndividual(String preregI
* getDemographicData(java.lang.String)
*/
@Override
- public MainResponseDTO getDemographicData(String preRegId, Boolean isBatch) {
+ public MainResponseDTO getDemographicData(String preRegId) {
log.info("sessionId", "idType", "id", "In getDemographicData method of pre-registration service ");
MainResponseDTO response = new MainResponseDTO<>();
Map requestParamMap = new HashMap<>();
@@ -797,7 +792,7 @@ public MainResponseDTO getDemographicData(String preRegI
List list = listAuth(authUserDetails().getAuthorities());
log.info("sessionId", "idType", "id",
"In getDemographicData method of pre-registration service with list " + list);
- if (list.contains("ROLE_INDIVIDUAL") && !isBatch) {
+ if (list.contains("ROLE_INDIVIDUAL")) {
userValidation(authUserDetails().getUserId(), demographicEntity.getCreatedBy());
}
String hashString = HashUtill.hashUtill(demographicEntity.getApplicantDetailJson());
@@ -882,6 +877,10 @@ public void statusCheck(DemographicEntity demographicEntity, String status, Stri
if (demographicEntity != null) {
if (serviceUtil.isStatusValid(status)) {
demographicEntity.setStatusCode(StatusCodes.valueOf(status.toUpperCase()).getCode());
+ List list = listAuth(authUserDetails().getAuthorities());
+ if (list.contains("ROLE_INDIVIDUAL")) {
+ userValidation(authUserDetails().getUserId(), demographicEntity.getCreatedBy());
+ }
if (status.toLowerCase().equals(StatusCodes.PENDING_APPOINTMENT.getCode().toLowerCase())) {
try {
if (isupdateStausToPendingAppointmentValid(demographicEntity)) {
@@ -1209,7 +1208,7 @@ public MainResponseDTO getPregistrationInfo(String p
ApplicationErrorMessages.INVALID_REQUEST_APPLICATION_ID.getMessage(), response);
}
log.info("In getPregistrationInfo method of DemographicService fetching demographic for prid {}", prid);
- demographicResponse = getDemographicData(prid.trim(), false).getResponse();
+ demographicResponse = getDemographicData(prid.trim()).getResponse();
applicationInfo.setDemographicResponse(demographicResponse);
response.setResponse(applicationInfo);
try {
@@ -1230,4 +1229,4 @@ public MainResponseDTO getPregistrationInfo(String p
}
-}
+}
\ No newline at end of file
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DemographicServiceIntf.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DemographicServiceIntf.java
index 1d528f944b9..955c451bc77 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DemographicServiceIntf.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DemographicServiceIntf.java
@@ -78,11 +78,10 @@ MainResponseDTO updatePreRegistration(MainRequestD
/**
* This Method is used to retrieve the demographic
*
- * @param preRegId pass the preregId of individual
- * @param isBatch true if batch job
+ * @param preRegId pass the preregId
* @return response DemographicData of preRegId
*/
- MainResponseDTO getDemographicData(String preRegId, Boolean isBatch);
+ MainResponseDTO getDemographicData(String preRegId);
/**
* This Method is used to update status of particular preId
diff --git a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DocumentService.java b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DocumentService.java
index 7f2e1cd3a4a..67a274e2909 100644
--- a/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DocumentService.java
+++ b/pre-registration/pre-registration-application-service/src/main/java/io/mosip/preregistration/application/service/DocumentService.java
@@ -11,6 +11,7 @@
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.stream.Collectors;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
@@ -218,7 +219,7 @@ public MainResponseDTO uploadDocument(MultipartFile file, S
requiredRequestMap.put("id", uploadId);
if (validationUtil.requestValidator(prepareRequestParamMap(docReqDto), requiredRequestMap)) {
if (scanDocument) {
- serviceUtil.isVirusScanSuccess(file);
+ serviceUtil.virusScanCheck(file);
}
if (serviceUtil.fileSizeCheck(file.getSize()) && serviceUtil.fileExtensionCheck(file)) {
serviceUtil.isValidRequest(docReqDto.getRequest(), preRegistrationId);
@@ -604,22 +605,27 @@ public MainResponseDTO