mirror of
				https://github.com/Alfresco/alfresco-community-repo.git
				synced 2025-10-29 15:21:53 +00:00 
			
		
		
		
	Compare commits
	
		
			334 Commits
		
	
	
		
			23.1.1.11
			...
			feature/AC
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | cb863c646f | ||
|  | a2d1391aee | ||
|  | 818bcb09f3 | ||
|  | 72e85076ad | ||
|  | a69be867e8 | ||
|  | fa6e0ded45 | ||
|  | ed0bbb6699 | ||
|  | 8009a6d6dd | ||
|  | 785bdb72ea | ||
|  | 66aef18862 | ||
|  | 7b516f24b6 | ||
|  | 0de1aca0f6 | ||
|  | 592dc35b6d | ||
|  | 73724a8205 | ||
|  | c8c1102431 | ||
|  | c31ae1fe33 | ||
|  | 82e9f0452d | ||
|  | 377f546a9b | ||
|  | 07dcba972f | ||
|  | 8b45d19b00 | ||
|  | 0b4b1dac44 | ||
|  | f8becd3523 | ||
|  | 781b56f06d | ||
|  | 92656a68a9 | ||
|  | 99838a73e3 | ||
|  | d7f9ed1cf0 | ||
|  | 4eccb77fa8 | ||
|  | 723156a86a | ||
|  | 3f6692a63b | ||
|  | 32e72f204a | ||
|  | 07352336c5 | ||
|  | b5ce847bb1 | ||
|  | 34925b497b | ||
|  | f5868e7f45 | ||
|  | fd015de2c8 | ||
|  | ec2494f2b5 | ||
|  | afc7e73352 | ||
|  | 3519fd6a71 | ||
|  | 5e43f3d4ab | ||
|  | 337d0b8f8f | ||
|  | 3c7593265d | ||
|  | 8986d03a2f | ||
|  | 5dcecb7f19 | ||
|  | 0617a441d3 | ||
|  | d9abdc23d5 | ||
|  | f132ec0a91 | ||
|  | 1797781ce8 | ||
|  | 88c1c849ed | ||
|  | c4ac7621c2 | ||
|  | bf7432deb1 | ||
|  | 6f74667a5c | ||
|  | 502c996c9e | ||
|  | a22e7d23f0 | ||
|  | 1e1508b74e | ||
|  | da8ffa08a0 | ||
|  | 277dbd1054 | ||
|  | 43cfa0d872 | ||
|  | 1325ec5718 | ||
|  | ecde2b5b60 | ||
|  | a9f75638c6 | ||
|  | a80b996f7e | ||
|  | 05aa6b4cf6 | ||
|  | 50b1d3a52e | ||
|  | 38b763c635 | ||
|  | 762b6ce607 | ||
|  | 0d89010ae6 | ||
|  | b744f267c1 | ||
|  | e840726a7d | ||
|  | c53683df85 | ||
|  | d9e58483ff | ||
|  | 9e81472d06 | ||
|  | 3e9cdc6b77 | ||
|  | e8ac8c2602 | ||
|  | eea58f4ba3 | ||
|  | a95fa4a83d | ||
|  | 0b74d283e2 | ||
|  | 052e21e62d | ||
|  | 26f49e80e9 | ||
|  | c31158a113 | ||
|  | 2b4fc52203 | ||
|  | 6222e1dfde | ||
|  | 077c48dea9 | ||
|  | 1a0b8d8dee | ||
|  | 66d007e703 | ||
|  | 81a4c5bac0 | ||
|  | 018157c808 | ||
|  | 8db97184f2 | ||
|  | 84948e051a | ||
|  | 8c20a3271e | ||
|  | 48c7abcfbe | ||
|  | 53d77f8d71 | ||
|  | e8e747347a | ||
|  | fee244cb08 | ||
|  | 2bec2bd1c4 | ||
|  | 1cd8098f52 | ||
|  | 30afcaa033 | ||
|  | bdf1a57630 | ||
|  | 2723817832 | ||
|  | 22acb2abe7 | ||
|  | 3c616152a1 | ||
|  | 8cfdc613cb | ||
|  | f1919934b2 | ||
|  | e9da60dac3 | ||
|  | 0597b0997f | ||
|  | 6dbe30e8f7 | ||
|  | d978b1cd68 | ||
|  | dce356fe74 | ||
|  | f965165894 | ||
|  | 2ac44c24a8 | ||
|  | a0dc5a0d70 | ||
|  | af94063bbb | ||
|  | 87b91b6cae | ||
|  | 6bdcaa9b10 | ||
|  | 86070d881c | ||
|  | a82199967c | ||
|  | f09266c081 | ||
|  | 563f65825f | ||
|  | 8bedeedfd5 | ||
|  | a73cf6a71d | ||
|  | 1bdd6c022c | ||
|  | 1b553dbcaf | ||
|  | 5a3b4e1a0d | ||
|  | 1a0156b1e5 | ||
|  | 6ac9248262 | ||
|  | 70290c8f23 | ||
|  | 7d135b9356 | ||
|  | df4629b801 | ||
|  | df6f656b95 | ||
|  | f27718c43b | ||
|  | cbf0aaaaa4 | ||
|  | 2da78a94ad | ||
|  | 3325e08d57 | ||
|  | 985205e78e | ||
|  | 5fd5e75bd2 | ||
|  | 279bc15aac | ||
|  | a3283b4521 | ||
|  | e09c9118b2 | ||
|  | 330256438b | ||
|  | 2214f16e6e | ||
|  | 2237a45e76 | ||
|  | f71a003904 | ||
|  | 10d55824f8 | ||
|  | 69f8bda762 | ||
|  | d8de1ba353 | ||
|  | d4d8718f16 | ||
|  | 859492ae1e | ||
|  | 6c08a60ce5 | ||
|  | 9cdc916189 | ||
|  | 8272347b71 | ||
|  | cde7f0bba1 | ||
|  | 959678eb70 | ||
|  | cf7bb499dc | ||
|  | a915a4246c | ||
|  | 89b5fa9e90 | ||
|  | 03744ff5d5 | ||
|  | 965add646c | ||
|  | 1c93cc7ca4 | ||
|  | 0564b27ece | ||
|  | b98fdf4ca9 | ||
|  | 1aff1eab1e | ||
|  | c3b82354c1 | ||
|  | 04215f84a6 | ||
|  | e6e05c8890 | ||
|  | af69c12be3 | ||
|  | eaf07ef88e | ||
|  | c4714b19eb | ||
|  | e3407e5a53 | ||
|  | 8d978d6527 | ||
|  | de6b062f3e | ||
|  | 98231782f6 | ||
|  | b4146744d2 | ||
|  | f9f3248229 | ||
|  | 9297fa5cf4 | ||
|  | 3d1cc0924d | ||
|  | 3b574c56dc | ||
|  | f737c3ef3c | ||
|  | 5e85b8149b | ||
|  | 440e31fcdb | ||
|  | 11030f52fa | ||
|  | c537166f68 | ||
|  | 448d2c9c2f | ||
|  | dd5703a51a | ||
|  | cfc0916c84 | ||
|  | 71b69529c6 | ||
|  | 9ffe27f028 | ||
|  | 47a636997c | ||
|  | c97df2dbaa | ||
|  | 2734dcb107 | ||
|  | 197acb3a7b | ||
|  | 91019185d8 | ||
|  | fb0c64b664 | ||
|  | 5f568179bd | ||
|  | 0396bbebbc | ||
|  | 12d1ecdefa | ||
|  | ebdc62a421 | ||
|  | aea34e8149 | ||
|  | 6a5f378ce1 | ||
|  | e1de1c627d | ||
|  | 0209c8fc84 | ||
|  | bb0c3ea207 | ||
|  | 605c3a6ccd | ||
|  | d3c7342f05 | ||
|  | 0eb7abb95b | ||
|  | a7925d54a6 | ||
|  | dbd7ce1f48 | ||
|  | ecfeb77fb0 | ||
|  | 1f72faa90c | ||
|  | 925a4f4a6a | ||
|  | 4f4f7cc02f | ||
|  | ef9d724ee9 | ||
|  | 71cbb9e1ef | ||
|  | effb697261 | ||
|  | 0b753c23c2 | ||
|  | 05f0df1b2f | ||
|  | 7a8cf67c2e | ||
|  | da7f1877fd | ||
|  | 9a11075f41 | ||
|  | 4d22931dfe | ||
|  | d9fe82a2d2 | ||
|  | 60e42b4090 | ||
|  | 824886ecdd | ||
|  | e2f0ebb015 | ||
|  | 6872c3d683 | ||
|  | 4d8a9e35b7 | ||
|  | 0cea265153 | ||
|  | 1ef7b5bea9 | ||
|  | 0a9aac7332 | ||
|  | 12e1506d01 | ||
|  | 2c5a745b50 | ||
|  | dd5f2a76ab | ||
|  | e7bd28180c | ||
|  | 5bb8a621bf | ||
|  | 28ed202c78 | ||
|  | d62423f378 | ||
|  | fc7b2f9fbf | ||
|  | df93094d67 | ||
|  | e1db33ac7a | ||
|  | c319370d4e | ||
|  | 5bfff49d5e | ||
|  | 74d017c371 | ||
|  | c35de7aed3 | ||
|  | 29d7f8d298 | ||
|  | 20b0e3cf18 | ||
|  | fb6dcac85e | ||
|  | 98b9bf34ff | ||
|  | 57da5fbdcd | ||
|  | 687b44b98a | ||
|  | c83434a3f2 | ||
|  | 6b030b489b | ||
|  | 835aba686b | ||
|  | 58f7699c05 | ||
|  | de7ef52037 | ||
|  | eb5fd63839 | ||
|  | 62399e7017 | ||
|  | 383c6f0a1d | ||
|  | af1df82dd9 | ||
|  | 028ff60748 | ||
|  | 2b2fdba3b7 | ||
|  | f16a193b61 | ||
|  | 873119f56e | ||
|  | 2c41c0ead1 | ||
|  | c957f40a78 | ||
|  | f8a8b5c8f3 | ||
|  | 773d9ca9d9 | ||
|  | 1af0b72257 | ||
|  | 158fb067d0 | ||
|  | 016c212c65 | ||
|  | c1bd8e71c4 | ||
|  | f68446b3e5 | ||
|  | 9b26c66dec | ||
|  | 06c35ea379 | ||
|  | 5580609010 | ||
|  | e16a3759ad | ||
|  | 9cce8d54d8 | ||
|  | 856bf011c5 | ||
|  | d46fc62cdb | ||
|  | eff41eef12 | ||
|  | 3d0185574d | ||
|  | 5664b5de78 | ||
|  | 82f44122bc | ||
|  | 6c3740c2a6 | ||
|  | ecdbf41291 | ||
|  | 6abf01e083 | ||
|  | 7671d3b7bc | ||
|  | a8a6b565a7 | ||
|  | a660109b73 | ||
|  | 11cc7fd2cb | ||
|  | fe356c6135 | ||
|  | 8b75f4f961 | ||
|  | db9d6cc08c | ||
|  | 975503bf88 | ||
|  | 9f4ec29f9c | ||
|  | 5490228d71 | ||
|  | 408800ba89 | ||
|  | 773dd1d3e5 | ||
|  | 0d8b6ef853 | ||
|  | 63ef313ad5 | ||
|  | a63cfecbcc | ||
|  | d8e71ad38a | ||
|  | d6bf9a5748 | ||
|  | 75a3e03dfa | ||
|  | e0239cd48f | ||
|  | a490b8d437 | ||
|  | 1c1a2183a3 | ||
|  | 0f0c143c6f | ||
|  | 9d41373752 | ||
|  | 5d4471bbb3 | ||
|  | 8451df09a8 | ||
|  | 935fcf1c16 | ||
|  | f4a1cb5726 | ||
|  | 7d8cc58063 | ||
|  | 2005aa0754 | ||
|  | c4b5da9452 | ||
|  | c2bba964cb | ||
|  | 4b42ecf000 | ||
|  | b042fbb3ca | ||
|  | 617eb7bb93 | ||
|  | a3ccafb035 | ||
|  | 6065c6feec | ||
|  | 4cacbf3829 | ||
|  | 19840563e4 | ||
|  | a386dacce1 | ||
|  | 4f9ee4e522 | ||
|  | 3bd3689d80 | ||
|  | 7bf3611e9a | ||
|  | 506a2b8e61 | ||
|  | 964b09251b | ||
|  | 78a996a663 | ||
|  | 0fa5d00c8b | ||
|  | 79c316a05f | ||
|  | d7e0402733 | ||
|  | 40bd7b6ad3 | ||
|  | 93bee49246 | ||
|  | 8d51e9885a | 
							
								
								
									
										4
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							| @@ -52,3 +52,7 @@ updates: | ||||
|     interval: "daily" | ||||
|     time: "22:00" | ||||
|     timezone: Africa/Abidjan | ||||
| - package-ecosystem: "github-actions" | ||||
|   directory: "/" | ||||
|   schedule: | ||||
|     interval: "monthly" | ||||
|   | ||||
							
								
								
									
										680
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										680
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -26,6 +26,12 @@ env: | ||||
|   CI_WORKSPACE: ${{ github.workspace }} | ||||
|   TAS_ENVIRONMENT: ./packaging/tests/environment | ||||
|   TAS_SCRIPTS: ../alfresco-community-repo/packaging/tests/scripts | ||||
|   AUTH0_CLIENT_ID: ${{ secrets.AUTH0_OIDC_ADMIN_CLIENT_ID }} | ||||
|   AUTH0_CLIENT_SECRET: ${{ secrets.AUTH0_OIDC_CLIENT_SECRET }} | ||||
|   AUTH0_ADMIN_PASSWORD: ${{ secrets.AUTH0_OIDC_ADMIN_PASSWORD }} | ||||
|   # Report Portal settings | ||||
|   RP_LAUNCH_PREFIX: "${{ github.workflow }} - ${{ github.job }}" | ||||
|   RP_PROJECT: alfresco-backend | ||||
|  | ||||
| jobs: | ||||
|   prepare: | ||||
| @@ -35,7 +41,7 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
| @@ -46,16 +52,16 @@ jobs: | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   veracode: | ||||
|   veracode_sca: | ||||
|     name: "Source Clear Scan (SCA)" | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [prepare] | ||||
|     if: > | ||||
|       ((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request') && | ||||
|       (github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request') && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
| @@ -68,6 +74,59 @@ jobs: | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| #  SEE: ACS-6931 Currently times out after an hour. TO BE RESTORED after resolving the issue with Veracode Support. | ||||
| # | ||||
| #  veracode_sast: | ||||
| #    name: "Pipeline SAST Scan" | ||||
| #    runs-on: ubuntu-latest | ||||
| #    needs: [prepare] | ||||
| #    if: > | ||||
| #      (github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request') && | ||||
| #      github.actor != 'dependabot[bot]' && | ||||
| #      !contains(github.event.head_commit.message, '[skip tests]') && | ||||
| #      !contains(github.event.head_commit.message, '[force') | ||||
| #    steps: | ||||
| #      - uses: actions/checkout@v4 | ||||
| #      - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
| #      - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2 | ||||
| #      - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
| #      - uses: Alfresco/alfresco-build-tools/.github/actions/github-download-file@v5.6.0 | ||||
| #        with: | ||||
| #          token: ${{ secrets.BOT_GITHUB_TOKEN }} | ||||
| #          repository: "Alfresco/veracode-baseline-archive" | ||||
| #          file-path: "alfresco-community-repo/alfresco-community-repo-baseline.json" | ||||
| #          target: "baseline.json" | ||||
| #      - name: "Build" | ||||
| #        timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
| #        run: | | ||||
| #          bash ./scripts/ci/init.sh | ||||
| #          bash ./scripts/ci/build.sh | ||||
| #      - name: "Run SAST Scan" | ||||
| #        uses: veracode/Veracode-pipeline-scan-action@v1.0.10 | ||||
| #        with: | ||||
| #          vid: ${{ secrets.VERACODE_API_ID }} | ||||
| #          vkey: ${{ secrets.VERACODE_API_KEY }} | ||||
| #          file: "packaging/war/target/alfresco.war" | ||||
| #          fail_build: true | ||||
| #          project_name: alfresco-community-repo | ||||
| #          issue_details: true | ||||
| #          veracode_policy_name: Alfresco Default | ||||
| #          summary_output: true | ||||
| #          summary_output_file: results.json | ||||
| #          summary_display: true | ||||
| #          baseline_file: baseline.json | ||||
| #      - name: Upload scan result | ||||
| #        if: success() || failure() | ||||
| #        run: zip readable_output.zip results.json | ||||
| #      - name: Upload Artifact | ||||
| #        if: success() || failure() | ||||
| #        uses: actions/upload-artifact@v3 | ||||
| #        with: | ||||
| #          name: Veracode Pipeline-Scan Results (Human Readable) | ||||
| #          path: readable_output.zip | ||||
| #      - name: "Clean Maven cache" | ||||
| #        run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   pmd_scan: | ||||
|     name: "PMD Scan" | ||||
|     runs-on: ubuntu-latest | ||||
| @@ -78,27 +137,82 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: Alfresco/ya-pmd-scan@v2.0.5 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - uses: Alfresco/ya-pmd-scan@v3.0.0 | ||||
|         with: | ||||
|           classpath-build-command: "mvn test-compile -ntp -Pags -pl \"-:alfresco-community-repo-docker\"" | ||||
|  | ||||
|   all_unit_tests_suite: | ||||
|     name: "Core, Data-Model, Repository - AllUnitTestsSuite - Build and test" | ||||
|     name: ${{ matrix.testName }} - AllUnitTestsSuite - Build and test | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [prepare] | ||||
|     if: > | ||||
|       !contains(github.event.head_commit.message, '[skip repo]') && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         include: | ||||
|           - testName: Core | ||||
|             testModule: core | ||||
|             testAttributes: "-Dtest=AllCoreUnitTestSuite" | ||||
|           - testName: Data-Model | ||||
|             testModule: data-model | ||||
|             testAttributes: "-Dtest=AllDataModelUnitTestSuite" | ||||
|           - testName: Repository | ||||
|             testModule: repository | ||||
|             testAttributes: "-Dtest=AllUnitTestsSuite" | ||||
|           - testName: Mmt | ||||
|             testModule: mmt | ||||
|             testAttributes: "-Dtest=AllMmtUnitTestSuite" | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.testModule }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           mvn -B test -pl core,data-model -am -DfailIfNoTests=false | ||||
|           mvn -B test -pl "repository,mmt" -am "-Dtest=AllUnitTestsSuite,AllMmtUnitTestSuite" -DfailIfNoTests=false | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn -B test -pl ${{ matrix.testModule }} -am ${{ matrix.testAttributes }} -DfailIfNoTests=false "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -127,7 +241,7 @@ jobs: | ||||
|     env: | ||||
|       REQUIRES_INSTALLED_ARTIFACTS: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
| @@ -139,9 +253,45 @@ jobs: | ||||
|       - name: "Set transformers tag" | ||||
|         run: echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV | ||||
|       - name: "Set up the environment" | ||||
|         run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.testSuite }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl remote-api -Dtest=${{ matrix.testSuite }} -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)"   | ||||
|           mvn -B test -pl remote-api -Dtest=${{ matrix.testSuite }} -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|             echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -161,18 +311,54 @@ jobs: | ||||
|       matrix: | ||||
|         version: ['10.2.18', '10.4', '10.5'] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: Run MariaDB ${{ matrix.version }} database | ||||
|         run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d | ||||
|         env: | ||||
|           MARIADB_VERSION: ${{ matrix.version }} | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.version }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -188,18 +374,54 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run MariaDB 10.6 database" | ||||
|         run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d | ||||
|         env: | ||||
|           MARIADB_VERSION: 10.6 | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -215,18 +437,54 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run MySQL 8 database" | ||||
|         run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mysql up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mysql up -d | ||||
|         env: | ||||
|           MYSQL_VERSION: 8 | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)"  | ||||
|           mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -241,18 +499,54 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run PostgreSQL 13.12 database" | ||||
|         run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | ||||
|         env: | ||||
|           POSTGRES_VERSION: 13.12 | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)"  | ||||
|           mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -267,18 +561,54 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run PostgreSQL 14.9 database" | ||||
|         run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | ||||
|         env: | ||||
|           POSTGRES_VERSION: 14.9 | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)"  | ||||
|           mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -293,18 +623,54 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run PostgreSQL 15.4 database" | ||||
|         run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | ||||
|         env: | ||||
|           POSTGRES_VERSION: 15.4 | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)"  | ||||
|           mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -317,21 +683,57 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run ActiveMQ" | ||||
|         run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile activemq up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile activemq up -d | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.13.1 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn -B test -pl repository -am -Dtest=MessagingUnitTestSuite -DfailIfNoTests=false "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.13.1 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   repository_app_context_test_suites: | ||||
|     name: Repository - ${{ matrix.testSuite }} | ||||
|     name: Repository - ${{ matrix.testSuite }} ${{ matrix.idp }} | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [prepare] | ||||
|     if: > | ||||
| @@ -350,9 +752,14 @@ jobs: | ||||
|             compose-profile: with-transform-core-aio | ||||
|           - testSuite: AppContext04TestSuite | ||||
|             compose-profile: with-transform-core-aio | ||||
|           - testSuite: AppContext05TestSuite | ||||
|             compose-profile: with-sso | ||||
|             mvn-options: '-Didentity-service.auth-server-url=http://${HOST_IP}:8999/auth -Dauthentication.chain=identity-service1:identity-service,alfrescoNtlm1:alfrescoNtlm' | ||||
|             idp: Keycloak | ||||
|           - testSuite: AppContext05TestSuite | ||||
|             compose-profile: default | ||||
|             mvn-options: '"-Didentity-service.auth-server-url=http://${HOST_IP}:8999/auth"' | ||||
|             mvn-options: '-Didentity-service.auth-server-url=https://dev-ps-alfresco.auth0.com/ -Dauthentication.chain=identity-service1:identity-service,alfrescoNtlm1:alfrescoNtlm -Didentity-service.audience=http://localhost:3000 -Didentity-service.resource=${AUTH0_CLIENT_ID} -Didentity-service.credentials.secret=${AUTH0_CLIENT_SECRET} -Didentity-service.public-client=false -Didentity-service.realm= -Didentity-service.client-id.validation.disabled=false -Dadmin.user=admin@alfresco.com -Dadmin.password=${AUTH0_ADMIN_PASSWORD} -Dauth0.enabled=true -Dauth0.admin.password=${AUTH0_ADMIN_PASSWORD} -Didentity-service.principal-attribute=nickname' | ||||
|             idp: Auth0 | ||||
|           - testSuite: AppContext06TestSuite | ||||
|             compose-profile: with-transform-core-aio | ||||
|           - testSuite: AppContextExtraTestSuite | ||||
| @@ -368,7 +775,7 @@ jobs: | ||||
|             disabledHostnameVerification: false | ||||
|             mvn-options: '-Dencryption.ssl.keystore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.keystore -Dencryption.ssl.truststore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.truststore' | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
| @@ -376,6 +783,8 @@ jobs: | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Set transformers tag" | ||||
|         run: echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV | ||||
|       - name: "Set the host IP" | ||||
|         run: echo "HOST_IP=$(hostname  -I | cut -f1 -d' ')" >> $GITHUB_ENV | ||||
|       - name: "Generate Keystores and Truststores for Mutual TLS configuration" | ||||
|         if: ${{ matrix.mtls }} | ||||
|         run: | | ||||
| @@ -388,13 +797,45 @@ jobs: | ||||
|             echo "HOSTNAME_VERIFICATION_DISABLED=false" >> "$GITHUB_ENV" | ||||
|           fi | ||||
|       - name: "Set up the environment" | ||||
|         run: | | ||||
|           if [ -e ./scripts/ci/tests/${{ matrix.testSuite }}-setup.sh ]; then | ||||
|             bash ./scripts/ci/tests/${{ matrix.testSuite }}-setup.sh | ||||
|           fi | ||||
|           docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.testSuite }} ${{ matrix.idp }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl repository -am -Dtest=${{ matrix.testSuite }} -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco ${{ matrix.mvn-options }} | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn -B test -pl repository -am -Dtest=${{ matrix.testSuite }} -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco ${{ matrix.mvn-options }} "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -439,7 +880,7 @@ jobs: | ||||
|     env: | ||||
|       REQUIRES_LOCAL_IMAGES: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
| @@ -455,16 +896,51 @@ jobs: | ||||
|       - name: "Build TAS integration tests" | ||||
|         if: ${{ matrix.test-name }} == 'Integration TAS tests' | ||||
|         run: mvn install -pl :alfresco-community-repo-integration-test -am -DskipTests -Pall-tas-tests | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.test-name }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         id: tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: mvn -B verify -f packaging/tests/${{ matrix.pom-dir }}/pom.xml -Pall-tas-tests,${{ matrix.test-profile }} -Denvironment=default -DrunBugs=false | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn -B verify -f packaging/tests/${{ matrix.pom-dir }}/pom.xml -Pall-tas-tests,${{ matrix.test-profile }} -Denvironment=default -DrunBugs=false "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Print output after success" | ||||
|         if: ${{ always() && steps.tests.outcome == 'success' }} | ||||
|         run: ${TAS_SCRIPTS}/output_tests_run.sh "packaging/tests/${{ matrix.pom-dir }}" | ||||
|       - name: "Print output after failure" | ||||
|         if: ${{ always() && steps.tests.outcome == 'failure' }} | ||||
|         run: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/${{ matrix.pom-dir }}" | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -477,16 +953,52 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run Postgres 15.4 database" | ||||
|         run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile postgres up -d | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile postgres up -d | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl :alfresco-share-services -am -Dtest=ShareServicesTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | ||||
|         id: run-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn -B test -pl :alfresco-share-services -am -Dtest=ShareServicesTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -507,7 +1019,7 @@ jobs: | ||||
|     env: | ||||
|       REQUIRES_INSTALLED_ARTIFACTS: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
| @@ -516,9 +1028,21 @@ jobs: | ||||
|         run: | | ||||
|           bash ./scripts/ci/init.sh | ||||
|           bash ./scripts/ci/build.sh | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} 0${{ matrix.part }} - (PostgreSQL) ${{ matrix.test-name }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Verify" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: mvn --file amps/ags/pom.xml -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt${{ matrix.part }} ${{ env.LOG_WARN }} | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn --file amps/ags/pom.xml -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt${{ matrix.part }} ${{ env.LOG_WARN }} "${args[@]}" | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -539,7 +1063,7 @@ jobs: | ||||
|     env: | ||||
|       REQUIRES_INSTALLED_ARTIFACTS: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
| @@ -548,9 +1072,21 @@ jobs: | ||||
|         run: | | ||||
|           bash ./scripts/ci/init.sh | ||||
|           bash ./scripts/ci/build.sh | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} 0${{ matrix.part }} - (MySQL) ${{ matrix.test-name }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Verify" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: mvn --file amps/ags/pom.xml -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt${{ matrix.part }} ${{ env.LOG_WARN }} | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn --file amps/ags/pom.xml -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt${{ matrix.part }} ${{ env.LOG_WARN }} "${args[@]}" | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -567,7 +1103,7 @@ jobs: | ||||
|     env: | ||||
|       REQUIRES_LOCAL_IMAGES: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
| @@ -582,9 +1118,45 @@ jobs: | ||||
|           ${{ env.TAS_SCRIPTS }}/start-compose.sh ./amps/ags/rm-community/rm-community-repo/docker-compose.yml | ||||
|           ${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8080/alfresco" | ||||
|           mvn -B install -pl :alfresco-governance-services-automation-community-rest-api -am -Pags -Pall-tas-tests -DskipTests | ||||
|       - name: "Prepare Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v5.1.0 | ||||
|         id: rp-prepare | ||||
|         with: | ||||
|           rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-use-static-launch-name: true | ||||
|       - name: "Add GitHub Step Summary" | ||||
|         env: | ||||
|           RP_ENABLED: ${{ steps.rp-prepare.outputs.enabled }} | ||||
|           RP_KEY: ${{ steps.rp-prepare.outputs.key }} | ||||
|           RP_URL: ${{ steps.rp-prepare.outputs.url }} | ||||
|         run: bash scripts/ci/add_step_summary.sh | ||||
|       - name: "Test" | ||||
|         id: run-tests | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -Dskip.automationtests=false -Pags -Pall-tas-tests | ||||
|         env: | ||||
|           RP_OPTS: ${{ steps.rp-prepare.outputs.mvn-opts }} | ||||
|         run: | | ||||
|           eval "args=($RP_OPTS)" | ||||
|           mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -Dskip.automationtests=false -Pags -Pall-tas-tests "${args[@]}" | ||||
|         continue-on-error: true | ||||
|       - name: "Update GitHub Step Summary" | ||||
|         run: | | ||||
|           echo "#### ⏱ After Tests: $(date -u +'%Y-%m-%d %H:%M:%S%:z')" >> $GITHUB_STEP_SUMMARY | ||||
|       - name: "Summarize Report Portal" | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v5.1.0 | ||||
|         id: rp-summarize | ||||
|         with: | ||||
|           tests-outcome: ${{ steps.run-tests.outcome }} | ||||
|           rp-launch-key: ${{ steps.rp-prepare.outputs.key }} | ||||
|           rp-project: ${{ env.RP_PROJECT }} | ||||
|           rp-token: ${{ secrets.REPORT_PORTAL_TOKEN }} | ||||
|       - name: "Exit on failure" | ||||
|         if: steps.run-tests.outcome != 'success' | ||||
|         run: | | ||||
|           echo "::error title=run-tests::Tests failed: re-throwing on error." | ||||
|           exit 1 | ||||
|       - name: "Configure AWS credentials" | ||||
|         if: ${{ always() }} | ||||
|         uses: aws-actions/configure-aws-credentials@v1 | ||||
| @@ -613,7 +1185,7 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v1.35.2       | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.35.2 | ||||
|   | ||||
							
								
								
									
										4
									
								
								.github/workflows/master_release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/master_release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -31,7 +31,7 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[no release]') && | ||||
|       github.event_name != 'pull_request' | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|         with: | ||||
|           persist-credentials: false | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
| @@ -60,7 +60,7 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[no downstream]') && | ||||
|       github.event_name != 'pull_request' | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - uses: actions/checkout@v4 | ||||
|         with: | ||||
|           persist-credentials: false | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.35.2 | ||||
|   | ||||
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -39,6 +39,9 @@ dependency-reduced-pom.xml | ||||
|  | ||||
| hs_err_pid* | ||||
|  | ||||
| # Development | ||||
| repository/scripts/hazelcast-init/alfresco-hazelcast-config.xml | ||||
|  | ||||
| # Alfresco runtime | ||||
| alf_data | ||||
|  | ||||
|   | ||||
| @@ -71,7 +71,7 @@ the _alfresco-internal_ repository: | ||||
|    </snapshots> | ||||
| </repository> | ||||
| ``` | ||||
|   | ||||
|  | ||||
|  | ||||
| For additional instructions you can check the official Maven documentation: | ||||
| * [setting up repositories](https://maven.apache.org/guides/mini/guide-multiple-repositories.html) | ||||
| @@ -227,7 +227,7 @@ If only the Community or Enterprise images need to be built than the same comman | ||||
|  | ||||
| The Docker images of the Repo can be started independently from Share running the following command in the rm-repo-enterprise or rm-repo-community folder which contains the Docker-compose.yml file: | ||||
| ``` | ||||
| docker-compose up | ||||
| docker compose up | ||||
| ``` | ||||
| > Be aware of the fact that the Share images can not be started independently from Repo | ||||
|  | ||||
| @@ -237,5 +237,5 @@ e.g. In order to start an instance of rm-enterprise-repo and rm-enterprise-share | ||||
|  | ||||
| If you have a license for jRebel then this can be used from the rm-community-share or rm-enterprise-share directories with: | ||||
| ``` | ||||
| docker-compose -f docker-compose.yml -f jrebel-docker-compose.yml --project-name agsdev up --build --force-recreate | ||||
| docker compose -f docker-compose.yml -f jrebel-docker-compose.yml --project-name agsdev up --build --force-recreate | ||||
| ``` | ||||
|   | ||||
| @@ -4,9 +4,9 @@ set -x | ||||
| # Display running containers | ||||
| docker ps | ||||
|  | ||||
| alfrescoContainerId=$(docker ps -a | grep '_alfresco_' | awk '{print $1}') | ||||
| shareContainerId=$(docker ps -a | grep '_share_' | awk '{print $1}') | ||||
| solrContainerId=$(docker ps -a | grep '_search_' | awk '{print $1}') | ||||
| alfrescoContainerId=$(docker ps -a | grep '\-alfresco\-' | awk '{print $1}') | ||||
| shareContainerId=$(docker ps -a | grep '\-share\-' | awk '{print $1}') | ||||
| solrContainerId=$(docker ps -a | grep '\-search\-' | awk '{print $1}') | ||||
|  | ||||
| docker logs $alfrescoContainerId > alfresco.log | ||||
| if [ -n "$shareContainerId" ]; then | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-community-repo-amps</artifactId> | ||||
|       <version>23.1.0.255</version> | ||||
|       <version>23.3.0.38-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <modules> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-governance-services-community-parent</artifactId> | ||||
|       <version>23.1.0.255</version> | ||||
|       <version>23.3.0.38-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <modules> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-governance-services-automation-community-repo</artifactId> | ||||
|       <version>23.1.0.255</version> | ||||
|       <version>23.3.0.38-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <build> | ||||
| @@ -74,6 +74,22 @@ | ||||
|          <artifactId>alfresco-testng</artifactId> | ||||
|          <version>1.1</version> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>com.epam.reportportal</groupId> | ||||
|          <artifactId>agent-java-testng</artifactId> | ||||
|          <scope>test</scope> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>com.squareup.okhttp3</groupId> | ||||
|          <artifactId>okhttp</artifactId> | ||||
|          <scope>test</scope> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>org.awaitility</groupId> | ||||
|          <artifactId>awaitility</artifactId> | ||||
|          <version>${dependency.awaitility.version}</version> | ||||
|          <scope>test</scope> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>org.apache.commons</groupId> | ||||
|          <artifactId>commons-collections4</artifactId> | ||||
| @@ -96,11 +112,11 @@ | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>org.bouncycastle</groupId> | ||||
|          <artifactId>bcprov-jdk15to18</artifactId> | ||||
|          <artifactId>bcprov-jdk18on</artifactId> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>org.bouncycastle</groupId> | ||||
|          <artifactId>bcpkix-jdk15to18</artifactId> | ||||
|          <artifactId>bcpkix-jdk18on</artifactId> | ||||
|       </dependency> | ||||
|    </dependencies> | ||||
| </project> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
| @@ -39,6 +39,7 @@ import org.alfresco.rest.rm.community.requests.gscore.GSCoreAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.ActionsExecutionAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.FilePlanAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.FilesAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.HoldsAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RMSiteAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RMUserAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RecordCategoryAPI; | ||||
| @@ -243,4 +244,14 @@ public class RestAPIFactory | ||||
|     { | ||||
|         return getGSCoreAPI(null).usingActionsExecutionsAPI(); | ||||
|     } | ||||
|  | ||||
|     public HoldsAPI getHoldsAPI() | ||||
|     { | ||||
|         return getGSCoreAPI(null).usingHoldsAPI(); | ||||
|     } | ||||
|  | ||||
|     public HoldsAPI getHoldsAPI(UserModel userModel) | ||||
|     { | ||||
|         return getGSCoreAPI(userModel).usingHoldsAPI(); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
| @@ -61,7 +61,6 @@ public class FilePlanComponentFields | ||||
|     public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS = "rma:recordSearchDispositionEvents"; | ||||
|     public static final String PROPERTIES_DECLASSIFICATION_REVIEW_COMPLETED_BY = "rma:declassificationReviewCompletedBy"; | ||||
|     public static final String PROPERTIES_DECLASSIFICATION_REVIEW_COMPLETED_AT = "rma:declassificationReviewCompletedAt"; | ||||
|      | ||||
|  | ||||
|     /** File plan properties */ | ||||
|     public static final String PROPERTIES_COMPONENT_ID = "st:componentId"; | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -0,0 +1,83 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import java.util.Objects; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class Hold extends TestModel | ||||
| { | ||||
|     @JsonProperty(required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     private String description; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     private String reason; | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) | ||||
|     { | ||||
|         if (this == o) | ||||
|         { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) | ||||
|         { | ||||
|             return false; | ||||
|         } | ||||
|         Hold hold = (Hold) o; | ||||
|         return Objects.equals(id, hold.id) && Objects.equals(name, hold.name) | ||||
|             && Objects.equals(description, hold.description) && Objects.equals(reason, hold.reason); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() | ||||
|     { | ||||
|         return Objects.hash(id, name, description, reason); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,60 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.rest.search.RestRequestQueryModel; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold bulk request | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @Builder | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldBulkOperation extends TestModel | ||||
| { | ||||
|     public enum HoldBulkOperationType | ||||
|     { | ||||
|         ADD | ||||
|     } | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     private RestRequestQueryModel query; | ||||
|     @JsonProperty(required = true) | ||||
|     private HoldBulkOperationType op; | ||||
| } | ||||
| @@ -0,0 +1,50 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold bulk request entry | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldBulkOperationEntry | ||||
| { | ||||
|     private String bulkStatusId; | ||||
|  | ||||
|     private long totalItems; | ||||
| } | ||||
| @@ -0,0 +1,68 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold bulk request | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldBulkStatus extends TestModel | ||||
| { | ||||
|     private String bulkStatusId; | ||||
|  | ||||
|     private String startTime; | ||||
|  | ||||
|     private String endTime; | ||||
|  | ||||
|     private long processedItems; | ||||
|  | ||||
|     private long errorsCount; | ||||
|  | ||||
|     private long totalItems; | ||||
|  | ||||
|     private String lastError; | ||||
|  | ||||
|     private Status status; | ||||
|  | ||||
|     public enum Status | ||||
|     { | ||||
|         PENDING, | ||||
|         IN_PROGRESS, | ||||
|         DONE | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,38 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| /** | ||||
|  * Handle collection of {@link HoldBulkStatusEntry} | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| public class HoldBulkStatusCollection extends RestModels<HoldBulkStatusEntry, HoldBulkStatusCollection> | ||||
| { | ||||
| } | ||||
| @@ -0,0 +1,46 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| @Builder | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldBulkStatusEntry extends RestModels<HoldBulkStatus, HoldBulkStatusEntry> | ||||
| { | ||||
|     private HoldBulkStatus entry; | ||||
| } | ||||
| @@ -0,0 +1,52 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold child | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @Builder | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldChild extends TestModel | ||||
| { | ||||
|     @JsonProperty(required = true) | ||||
|     private String id; | ||||
| } | ||||
| @@ -0,0 +1,38 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| /** | ||||
|  * Handle collection of {@link HoldChildEntry} | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| public class HoldChildCollection extends RestModels<HoldChildEntry, HoldChildCollection> | ||||
| { | ||||
| } | ||||
| @@ -0,0 +1,52 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold child entry | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldChildEntry extends RestModels<Hold, HoldChildEntry> | ||||
| { | ||||
|     @JsonProperty | ||||
|     private HoldChild entry; | ||||
| } | ||||
| @@ -0,0 +1,38 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| /** | ||||
|  * Handle collection of {@link HoldEntry} | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| public class HoldCollection extends RestModels<HoldEntry, HoldCollection> | ||||
| { | ||||
| } | ||||
| @@ -0,0 +1,52 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold deletion reason | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldDeletionReason extends TestModel | ||||
| { | ||||
|     @JsonProperty | ||||
|     private String reason; | ||||
| } | ||||
| @@ -0,0 +1,52 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold child entry | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldDeletionReasonEntry extends RestModels<HoldDeletionReason, HoldDeletionReasonEntry> | ||||
| { | ||||
|     @JsonProperty | ||||
|     private HoldDeletionReason entry; | ||||
| } | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
| @@ -26,31 +26,27 @@ | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold entry | ||||
|  * | ||||
|  * @author Rodica Sutu | ||||
|  * @since 3.2 | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class HoldEntry extends TestModel | ||||
| public class HoldEntry extends RestModels<Hold, HoldEntry> | ||||
| { | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeRef; | ||||
|     @JsonProperty | ||||
|     private Hold entry; | ||||
| } | ||||
|   | ||||
| @@ -0,0 +1,56 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.model.hold.v0; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold entry | ||||
|  * | ||||
|  * @author Rodica Sutu | ||||
|  * @since 3.2 | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class HoldEntry extends TestModel | ||||
| { | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeRef; | ||||
| } | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
| @@ -37,6 +37,7 @@ import org.alfresco.rest.rm.community.requests.gscore.api.ActionsExecutionAPI; | ||||
| import org.alfresco.rest.rm.community.requests.RMModelRequest; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.FilePlanAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.FilesAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.HoldsAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RMSiteAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RMUserAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RecordCategoryAPI; | ||||
| @@ -190,4 +191,6 @@ public class GSCoreAPI extends RMModelRequest | ||||
|     { | ||||
|         return new ActionsExecutionAPI(getRmRestWrapper()); | ||||
|     } | ||||
|  | ||||
|     public HoldsAPI usingHoldsAPI() { return new HoldsAPI(getRmRestWrapper()); } | ||||
| } | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
| @@ -38,6 +38,8 @@ import static org.springframework.http.HttpMethod.PUT; | ||||
|  | ||||
| import org.alfresco.rest.core.RMRestWrapper; | ||||
| import org.alfresco.rest.rm.community.model.fileplan.FilePlan; | ||||
| import org.alfresco.rest.rm.community.model.hold.Hold; | ||||
| import org.alfresco.rest.rm.community.model.hold.HoldCollection; | ||||
| import org.alfresco.rest.rm.community.model.recordcategory.RecordCategory; | ||||
| import org.alfresco.rest.rm.community.model.recordcategory.RecordCategoryCollection; | ||||
| import org.alfresco.rest.rm.community.requests.RMModelRequest; | ||||
| @@ -213,4 +215,74 @@ public class FilePlanAPI extends RMModelRequest | ||||
|                 parameters)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Creates a hold. | ||||
|      * | ||||
|      * @param holdModel The hold model | ||||
|      * @param filePlanId The identifier of a file plan | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The created {@link Hold} | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>{@code filePlanId} is not a valid format or {@code filePlanId} is invalid</li> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to add children to {@code filePlanId}</li> | ||||
|      *  <li>{@code filePlanIds} does not exist</li> | ||||
|      *  <li>new name clashes with an existing node in the current parent container</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public Hold createHold(Hold holdModel, String filePlanId, String parameters) | ||||
|     { | ||||
|         mandatoryString("filePlanId", filePlanId); | ||||
|         mandatoryObject("holdModel", holdModel); | ||||
|  | ||||
|         return getRmRestWrapper().processModel(Hold.class, requestWithBody( | ||||
|             POST, | ||||
|             toJson(holdModel), | ||||
|             "file-plans/{filePlanId}/holds", | ||||
|             filePlanId, | ||||
|             parameters | ||||
|                                                                           )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #createHold(Hold, String, String)} | ||||
|      */ | ||||
|     public Hold createHold(Hold holdModel, String filePlanId) | ||||
|     { | ||||
|         return createHold(holdModel, filePlanId, EMPTY); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Gets the holds of a file plan. | ||||
|      * | ||||
|      * @param filePlanId The identifier of a file plan | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The {@link HoldCollection} for the given {@code filePlanId} | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to read {@code filePlanId}</li> | ||||
|      *  <li>{@code filePlanId} does not exist</li> | ||||
|      *</ul> | ||||
|      */ | ||||
|     public HoldCollection getHolds(String filePlanId, String parameters) | ||||
|     { | ||||
|         mandatoryString("filePlanId", filePlanId); | ||||
|  | ||||
|         return getRmRestWrapper().processModels(HoldCollection.class, simpleRequest( | ||||
|             GET, | ||||
|             "file-plans/{filePlanId}/holds?{parameters}", | ||||
|             filePlanId, | ||||
|             parameters | ||||
|                                                                                    )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #getHolds(String, String)} | ||||
|      */ | ||||
|     public HoldCollection getHolds(String filePlanId) | ||||
|     { | ||||
|         return getHolds(filePlanId, EMPTY); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -0,0 +1,403 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.requests.gscore.api; | ||||
|  | ||||
| import static org.alfresco.rest.core.RestRequest.requestWithBody; | ||||
| import static org.alfresco.rest.core.RestRequest.simpleRequest; | ||||
| import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject; | ||||
| import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString; | ||||
| import static org.alfresco.rest.rm.community.util.PojoUtility.toJson; | ||||
| import static org.apache.commons.lang3.StringUtils.EMPTY; | ||||
| import static org.springframework.http.HttpMethod.DELETE; | ||||
| import static org.springframework.http.HttpMethod.GET; | ||||
| import static org.springframework.http.HttpMethod.POST; | ||||
| import static org.springframework.http.HttpMethod.PUT; | ||||
|  | ||||
| import org.alfresco.rest.core.RMRestWrapper; | ||||
| import org.alfresco.rest.rm.community.model.hold.Hold; | ||||
| import org.alfresco.rest.rm.community.model.hold.HoldBulkOperation; | ||||
| import org.alfresco.rest.rm.community.model.hold.HoldBulkOperationEntry; | ||||
| import org.alfresco.rest.rm.community.model.hold.HoldBulkStatus; | ||||
| import org.alfresco.rest.rm.community.model.hold.HoldBulkStatusCollection; | ||||
| import org.alfresco.rest.rm.community.model.hold.HoldChild; | ||||
| import org.alfresco.rest.rm.community.model.hold.HoldChildCollection; | ||||
| import org.alfresco.rest.rm.community.model.hold.HoldDeletionReason; | ||||
| import org.alfresco.rest.rm.community.requests.RMModelRequest; | ||||
|  | ||||
| /** | ||||
|  * Holds REST API Wrapper | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| public class HoldsAPI extends RMModelRequest | ||||
| { | ||||
|  | ||||
|     /** | ||||
|      * @param rmRestWrapper | ||||
|      */ | ||||
|     public HoldsAPI(RMRestWrapper rmRestWrapper) | ||||
|     { | ||||
|         super(rmRestWrapper); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Gets a hold. | ||||
|      * | ||||
|      * @param holdId The identifier of a hold | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The {@link Hold} for the given {@code holdId} | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>{@code holdId} is not a valid format</li> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to read {@code holdId}</li> | ||||
|      *  <li>{@code holdId} does not exist</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public Hold getHold(String holdId, String parameters) | ||||
|     { | ||||
|         mandatoryString("holdId", holdId); | ||||
|  | ||||
|         return getRmRestWrapper().processModel(Hold.class, simpleRequest( | ||||
|             GET, | ||||
|             "holds/{holdId}?{parameters}", | ||||
|             holdId, | ||||
|             parameters | ||||
|                                                                         )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #getHold(String, String)} | ||||
|      */ | ||||
|     public Hold getHold(String holdId) | ||||
|     { | ||||
|         mandatoryString("holdId", holdId); | ||||
|  | ||||
|         return getHold(holdId, EMPTY); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Updates a hold. | ||||
|      * | ||||
|      * @param holdModel     The hold model which holds the information | ||||
|      * @param holdId        The identifier of the hold | ||||
|      * @param parameters          The URL parameters to add | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>the update request is invalid or {@code holdId} is not a valid format or {@code holdModel} is invalid</li> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to update {@code holdId}</li> | ||||
|      *  <li>{@code holdId} does not exist</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public Hold updateHold(Hold holdModel, String holdId, String parameters) | ||||
|     { | ||||
|         mandatoryObject("holdModel", holdModel); | ||||
|         mandatoryString("holdId", holdId); | ||||
|  | ||||
|         return getRmRestWrapper().processModel(Hold.class, requestWithBody( | ||||
|             PUT, | ||||
|             toJson(holdModel), | ||||
|             "holds/{holdId}?{parameters}", | ||||
|             holdId, | ||||
|             parameters | ||||
|                                                                             )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #updateHold(Hold, String, String)} | ||||
|      */ | ||||
|     public Hold updateHold(Hold holdModel, String holdId) | ||||
|     { | ||||
|         mandatoryObject("holdModel", holdModel); | ||||
|         mandatoryString("holdId", holdId); | ||||
|  | ||||
|         return updateHold(holdModel, holdId, EMPTY); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Deletes a hold. | ||||
|      * | ||||
|      * @param holdId The identifier of a hold | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>{@code holdId} is not a valid format</li> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to delete {@code holdId}</li> | ||||
|      *  <li>{@code holdId} does not exist</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public void deleteHold(String holdId) | ||||
|     { | ||||
|         mandatoryString("holdId", holdId); | ||||
|  | ||||
|         getRmRestWrapper().processEmptyModel(simpleRequest( | ||||
|             DELETE, | ||||
|             "holds/{holdId}", | ||||
|             holdId | ||||
|                                                           )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Deletes a hold and stores a reason for deletion in the audit log. | ||||
|      * | ||||
|      * @param reason        The reason for hold deletion | ||||
|      * @param holdId        The identifier of a hold | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>{@code holdId} is not a valid format or {@code reason} is invalid</li> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to delete {@code holdId}</li> | ||||
|      *  <li>{@code holdId} does not exist</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public HoldDeletionReason deleteHoldWithReason(HoldDeletionReason reason, String holdId) | ||||
|     { | ||||
|         mandatoryObject("reason", reason); | ||||
|         mandatoryString("holdId", holdId); | ||||
|  | ||||
|         return getRmRestWrapper().processModel(HoldDeletionReason.class, requestWithBody( | ||||
|             POST, | ||||
|             toJson(reason), | ||||
|             "holds/{holdId}/delete", | ||||
|             holdId | ||||
|                                                           )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Adds the relationship between a child and a parent hold. | ||||
|      * | ||||
|      * @param holdChild The hold child model | ||||
|      * @param holdId The identifier of a hold | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The created {@link Hold} | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>{@code holdId} is not a valid format or {@code holdId} is invalid</li> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to add children to {@code holdId}</li> | ||||
|      *  <li>{@code holdId} does not exist</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public HoldChild addChildToHold(HoldChild holdChild, String holdId, String parameters) | ||||
|     { | ||||
|         mandatoryObject("holdId", holdId); | ||||
|  | ||||
|         return getRmRestWrapper().processModel(HoldChild.class, requestWithBody( | ||||
|             POST, | ||||
|             toJson(holdChild), | ||||
|             "holds/{holdId}/children", | ||||
|             holdId, | ||||
|             parameters)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #addChildToHold(HoldChild, String, String)} | ||||
|      */ | ||||
|     public HoldChild addChildToHold(HoldChild holdChild, String holdId) | ||||
|     { | ||||
|         return addChildToHold(holdChild, holdId, EMPTY); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Gets the children of a hold. | ||||
|      * | ||||
|      * @param holdId The identifier of a hold | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The {@link HoldChildCollection} for the given {@code holdId} | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to read {@code holdId}</li> | ||||
|      *  <li>{@code holdId} does not exist</li> | ||||
|      *</ul> | ||||
|      */ | ||||
|     public HoldChildCollection getChildren(String holdId, String parameters) | ||||
|     { | ||||
|         mandatoryString("holdId", holdId); | ||||
|  | ||||
|         return getRmRestWrapper().processModels(HoldChildCollection.class, simpleRequest( | ||||
|             GET, | ||||
|             "holds/{holdId}/children", | ||||
|             holdId, | ||||
|             parameters | ||||
|                                                                                    )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #getChildren(String, String)} | ||||
|      */ | ||||
|     public HoldChildCollection getChildren(String holdId) | ||||
|     { | ||||
|         return getChildren(holdId, EMPTY); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Deletes the relationship between a child and a parent hold. | ||||
|      * | ||||
|      * @param holdChildId The identifier of hold child | ||||
|      * @param holdId The identifier of a hold | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>{@code holdId} or {@code holdChildId} is invalid</li> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to delete children from {@code holdId}</li> | ||||
|      *  <li>{@code holdId} does not exist</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public void deleteHoldChild(String holdId, String holdChildId, String parameters) | ||||
|     { | ||||
|         mandatoryString("holdId", holdId); | ||||
|         mandatoryString("holdChildId", holdChildId); | ||||
|  | ||||
|         getRmRestWrapper().processEmptyModel(simpleRequest( | ||||
|             DELETE, | ||||
|             "holds/{holdId}/children/{holdChildId}", | ||||
|             holdId, | ||||
|             holdChildId, | ||||
|             parameters | ||||
|                                                           )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #deleteHoldChild(String, String, String)} | ||||
|      */ | ||||
|     public void deleteHoldChild(String holdId, String holdChildId) | ||||
|     { | ||||
|         deleteHoldChild(holdId, holdChildId, EMPTY); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Starts a bulk process for a hold. | ||||
|      * | ||||
|      * @param holdBulkOperation The bulk operation details | ||||
|      * @param hold The identifier of a hold | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The {@link HoldBulkOperationEntry} for the started bulk process | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>{@code hold} or {@code holdBulkOperation} is invalid</li> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to start a bulk process for {@code hold}</li> | ||||
|      *  <li>{@code hold} does not exist</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public HoldBulkOperationEntry startBulkProcess(HoldBulkOperation holdBulkOperation, String hold, String parameters) | ||||
|     { | ||||
|         mandatoryObject("holdBulkOperation", holdBulkOperation); | ||||
|         mandatoryString("hold", hold); | ||||
|  | ||||
|         return getRmRestWrapper().processModel(HoldBulkOperationEntry.class, requestWithBody( | ||||
|             POST, | ||||
|             toJson(holdBulkOperation), | ||||
|             "holds/{hold}/bulk", | ||||
|             hold, | ||||
|             parameters | ||||
|                                                                                           )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #startBulkProcess(HoldBulkOperation, String, String)} | ||||
|      */ | ||||
|     public HoldBulkOperationEntry startBulkProcess(HoldBulkOperation holdBulkOperation, String hold) | ||||
|     { | ||||
|         return startBulkProcess(holdBulkOperation, hold, EMPTY); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Gets the status of a bulk process for a hold. | ||||
|      * | ||||
|      * @param holdId The identifier of a hold | ||||
|      * @param holdBulkStatusId The identifier of a bulk status operation | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The {@link HoldBulkStatus} for the given {@code holdId} and {@code holdBulkStatusId} | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>{@code holdId} or {@code holdBulkStatusId} is invalid</li> | ||||
|      *  <li>authentication fails</li> | ||||
|      *  <li>current user does not have permission to get the bulk status for {@code holdId}</li> | ||||
|      *  <li>{@code holdId} or {@code holdBulkStatusId} does not exist</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public HoldBulkStatus getBulkStatus(String holdId, String holdBulkStatusId, String parameters) | ||||
|     { | ||||
|         mandatoryString("holdId", holdId); | ||||
|         mandatoryString("holdBulkStatusId", holdBulkStatusId); | ||||
|  | ||||
|         return getRmRestWrapper().processModel(HoldBulkStatus.class, simpleRequest( | ||||
|             GET, | ||||
|             "holds/{holdId}/bulk-statuses/{holdBulkStatusId}", | ||||
|             holdId, | ||||
|             holdBulkStatusId, | ||||
|             parameters | ||||
|                                                                                    )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #getBulkStatus(String, String, String)} | ||||
|      */ | ||||
|     public HoldBulkStatus getBulkStatus(String holdId, String holdBulkStatusId) | ||||
|     { | ||||
|         return getBulkStatus(holdId, holdBulkStatusId, EMPTY); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Gets the statuses of all bulk processes for a hold. | ||||
|      * | ||||
|      * @param holdId The identifier of a hold | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The {@link HoldBulkStatusCollection} for the given {@code holdId} | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *     <li>{@code holdId} is invalid</li> | ||||
|      *     <li>authentication fails</li> | ||||
|      *     <li>current user does not have permission to get the bulk statuses for {@code holdId}</li> | ||||
|      *     <li>{@code holdId} does not exist</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public HoldBulkStatusCollection getBulkStatuses(String holdId, String parameters) | ||||
|     { | ||||
|         mandatoryString("holdId", holdId); | ||||
|  | ||||
|         return getRmRestWrapper().processModels(HoldBulkStatusCollection.class, simpleRequest( | ||||
|             GET, | ||||
|             "holds/{holdId}/bulk-statuses", | ||||
|             holdId, | ||||
|             parameters | ||||
|                                                                                              )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #getBulkStatuses(String, String)} | ||||
|      */ | ||||
|     public HoldBulkStatusCollection getBulkStatuses(String holdId) | ||||
|     { | ||||
|         return getBulkStatuses(holdId, EMPTY); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2023 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2024 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user