mirror of
				https://github.com/Alfresco/alfresco-community-repo.git
				synced 2025-10-29 15:21:53 +00:00 
			
		
		
		
	Compare commits
	
		
			131 Commits
		
	
	
		
			25.3.0.2
			...
			fix/MNT-25
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 9d56d3a8db | ||
|  | 1c1790b66a | ||
|  | dd812bca89 | ||
|  | 5dcc54cf0e | ||
|  | 69c1700d94 | ||
|  | fe4c3ad171 | ||
|  | 95e64015a2 | ||
|  | 8e4c6d8cf3 | ||
|  | 9c99d98a68 | ||
|  | ad39812999 | ||
|  | fc66dfcc56 | ||
|  | 5018e627dd | ||
|  | 6de69ad298 | ||
|  | 53a3a22aff | ||
|  | 5252a98619 | ||
|  | df5be66e3f | ||
|  | 269fa78155 | ||
|  | ca41856d9b | ||
|  | 9e8958072a | ||
|  | e26da101da | ||
|  | d9ea31b2b6 | ||
|  | 5190bf016c | ||
|  | ef326fb6c7 | ||
|  | 8b1139e600 | ||
|  | 2c7833f4be | ||
|  | db7571cba0 | ||
|  | 690a1be4fa | ||
|  | bf5518f786 | ||
|  | 481c1e221b | ||
|  | 56894f18e3 | ||
|  | b46679eedc | ||
|  | 271bffaa06 | ||
|  | 4f8d8e605e | ||
|  | a05ff0c537 | ||
|  | 00cb1190ed | ||
|  | b9f4eb2c2a | ||
|  | ad56443b23 | ||
|  | 0909616b76 | ||
|  | 1431eaaa4e | ||
|  | ed6526587e | ||
|  | d2ec56ad80 | ||
|  | e81f17a5a3 | ||
|  | 0aff869ee6 | ||
|  | 639fec6cbb | ||
|  | 49b8798cfe | ||
|  | 3ccde8596a | ||
|  | d77fede9d2 | ||
|  | b82cf7fa49 | ||
|  | e8b4d0b5ff | ||
|  | e14cb0b314 | ||
|  | abe5a72481 | ||
|  | 10721c9921 | ||
|  | 5451bf7144 | ||
|  | 8887639abe | ||
|  | 94b80c057e | ||
|  | d9e7007b0a | ||
|  | ed026d08ad | ||
|  | bd2cc5497b | ||
|  | 5a7116e9ef | ||
|  | 8c7c8a69b4 | ||
|  | 427183d31c | ||
|  | 5f38888559 | ||
|  | c35e94ba74 | ||
|  | 165de60f00 | ||
|  | 7e179d0e5c | ||
|  | 7f7444813e | ||
|  | 0dba988ff7 | ||
|  | b002cbabc4 | ||
|  | 7fb09e2b18 | ||
|  | 6a9ab0f089 | ||
|  | 3fecdc75bd | ||
|  | 4373aa8f97 | ||
|  | b2239eac6f | ||
|  | ca44e805f2 | ||
|  | 705861084a | ||
|  | 7a303cef49 | ||
|  | f7b864d35f | ||
|  | e61991bc7d | ||
|  | 9a9665fb98 | ||
|  | 8a405f7ba3 | ||
|  | e02722af37 | ||
|  | 3d1f95bcc8 | ||
|  | 868bf5db7e | ||
|  | e4c2bc7740 | ||
|  | 3d651b97b6 | ||
|  | 9ee0f4a234 | ||
|  | 8f8743f4b5 | ||
|  | d9489cedc4 | ||
|  | c4e4c43668 | ||
|  | b0fa6b3736 | ||
|  | 4d801ed962 | ||
|  | 138947af7f | ||
|  | 2ba28bae10 | ||
|  | 9ebcd0193a | ||
|  | afbf52413f | ||
|  | ad67088017 | ||
|  | 4c29d23ac0 | ||
|  | ed8b18c576 | ||
|  | c9b49789c7 | ||
|  | d28d4873be | ||
|  | 44d7c2328c | ||
|  | 073338afa7 | ||
|  | 3e53467ac8 | ||
|  | 0d5ffdac2e | ||
|  | ac03eb7642 | ||
|  | 2ff5b7dd0a | ||
|  | b0d7e6dfba | ||
|  | 3304a62a35 | ||
|  | 763591c1a3 | ||
|  | 6de5a507fe | ||
|  | 3990bc9db4 | ||
|  | f2207fe43e | ||
|  | f48db84334 | ||
|  | 98d73b7200 | ||
|  | acd4b1efcb | ||
|  | 4433dd009a | ||
|  | d1a9794ec8 | ||
|  | bf848ff882 | ||
|  | 69ebccfc20 | ||
|  | 600b50fce1 | ||
|  | 37e8586658 | ||
|  | 4b12ed5a51 | ||
|  | e379b7704d | ||
|  | 297be122a6 | ||
|  | ca28024ad8 | ||
|  | cfd3255aa7 | ||
|  | 4e436160cc | ||
|  | bf0ca4ca83 | ||
|  | e23a97960f | ||
|  | 2d2371a792 | ||
|  | 0ea69dd4ef | 
							
								
								
									
										124
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										124
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,6 +14,15 @@ updates: | ||||
|     timezone: Africa/Abidjan | ||||
|   open-pull-requests-limit: 99 | ||||
|   ignore: | ||||
|   - dependency-name: com.google.code.gson:gson | ||||
|     versions: | ||||
|     - "> 2.8.6" | ||||
|   - dependency-name: io.fabric8:fabric8-maven-plugin | ||||
|     versions: | ||||
|     - "> 4.4.0" | ||||
|   - dependency-name: javax.servlet:javax.servlet-api | ||||
|     versions: | ||||
|     - "> 3.0.1" | ||||
|   - dependency-name: org.acegisecurity:acegi-security | ||||
|     versions: | ||||
|     - "> 0.8.2_patched" | ||||
| @@ -43,16 +52,109 @@ updates: | ||||
|     - "> 1.0.0" | ||||
|   - dependency-name: org.freemarker:freemarker | ||||
|     versions: | ||||
|     - "> 2.3.31-alfresco-patched" | ||||
|     - "> 2.3.20-alfresco-patched-20200421" | ||||
|   - dependency-name: org.keycloak:keycloak-adapter-core | ||||
|     versions: | ||||
|     - "> 12.0.2" | ||||
|   - dependency-name: org.keycloak:keycloak-adapter-spi | ||||
|     versions: | ||||
|     - "> 12.0.2" | ||||
|   - dependency-name: org.keycloak:keycloak-authz-client | ||||
|     versions: | ||||
|     - "> 12.0.2" | ||||
|   - dependency-name: org.keycloak:keycloak-common | ||||
|     versions: | ||||
|     - "> 12.0.2" | ||||
|   - dependency-name: org.keycloak:keycloak-core | ||||
|     versions: | ||||
|     - "> 12.0.2" | ||||
|   - dependency-name: org.keycloak:keycloak-servlet-adapter-spi | ||||
|     versions: | ||||
|     - "> 12.0.2" | ||||
|   - dependency-name: org.eclipse.jetty:jetty-server | ||||
|     versions: | ||||
|     - 9.4.38.v20210224 | ||||
|   - dependency-name: org.alfresco.tas:cmis | ||||
|     versions: | ||||
|     - "1.28" | ||||
|   - dependency-name: org.springframework:spring-webmvc | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-web | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-tx | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-orm | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-test | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-jms | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-jdbc | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-expression | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-core | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-context-support | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-context | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-beans | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.springframework:spring-aop | ||||
|     versions: | ||||
|     - 5.3.4 | ||||
|     - 5.3.5 | ||||
|   - dependency-name: org.alfresco.tas:restapi | ||||
|     versions: | ||||
|     - "1.55" | ||||
|   - dependency-name: org.eclipse.jetty:jetty-security | ||||
|     versions: | ||||
|     - 11.0.1 | ||||
|   - dependency-name: org.alfresco.aos-module:alfresco-vti-bin | ||||
|     versions: | ||||
|     - 1.4.0-M1 | ||||
|   - dependency-name: org.alfresco.aos-module:alfresco-aos-module-distributionzip | ||||
|     versions: | ||||
|     - 1.4.0-M1 | ||||
|   - dependency-name: org.alfresco.aos-module:alfresco-aos-module | ||||
|     versions: | ||||
|     - 1.4.0-M1 | ||||
|   - dependency-name: org.alfresco.surf:spring-webscripts-api | ||||
|     versions: | ||||
|     - "8.16" | ||||
|   - dependency-name: org.alfresco.surf:spring-webscripts:tests | ||||
|     versions: | ||||
|     - "8.16" | ||||
|   - dependency-name: org.alfresco.surf:spring-webscripts | ||||
|     versions: | ||||
|     - "8.16" | ||||
|   - dependency-name: org.alfresco.surf:spring-surf-core-configservice | ||||
|     versions: | ||||
|     - "8.16" | ||||
|   registries: | ||||
|   - maven-repository-artifacts-alfresco-com-nexus-content-groups-int | ||||
| - package-ecosystem: "docker" | ||||
|   directory: "packaging/docker-alfresco/" | ||||
|   schedule: | ||||
|     interval: "daily" | ||||
|     time: "22:00" | ||||
|     timezone: Africa/Abidjan | ||||
| - package-ecosystem: "github-actions" | ||||
|   directory: "/" | ||||
|   schedule: | ||||
|     interval: "monthly" | ||||
|   | ||||
							
								
								
									
										425
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										425
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -23,12 +23,8 @@ env: | ||||
|   MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }} | ||||
|   QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }} | ||||
|   QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }} | ||||
|   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 }} | ||||
|  | ||||
| jobs: | ||||
|   prepare: | ||||
| @@ -36,15 +32,20 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     if: > | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - id: changed-files | ||||
|         uses: Alfresco/alfresco-build-tools/.github/actions/github-list-changes@v8.13.0 | ||||
|         with: | ||||
|           write-list-to-env: true | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.13.0 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Prepare maven cache and check compilation" | ||||
| @@ -52,136 +53,49 @@ jobs: | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   veracode_sca: | ||||
|   veracode: | ||||
|     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') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v8.13.0 | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }} | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   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@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/github-download-file@v8.16.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: "Remove excluded files" | ||||
|         run: | | ||||
|           mkdir temp-dir-for-sast | ||||
|           bash ./scripts/ci/remove-sast-exclusions.sh ./packaging/war/target/alfresco.war temp-dir-for-sast/reduced.war | ||||
|       - name: "Run SAST Scan" | ||||
|         uses: veracode/Veracode-pipeline-scan-action@v1.0.16 | ||||
|         with: | ||||
|           vid: ${{ secrets.VERACODE_API_ID }} | ||||
|           vkey: ${{ secrets.VERACODE_API_KEY }} | ||||
|           file: "temp-dir-for-sast/reduced.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@v4 | ||||
|         with: | ||||
|           name: Veracode Pipeline-Scan Results (Human Readable) | ||||
|           path: readable_output.zip | ||||
|       - name: "Remove temporary directory" | ||||
|         run: rm -rfv temp-dir-for-sast | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   pmd_scan: | ||||
|     name: "PMD Scan" | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [prepare] | ||||
|     if: > | ||||
|       github.event_name == 'pull_request' && | ||||
|       !contains(github.event.head_commit.message, '[skip pmd]') && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/ya-pmd-scan@v4.3.0 | ||||
|         with: | ||||
|           classpath-build-command: "mvn test-compile -ntp -Pags -pl \"-:alfresco-community-repo-docker\"" | ||||
|  | ||||
|          | ||||
|   all_unit_tests_suite: | ||||
|     name: ${{ matrix.testName }} - AllUnitTestsSuite - Build and test | ||||
|     name: "Core, Data-Model, Repository - 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" | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run tests" | ||||
|         run: | | ||||
|           mvn -B test -pl ${{ matrix.testModule }} -am ${{ matrix.testAttributes }} -DfailIfNoTests=false "${args[@]}" | ||||
|           mvn -B test -pl core,data-model -am -DfailIfNoTests=false | ||||
|           mvn -B test -pl "repository,mmt" -am "-Dtest=AllUnitTestsSuite,AllMmtUnitTestSuite" -DfailIfNoTests=false | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -192,7 +106,7 @@ jobs: | ||||
|     if: > | ||||
|       !contains(github.event.head_commit.message, '[skip repo]') && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
| @@ -211,9 +125,10 @@ jobs: | ||||
|       REQUIRES_INSTALLED_ARTIFACTS: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Build" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: | | ||||
| @@ -222,10 +137,9 @@ 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" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d | ||||
|       - 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  # pragma: allowlist secret | ||||
|         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 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -239,16 +153,17 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip db]')) || | ||||
|       contains(github.event.head_commit.message, '[db]')) && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         version: ['10.5', '10.6'] | ||||
|         version: ['10.2.18', '10.4', '10.5'] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: Run MariaDB ${{ matrix.version }} database | ||||
| @@ -256,12 +171,12 @@ jobs: | ||||
|         env: | ||||
|           MARIADB_VERSION: ${{ matrix.version }} | ||||
|       - 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 # pragma: allowlist secret | ||||
|         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 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   repository_mariadb_10_11_tests: | ||||
|     name: "Repository - MariaDB 10.11 tests" | ||||
|   repository_mariadb_10_6_tests: | ||||
|     name: "Repository - MariaDB 10.6 tests" | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [prepare] | ||||
|     if: > | ||||
| @@ -270,20 +185,50 @@ jobs: | ||||
|       contains(github.event.head_commit.message, '[latest db]') || | ||||
|       contains(github.event.head_commit.message, '[db]')) && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run MariaDB 10.11 database" | ||||
|       - name: "Run MariaDB 10.6 database" | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d | ||||
|         env: | ||||
|           MARIADB_VERSION: 10.11 | ||||
|           MARIADB_VERSION: 10.6 | ||||
|       - 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 # pragma: allowlist secret | ||||
|         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 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   repository_mysql_5_7_28_tests: | ||||
|     name: Repository - MySQL 5.7.28 tests | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [prepare] | ||||
|     if: > | ||||
|       (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && | ||||
|       github.event_name != 'pull_request' && | ||||
|       !contains(github.event.head_commit.message, '[skip db]')) || | ||||
|       contains(github.event.head_commit.message, '[db]')) && | ||||
|       !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@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run MySQL 5.7.28 database" | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mysql up -d | ||||
|         env: | ||||
|           MYSQL_VERSION: 5.7.28 | ||||
|           MYSQL_PARAMS: --transaction-isolation='READ-COMMITTED' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci | ||||
|       - 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 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -297,77 +242,59 @@ jobs: | ||||
|       contains(github.event.head_commit.message, '[latest db]') || | ||||
|       contains(github.event.head_commit.message, '[db]')) && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - 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 | ||||
|         env: | ||||
|           MYSQL_VERSION: 8 | ||||
|           MYSQL_PARAMS: --transaction-isolation='READ-COMMITTED' | ||||
|       - 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 # pragma: allowlist secret | ||||
|         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 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   repository_postgresql_14_15_tests: | ||||
|     name: "Repository - PostgreSQL 14.15 tests" | ||||
|   repository_postgresql_tests: | ||||
|     name: Repository - PostgreSQL ${{ matrix.version }} tests | ||||
|     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 db]')) || | ||||
|       contains(github.event.head_commit.message, '[db]')) && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         version: ['10.9', '11.12', '11.7', '12.4', '12.7', '13.1'] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run PostgreSQL 14.15 database" | ||||
|       - name: Run PostgreSQL ${{ matrix.version }} database | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | ||||
|         env: | ||||
|           POSTGRES_VERSION: 14.15 | ||||
|           POSTGRES_VERSION: ${{ matrix.version }} | ||||
|       - 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 # pragma: allowlist secret | ||||
|         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 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   repository_postgresql_15_10_tests: | ||||
|     name: "Repository - PostgreSQL 15.10 tests" | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [prepare] | ||||
|     if: > | ||||
|       (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request' && | ||||
|             !contains(github.event.head_commit.message, '[skip db]')) || | ||||
|             contains(github.event.head_commit.message, '[db]')) && | ||||
|             !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@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run PostgreSQL 15.10 database" | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | ||||
|         env: | ||||
|           POSTGRES_VERSION: 15.10 | ||||
|       - 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 # pragma: allowlist secret | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   repository_postgresql_16_6_tests: | ||||
|     name: "Repository - PostgreSQL 16.6 tests" | ||||
|   repository_postgresql_13_3_tests: | ||||
|     name: "Repository - PostgreSQL 13.3 tests" | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [prepare] | ||||
|     if: > | ||||
| @@ -375,20 +302,21 @@ jobs: | ||||
|       contains(github.event.head_commit.message, '[latest db]') || | ||||
|       contains(github.event.head_commit.message, '[db]')) && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run PostgreSQL 16.6 database" | ||||
|       - name: "Run PostgreSQL 13.3 database" | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | ||||
|         env: | ||||
|           POSTGRES_VERSION: 16.6 | ||||
|           POSTGRES_VERSION: 13.3 | ||||
|       - 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 # pragma: allowlist secret | ||||
|         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 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -399,29 +327,30 @@ jobs: | ||||
|     if: > | ||||
|       !contains(github.event.head_commit.message, '[skip repo]') && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - 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 | ||||
|       - name: "Run tests" | ||||
|         run: mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false # pragma: allowlist secret | ||||
|         run: mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   repository_app_context_test_suites: | ||||
|     name: Repository - ${{ matrix.testSuite }} ${{ matrix.idp }} | ||||
|     name: Repository - ${{ matrix.testSuite }} | ||||
|     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') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
| @@ -436,12 +365,7 @@ jobs: | ||||
|             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=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 | ||||
|             mvn-options: '"-Didentity-service.auth-server-url=http://localhost:8999/auth"' | ||||
|           - testSuite: AppContext06TestSuite | ||||
|             compose-profile: with-transform-core-aio | ||||
|           - testSuite: AppContextExtraTestSuite | ||||
| @@ -451,38 +375,20 @@ jobs: | ||||
|           - testSuite: SearchTestSuite | ||||
|             compose-profile: default | ||||
|             mvn-options: '-Dindex.subsystem.name=solr6' | ||||
|           - testSuite: MTLSTestSuite | ||||
|             compose-profile: with-mtls-transform-core-aio | ||||
|             mtls: true | ||||
|             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@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Init" | ||||
|         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: | | ||||
|           git clone -b "master" --depth=1 "https://${{ secrets.BOT_GITHUB_USERNAME }}:${{ secrets.BOT_GITHUB_TOKEN }}@github.com/Alfresco/alfresco-ssl-generator.git" | ||||
|           if ${{ matrix.disabledHostnameVerification }} ; then | ||||
|             bash ${{ env.CI_WORKSPACE }}/alfresco-ssl-generator/scripts/ci/generate_keystores_wrong_hostnames.sh | ||||
|             echo "HOSTNAME_VERIFICATION_DISABLED=true" >> "$GITHUB_ENV" | ||||
|           else | ||||
|             bash ${{ env.CI_WORKSPACE }}/alfresco-ssl-generator/scripts/ci/generate_keystores.sh | ||||
|             echo "HOSTNAME_VERIFICATION_DISABLED=false" >> "$GITHUB_ENV" | ||||
|           fi | ||||
|       - name: "Set up the environment" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d | ||||
|       - 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 }} # pragma: allowlist secret | ||||
|         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 }} | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -495,7 +401,7 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip tas]')) || | ||||
|       contains(github.event.head_commit.message, '[tas]')) && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
| @@ -528,16 +434,16 @@ jobs: | ||||
|       REQUIRES_LOCAL_IMAGES: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Build" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: | | ||||
|           bash ./scripts/ci/init.sh | ||||
|           bash ./scripts/ci/build.sh | ||||
|       - name: "Set up the environment" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: | | ||||
|           ${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/docker-compose-minimal+transforms.yml | ||||
|           ${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
| @@ -564,18 +470,19 @@ jobs: | ||||
|     if: > | ||||
|       !contains(github.event.head_commit.message, '[skip repo]') && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - name: "Run Postgres 16.6 database" | ||||
|       - name: "Run Postgres 14.4 database" | ||||
|         run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile postgres up -d | ||||
|       - 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 # pragma: allowlist secret | ||||
|         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 | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
| @@ -588,18 +495,19 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip ags]')) || | ||||
|       contains(github.event.head_commit.message, '[ags]')) && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         part: [1, 2, 3, 4] | ||||
|         part: [1, 2, 3] | ||||
|     env: | ||||
|       REQUIRES_INSTALLED_ARTIFACTS: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Build" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: | | ||||
| @@ -620,18 +528,19 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip ags]')) || | ||||
|       contains(github.event.head_commit.message, '[ags on MySQL]')) && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         part: [1, 2, 3, 4] | ||||
|         part: [1, 2, 3] | ||||
|     env: | ||||
|       REQUIRES_INSTALLED_ARTIFACTS: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Build" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: | | ||||
| @@ -652,14 +561,15 @@ jobs: | ||||
|       !contains(github.event.head_commit.message, '[skip ags]') && !contains(github.event.head_commit.message, '[skip tas]')) || | ||||
|       (contains(github.event.head_commit.message, '[ags]') && contains(github.event.head_commit.message, '[tas]'))) && | ||||
|       !contains(github.event.head_commit.message, '[skip tests]') && | ||||
|       !contains(github.event.head_commit.message, '[force') | ||||
|       !contains(github.event.head_commit.message, '[force]') | ||||
|     env: | ||||
|       REQUIRES_LOCAL_IMAGES: true | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|         with: | ||||
|           java-version: "11" | ||||
|       - name: "Build" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: | | ||||
| @@ -690,28 +600,3 @@ jobs: | ||||
|           aws s3 cp --acl private ./amps/ags/rm-automation/rm-automation-community-rest-api/target/reports/rm-automation-community-rest-api.log s3://ags-travis-artifacts/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests/rm-automation-community-rest-api.log | ||||
|       - name: "Clean Maven cache" | ||||
|         run: bash ./scripts/ci/cleanup_cache.sh | ||||
|  | ||||
|   ags_start_api_explorer: | ||||
|     name: "Test Tomcat deployment of api explorer" | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [ prepare ] | ||||
|     if: > | ||||
|       (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request' ) && | ||||
|       !contains(github.event.head_commit.message, '[skip ags]')) || | ||||
|       contains(github.event.head_commit.message, '[ags]')) && | ||||
|       !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@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - name: "Build" | ||||
|         timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | ||||
|         run: | | ||||
|           bash ./scripts/ci/init.sh | ||||
|           bash ./scripts/ci/build.sh | ||||
|       - name: "Test Tomcat deployment" | ||||
|         run: | | ||||
|           mvn verify -Pags,start-api-explorer -DskipTests & | ||||
|           ${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8085/api-explorer" | ||||
|   | ||||
							
								
								
									
										18
									
								
								.github/workflows/master_release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/master_release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -27,19 +27,18 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [run_ci] | ||||
|     if: > | ||||
|       !(failure() || cancelled()) && | ||||
|       !failure() && | ||||
|       !contains(github.event.head_commit.message, '[no release]') && | ||||
|       github.event_name != 'pull_request' | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|         with: | ||||
|           persist-credentials: false | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.13.0 | ||||
|         with: | ||||
|           username: ${{ env.GIT_USERNAME }} | ||||
|           email: ${{ env.GIT_EMAIL }} | ||||
| @@ -56,19 +55,18 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [push_to_nexus] | ||||
|     if: > | ||||
|       !(failure() || cancelled()) && | ||||
|       !failure() && | ||||
|       !contains(github.event.head_commit.message, '[no downstream]') && | ||||
|       github.event_name != 'pull_request' | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|         with: | ||||
|           persist-credentials: false | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | ||||
|       - name: "Init" | ||||
|         run: bash ./scripts/ci/init.sh | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.16.0 | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.13.0 | ||||
|         with: | ||||
|           username: ${{ env.GIT_USERNAME }} | ||||
|           email: ${{ env.GIT_EMAIL }} | ||||
|   | ||||
							
								
								
									
										32
									
								
								.github/workflows/precommit_formatter.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								.github/workflows/precommit_formatter.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,32 +0,0 @@ | ||||
| name: Pre-Commit formatter | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - precommit/** | ||||
|  | ||||
| jobs: | ||||
|   format-code: | ||||
|     name: "Reformat code" | ||||
|     runs-on: ubuntu-latest | ||||
|     if: contains(github.event.head_commit.message, '[reformat code]') | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - name: Set up Python ${{ inputs.python-version }} | ||||
|         uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 | ||||
|         with: | ||||
|           python-version: "3.9" | ||||
|       - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           extra_args: --all-files | ||||
|       - name: Update secrets baseline | ||||
|         run: pip install detect-secrets && detect-secrets scan --baseline .secrets.baseline | ||||
|       - uses: Alfresco/alfresco-build-tools/.github/actions/git-commit-changes@v8.16.0 | ||||
|         with: | ||||
|           username: ${{ secrets.BOT_GITHUB_USERNAME }} | ||||
|           add-options: -u | ||||
|           commit-message: "Apply Pre-Commit code formatting" | ||||
|           skip-if-no-changes: true | ||||
|       - name: Push changes | ||||
|         run: git push | ||||
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -39,9 +39,6 @@ dependency-reduced-pom.xml | ||||
|  | ||||
| hs_err_pid* | ||||
|  | ||||
| # Development | ||||
| repository/scripts/hazelcast-init/alfresco-hazelcast-config.xml | ||||
|  | ||||
| # Alfresco runtime | ||||
| alf_data | ||||
|  | ||||
|   | ||||
| @@ -127,6 +127,29 @@ | ||||
|     } | ||||
|   ], | ||||
|   "results": { | ||||
|     ".github/workflows/ci.yml": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": ".github/workflows/ci.yml", | ||||
|         "hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b", | ||||
|         "is_verified": false, | ||||
|         "line_number": 142 | ||||
|       }, | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": ".github/workflows/ci.yml", | ||||
|         "hashed_secret": "3eaefff58bb411413fcbd76dc410d392529627e7", | ||||
|         "is_verified": false, | ||||
|         "line_number": 174 | ||||
|       }, | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": ".github/workflows/ci.yml", | ||||
|         "hashed_secret": "21b46dc06a4681d07e88157fec3a477484fd314b", | ||||
|         "is_verified": false, | ||||
|         "line_number": 391 | ||||
|       } | ||||
|     ], | ||||
|     ".github/workflows/master_release.yml": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
| @@ -143,17 +166,7 @@ | ||||
|         "filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/TestData.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 58, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/retentionschedule/RetentionScheduleStepTests.java": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/retentionschedule/RetentionScheduleStepTests.java", | ||||
|         "hashed_secret": "e3557f3b0f2189660980d213f75d1a7828d56af1", | ||||
|         "is_verified": false, | ||||
|         "line_number": 85, | ||||
|         "line_number": 57, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -195,7 +208,7 @@ | ||||
|         "filename": "amps/ags/rm-community/rm-community-repo/docker-compose.yml", | ||||
|         "hashed_secret": "d1ebbc78705ad98aa2c8fb357d2e30c8f001673a", | ||||
|         "is_verified": false, | ||||
|         "line_number": 76 | ||||
|         "line_number": 74 | ||||
|       } | ||||
|     ], | ||||
|     "amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMPermissionModel.java": [ | ||||
| @@ -224,7 +237,7 @@ | ||||
|         "filename": "core/src/main/java/org/alfresco/encryption/AlfrescoKeyStore.java", | ||||
|         "hashed_secret": "a718763bca0f328b0e7ce2a98d9e79fc271bf827", | ||||
|         "is_verified": false, | ||||
|         "line_number": 34, | ||||
|         "line_number": 35, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -234,7 +247,7 @@ | ||||
|         "filename": "core/src/main/java/org/alfresco/httpclient/HttpClientFactory.java", | ||||
|         "hashed_secret": "5d3c708390e5f51413e414393d4ad2a6d0e59a45", | ||||
|         "is_verified": false, | ||||
|         "line_number": 128, | ||||
|         "line_number": 126, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -384,52 +397,6 @@ | ||||
|         "line_number": 79 | ||||
|       } | ||||
|     ], | ||||
|     "packaging/tests/scripts/wait-for-alfresco-start.sh": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "packaging/tests/scripts/wait-for-alfresco-start.sh", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 15, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java": [ | ||||
|       { | ||||
|         "type": "JSON Web Token", | ||||
|         "filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java", | ||||
|         "hashed_secret": "a28cecdb5056cf30135809b921e38a84deb6c345", | ||||
|         "is_verified": false, | ||||
|         "line_number": 100, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
|         "type": "JSON Web Token", | ||||
|         "filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java", | ||||
|         "hashed_secret": "5e39d8e2991ef9705998de26b33f11be0f3cdcde", | ||||
|         "is_verified": false, | ||||
|         "line_number": 101, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "packaging/tests/tas-cmis/src/main/resources/default.properties": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "packaging/tests/tas-cmis/src/main/resources/default.properties", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 8, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "packaging/tests/tas-cmis/src/main/resources/default.properties", | ||||
|         "hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b", | ||||
|         "is_verified": false, | ||||
|         "line_number": 76, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "packaging/tests/tas-cmis/src/test/resources/default.properties": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
| @@ -492,52 +459,6 @@ | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/core/RestAisAuthentication.java": [ | ||||
|       { | ||||
|         "type": "JSON Web Token", | ||||
|         "filename": "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/core/RestAisAuthentication.java", | ||||
|         "hashed_secret": "a28cecdb5056cf30135809b921e38a84deb6c345", | ||||
|         "is_verified": false, | ||||
|         "line_number": 79, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
|         "type": "JSON Web Token", | ||||
|         "filename": "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/core/RestAisAuthentication.java", | ||||
|         "hashed_secret": "5e39d8e2991ef9705998de26b33f11be0f3cdcde", | ||||
|         "is_verified": false, | ||||
|         "line_number": 80, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/model/RestSitePersonMembershipRequestModelsCollection.java": [ | ||||
|       { | ||||
|         "type": "Base64 High Entropy String", | ||||
|         "filename": "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/model/RestSitePersonMembershipRequestModelsCollection.java", | ||||
|         "hashed_secret": "8b30a14989d7b8093ac29462fe29423d836625b4", | ||||
|         "is_verified": false, | ||||
|         "line_number": 33, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "packaging/tests/tas-restapi/src/main/resources/default.properties": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "packaging/tests/tas-restapi/src/main/resources/default.properties", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 21, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "packaging/tests/tas-restapi/src/main/resources/default.properties", | ||||
|         "hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b", | ||||
|         "is_verified": false, | ||||
|         "line_number": 87, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "packaging/tests/tas-restapi/src/test/resources/default.properties": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
| @@ -600,7 +521,7 @@ | ||||
|         "filename": "remote-api/src/main/java/org/alfresco/repo/web/scripts/tenant/AbstractTenantAdminWebScript.java", | ||||
|         "hashed_secret": "889d2688743fdce6115117a5ba7dbc5f33e0ce03", | ||||
|         "is_verified": false, | ||||
|         "line_number": 39, | ||||
|         "line_number": 38, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -610,7 +531,7 @@ | ||||
|         "filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java", | ||||
|         "hashed_secret": "43d52295ed5cb7e2b772f2b8be9695ddde971c49", | ||||
|         "is_verified": false, | ||||
|         "line_number": 60, | ||||
|         "line_number": 62, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -618,7 +539,7 @@ | ||||
|         "filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java", | ||||
|         "hashed_secret": "1bd5147ff91b8b1220d2f1ffde850ebabbc5ec8c", | ||||
|         "is_verified": false, | ||||
|         "line_number": 61, | ||||
|         "line_number": 63, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -648,7 +569,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/repo/remoteticket/RemoteAlfrescoTicketServiceTest.java", | ||||
|         "hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55", | ||||
|         "is_verified": false, | ||||
|         "line_number": 73, | ||||
|         "line_number": 74, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -658,7 +579,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/node/NodeWebScripTest.java", | ||||
|         "hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55", | ||||
|         "is_verified": false, | ||||
|         "line_number": 96, | ||||
|         "line_number": 95, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -668,7 +589,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/servlet/RemoteAuthenticatorFactoryAdminConsoleAccessTest.java", | ||||
|         "hashed_secret": "4ffa743f28fc949c19e65ab045d7906d0609a2c2", | ||||
|         "is_verified": false, | ||||
|         "line_number": 268, | ||||
|         "line_number": 264, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -678,7 +599,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/solr/SOLRAuthenticationFilterTest.java", | ||||
|         "hashed_secret": "76ed0a056aa77060de25754586440cff390791d0", | ||||
|         "is_verified": false, | ||||
|         "line_number": 59, | ||||
|         "line_number": 63, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -688,7 +609,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/repo/webdav/LockMethodTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 108, | ||||
|         "line_number": 109, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -708,7 +629,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/AbstractBaseApiTest.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 111, | ||||
|         "line_number": 120, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -718,7 +639,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/RepoService.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 412, | ||||
|         "line_number": 418, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -728,7 +649,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestCMIS.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 175, | ||||
|         "line_number": 182, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -738,7 +659,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", | ||||
|         "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", | ||||
|         "is_verified": false, | ||||
|         "line_number": 595, | ||||
|         "line_number": 592, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -746,7 +667,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", | ||||
|         "hashed_secret": "53dad674827218e94c8fe9c1984c8dd9db512a17", | ||||
|         "is_verified": false, | ||||
|         "line_number": 731, | ||||
|         "line_number": 728, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -754,7 +675,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", | ||||
|         "hashed_secret": "be66cf01c56d963de61462f37a43df2305367216", | ||||
|         "is_verified": false, | ||||
|         "line_number": 1434, | ||||
|         "line_number": 1429, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -762,7 +683,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", | ||||
|         "hashed_secret": "283d47a9338ed1100b5fe2a5aff2d1f7c799bfd0", | ||||
|         "is_verified": false, | ||||
|         "line_number": 1435, | ||||
|         "line_number": 1430, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -770,7 +691,7 @@ | ||||
|         "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", | ||||
|         "hashed_secret": "425a715491af2bbec1eef2def6fa8d79c3050401", | ||||
|         "is_verified": false, | ||||
|         "line_number": 1457, | ||||
|         "line_number": 1452, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -860,7 +781,7 @@ | ||||
|         "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java", | ||||
|         "hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506", | ||||
|         "is_verified": false, | ||||
|         "line_number": 59, | ||||
|         "line_number": 60, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -868,7 +789,7 @@ | ||||
|         "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java", | ||||
|         "hashed_secret": "fc99e6a90240c45f46ed33a4d96a3dbecef41c60", | ||||
|         "is_verified": false, | ||||
|         "line_number": 60, | ||||
|         "line_number": 61, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -878,7 +799,7 @@ | ||||
|         "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/NonLockingJob.java", | ||||
|         "hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506", | ||||
|         "is_verified": false, | ||||
|         "line_number": 54, | ||||
|         "line_number": 52, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -888,7 +809,7 @@ | ||||
|         "filename": "repository/src/main/java/org/alfresco/repo/admin/patch/impl/AdminUserPatch.java", | ||||
|         "hashed_secret": "87a754b00f7ee047d496808125d6259104e9382a", | ||||
|         "is_verified": false, | ||||
|         "line_number": 62, | ||||
|         "line_number": 60, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -908,7 +829,7 @@ | ||||
|         "filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java", | ||||
|         "hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd", | ||||
|         "is_verified": false, | ||||
|         "line_number": 205, | ||||
|         "line_number": 204, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -916,7 +837,7 @@ | ||||
|         "filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java", | ||||
|         "hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd", | ||||
|         "is_verified": false, | ||||
|         "line_number": 205, | ||||
|         "line_number": 204, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -926,7 +847,7 @@ | ||||
|         "filename": "repository/src/main/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImpl.java", | ||||
|         "hashed_secret": "e25df0eeed8d8eb4e198c3464c7bf747bc26eff8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 91, | ||||
|         "line_number": 92, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -936,17 +857,26 @@ | ||||
|         "filename": "repository/src/main/java/org/alfresco/repo/security/authentication/SimpleAcceptOrRejectAllAuthenticationComponentImpl.java", | ||||
|         "hashed_secret": "304de25a3d73b68ad408ca3843356b5cf67f6f14", | ||||
|         "is_verified": false, | ||||
|         "line_number": 89, | ||||
|         "line_number": 93, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "repository/src/main/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceConfig.java": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "repository/src/main/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceConfig.java", | ||||
|         "hashed_secret": "fa8659c24b2b5da9a1e142348ada4c8f12493917", | ||||
|         "is_verified": false, | ||||
|         "line_number": 46 | ||||
|       } | ||||
|     ], | ||||
|     "repository/src/main/java/org/alfresco/repo/transfer/TransferServiceImpl2.java": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "repository/src/main/java/org/alfresco/repo/transfer/TransferServiceImpl2.java", | ||||
|         "hashed_secret": "9ae9f2be7702b726809545808a8a9ba2e5a38410", | ||||
|         "is_verified": false, | ||||
|         "line_number": 129, | ||||
|         "line_number": 130, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1234,7 +1164,7 @@ | ||||
|         "filename": "repository/src/main/resources/alfresco/repository.properties", | ||||
|         "hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b", | ||||
|         "is_verified": false, | ||||
|         "line_number": 245, | ||||
|         "line_number": 244, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1242,7 +1172,7 @@ | ||||
|         "filename": "repository/src/main/resources/alfresco/repository.properties", | ||||
|         "hashed_secret": "1459a56410378e4d3ab470eff570e5eae1742762", | ||||
|         "is_verified": false, | ||||
|         "line_number": 312, | ||||
|         "line_number": 311, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1250,7 +1180,7 @@ | ||||
|         "filename": "repository/src/main/resources/alfresco/repository.properties", | ||||
|         "hashed_secret": "84551ae5442affc9f1a2d3b4c86ae8b24860149d", | ||||
|         "is_verified": false, | ||||
|         "line_number": 771, | ||||
|         "line_number": 763, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1280,7 +1210,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 86, | ||||
|         "line_number": 82, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1288,7 +1218,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", | ||||
|         "hashed_secret": "c464af817287343305cbd6493c593885695df531", | ||||
|         "is_verified": false, | ||||
|         "line_number": 90, | ||||
|         "line_number": 86, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1296,7 +1226,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", | ||||
|         "hashed_secret": "8ad8572a0b3fc4cb3afc1baaebc97a2cae58eb8c", | ||||
|         "is_verified": false, | ||||
|         "line_number": 91, | ||||
|         "line_number": 87, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1304,7 +1234,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", | ||||
|         "hashed_secret": "915692b4d7465b0084354173d552ac90145dc315", | ||||
|         "is_verified": false, | ||||
|         "line_number": 92, | ||||
|         "line_number": 88, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1314,7 +1244,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/filesys/repo/ContentDiskDriverTest.java", | ||||
|         "hashed_secret": "8c85434f6f339a24b808810bd95629d0f5856355", | ||||
|         "is_verified": false, | ||||
|         "line_number": 1257, | ||||
|         "line_number": 1281, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1324,7 +1254,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/opencmis/CMISTest.java", | ||||
|         "hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684", | ||||
|         "is_verified": false, | ||||
|         "line_number": 4001, | ||||
|         "line_number": 4134, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1334,7 +1264,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/coci/CheckOutCheckInServiceImplTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 141, | ||||
|         "line_number": 140, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1344,7 +1274,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 101, | ||||
|         "line_number": 102, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1354,7 +1284,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapMessageTest.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 116, | ||||
|         "line_number": 118, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1364,7 +1294,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplCacheTest.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 66, | ||||
|         "line_number": 68, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1374,7 +1304,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplTest.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 111, | ||||
|         "line_number": 116, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1384,7 +1314,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/imap/LoadTester.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 79, | ||||
|         "line_number": 80, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1394,7 +1324,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/imap/RemoteLoadTester.java", | ||||
|         "hashed_secret": "678721c0433c8cf5c9069a0e70784cf1839e866b", | ||||
|         "is_verified": false, | ||||
|         "line_number": 55, | ||||
|         "line_number": 58, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1404,7 +1334,27 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/invitation/site/InviteSenderTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 108, | ||||
|         "line_number": 109, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "repository/src/test/java/org/alfresco/repo/lock/LockBehaviourImplTest.java": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/lock/LockBehaviourImplTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 112, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "repository/src/test/java/org/alfresco/repo/lock/LockServiceImplTest.java": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/lock/LockServiceImplTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 109, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1440,7 +1390,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/model/filefolder/FileFolderServiceImplTest.java", | ||||
|         "hashed_secret": "9e10e28cb9c3e381c13d13fa97dd97148982cdaa", | ||||
|         "is_verified": false, | ||||
|         "line_number": 590, | ||||
|         "line_number": 595, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1450,7 +1400,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 75, | ||||
|         "line_number": 74, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1460,7 +1410,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", | ||||
|         "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", | ||||
|         "is_verified": false, | ||||
|         "line_number": 62, | ||||
|         "line_number": 61, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1468,7 +1418,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", | ||||
|         "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", | ||||
|         "is_verified": false, | ||||
|         "line_number": 62, | ||||
|         "line_number": 61, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1476,7 +1426,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", | ||||
|         "hashed_secret": "ad8a621976e9a19cc78af501a84638a04fca9b83", | ||||
|         "is_verified": false, | ||||
|         "line_number": 66, | ||||
|         "line_number": 65, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1486,7 +1436,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/oauth2/OAuth2CredentialsStoreServiceTest.java", | ||||
|         "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", | ||||
|         "is_verified": false, | ||||
|         "line_number": 64, | ||||
|         "line_number": 70, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1506,7 +1456,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 1317, | ||||
|         "line_number": 1328, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1516,7 +1466,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationServiceImplTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 69, | ||||
|         "line_number": 68, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1526,7 +1476,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java", | ||||
|         "hashed_secret": "607e729c2f77c4e821e68e26b4c1f5a4398624e9", | ||||
|         "is_verified": false, | ||||
|         "line_number": 2121, | ||||
|         "line_number": 2124, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1536,7 +1486,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthorizationTest.java", | ||||
|         "hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684", | ||||
|         "is_verified": false, | ||||
|         "line_number": 36, | ||||
|         "line_number": 37, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1546,46 +1496,52 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/CompositePasswordEncoderTest.java", | ||||
|         "hashed_secret": "4360136f24381dcec1d35d79fbf7dac4b54dfe97", | ||||
|         "is_verified": false, | ||||
|         "line_number": 310, | ||||
|         "line_number": 301, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java": [ | ||||
|     "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceRemoteUserMapperTest.java": [ | ||||
|       { | ||||
|         "type": "Base64 High Entropy String", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java", | ||||
|         "hashed_secret": "c4b66dbe168ad1d2b19119494a0da063801bc3bb", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceRemoteUserMapperTest.java", | ||||
|         "hashed_secret": "00fda15183ba9ba9e6c2e364ea40c3928bd52f92", | ||||
|         "is_verified": false, | ||||
|         "line_number": 82, | ||||
|         "is_secret": false | ||||
|         "line_number": 131 | ||||
|       }, | ||||
|       { | ||||
|         "type": "JSON Web Token", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java", | ||||
|         "hashed_secret": "c5aad1895e1dcff195992938f1bcc9954d575ac9", | ||||
|         "type": "Base64 High Entropy String", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceRemoteUserMapperTest.java", | ||||
|         "hashed_secret": "b83ad0214090e5d0414a93638a9a53f72c61b549", | ||||
|         "is_verified": false, | ||||
|         "line_number": 91, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/LazyInstantiatingIdentityServiceFacadeUnitTest.java": [ | ||||
|         "line_number": 132 | ||||
|       }, | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/LazyInstantiatingIdentityServiceFacadeUnitTest.java", | ||||
|         "hashed_secret": "12e59296b0d17c1ceb345a7adca98574c835ba24", | ||||
|         "type": "Base64 High Entropy String", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceRemoteUserMapperTest.java", | ||||
|         "hashed_secret": "e16209d11bbd258c6b81680caae78cdacc632fe1", | ||||
|         "is_verified": false, | ||||
|         "line_number": 46, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/SpringBasedIdentityServiceFacadeUnitTest.java": [ | ||||
|         "line_number": 133 | ||||
|       }, | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/SpringBasedIdentityServiceFacadeUnitTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "type": "Base64 High Entropy String", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceRemoteUserMapperTest.java", | ||||
|         "hashed_secret": "bf495f339a303c35da0bfd54c34f0a25498ac14a", | ||||
|         "is_verified": false, | ||||
|         "line_number": 48, | ||||
|         "is_secret": false | ||||
|         "line_number": 134 | ||||
|       }, | ||||
|       { | ||||
|         "type": "Base64 High Entropy String", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceRemoteUserMapperTest.java", | ||||
|         "hashed_secret": "6a9c25a83c51b2d802241c94f128938e2647039f", | ||||
|         "is_verified": false, | ||||
|         "line_number": 135 | ||||
|       }, | ||||
|       { | ||||
|         "type": "Base64 High Entropy String", | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceRemoteUserMapperTest.java", | ||||
|         "hashed_secret": "34c5cdcf8c7f163ff1935131fa9f6ddd4cfd35b7", | ||||
|         "is_verified": false, | ||||
|         "line_number": 136 | ||||
|       } | ||||
|     ], | ||||
|     "repository/src/test/java/org/alfresco/repo/tenant/MultiTNodeServiceInterceptorTest.java": [ | ||||
| @@ -1604,7 +1560,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/transfer/HttpClientTransmitterImplTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 73, | ||||
|         "line_number": 75, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1614,7 +1570,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 658, | ||||
|         "line_number": 664, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1624,7 +1580,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 202, | ||||
|         "line_number": 203, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1632,7 +1588,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", | ||||
|         "hashed_secret": "ad782ecdac770fc6eb9a62e44f90873fb97fb26b", | ||||
|         "is_verified": false, | ||||
|         "line_number": 512, | ||||
|         "line_number": 513, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1640,7 +1596,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 3593, | ||||
|         "line_number": 3687, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1650,7 +1606,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java", | ||||
|         "hashed_secret": "8be3c943b1609fffbfc51aad666d0a04adf83c9d", | ||||
|         "is_verified": false, | ||||
|         "line_number": 2510, | ||||
|         "line_number": 2682, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
| @@ -1658,7 +1614,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 3517, | ||||
|         "line_number": 3772, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1668,7 +1624,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/ManifestIntegrationTest.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 114, | ||||
|         "line_number": 115, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1678,7 +1634,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/TransferManifestTest.java", | ||||
|         "hashed_secret": "5395ebfd174b0a5617e6f409dfbb3e064e3fdf0a", | ||||
|         "is_verified": false, | ||||
|         "line_number": 126, | ||||
|         "line_number": 127, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1688,7 +1644,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/version/BaseVersionStoreTest.java", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 144, | ||||
|         "line_number": 149, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1708,7 +1664,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/repo/version/VersionServiceImplTest.java", | ||||
|         "hashed_secret": "dee17075a8c96d9c57c15d56b1f64e5abc1caf0b", | ||||
|         "is_verified": false, | ||||
|         "line_number": 121, | ||||
|         "line_number": 122, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1718,7 +1674,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/util/test/junitrules/AlfrescoTenant.java", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 73, | ||||
|         "line_number": 67, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1728,7 +1684,7 @@ | ||||
|         "filename": "repository/src/test/java/org/alfresco/util/test/testusers/TestUserComponentImpl.java", | ||||
|         "hashed_secret": "f73e110427648014568f7144031a6d48060eab0a", | ||||
|         "is_verified": false, | ||||
|         "line_number": 63, | ||||
|         "line_number": 55, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1738,7 +1694,7 @@ | ||||
|         "filename": "repository/src/test/resources/alfresco-global.properties", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 21, | ||||
|         "line_number": 28, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
| @@ -1825,25 +1781,7 @@ | ||||
|         "line_number": 1843, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ], | ||||
|     "scripts/ci/docker-compose/docker-compose.yaml": [ | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "scripts/ci/docker-compose/docker-compose.yaml", | ||||
|         "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", | ||||
|         "is_verified": false, | ||||
|         "line_number": 39, | ||||
|         "is_secret": false | ||||
|       }, | ||||
|       { | ||||
|         "type": "Secret Keyword", | ||||
|         "filename": "scripts/ci/docker-compose/docker-compose.yaml", | ||||
|         "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", | ||||
|         "is_verified": false, | ||||
|         "line_number": 43, | ||||
|         "is_secret": false | ||||
|       } | ||||
|     ] | ||||
|   }, | ||||
|   "generated_at": "2025-06-09T16:43:14Z" | ||||
|   "generated_at": "2025-03-29T00:03:53Z" | ||||
| } | ||||
|   | ||||
| @@ -10,9 +10,7 @@ pre-commit install | ||||
| When you make a commit then these hooks will run and check the modified files. If it makes changes then you can review them and then `git commit` again to accept the changes. | ||||
|  | ||||
| #### Code Quality | ||||
| This project uses `spotless` that enforces `alfresco-formatter.xml` to ensure code quality.  | ||||
| The code style definition file is taken always form the `master` branch of `alfresco-community-repo`.  | ||||
| All downstream projects use this code style definition file as well.  | ||||
| This project uses `spotless` that enforces `alfresco-formatter.xml` to ensure code quality. | ||||
|  | ||||
| To check code-style violations you can use: | ||||
| ```bash | ||||
| @@ -55,8 +53,8 @@ Because this project forms a part of Alfresco Content Services, the guidelines a | ||||
|  | ||||
| You can report an issue in the ALF project of the [Alfresco issue tracker](http://issues.alfresco.com). | ||||
|  | ||||
| Read [instructions for a good issue report](https://hub.alfresco.com/t5/alfresco-content-services-hub/reporting-an-issue/ba-p/289727). | ||||
| Read [instructions for a good issue report](https://community.alfresco.com/docs/DOC-6263-reporting-an-issue). | ||||
|  | ||||
| Read [instructions for making a contribution](https://hub.alfresco.com/t5/alfresco-content-services-hub/alfresco-contribution-agreement/ba-p/293276). | ||||
| Read [instructions for making a contribution](https://community.alfresco.com/docs/DOC-6269-submitting-contributions). | ||||
|  | ||||
| Please follow [the coding standards](https://hub.alfresco.com/t5/alfresco-content-services-hub/coding-standards-for-alfresco-content-services/ba-p/290457). | ||||
| Please follow [the coding standards](https://community.alfresco.com/docs/DOC-4658-coding-standards). | ||||
|   | ||||
							
								
								
									
										79
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										79
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,58 +1,39 @@ | ||||
| # alfresco-community-repo | ||||
|  | ||||
| [](https://github.com/Alfresco/alfresco-community-repo/actions/workflows/master_release.yml) | ||||
| [](https://github.com/Alfresco/alfresco-community-repo/actions/workflows/master_release.yml) | ||||
|  | ||||
| ## Table of Contents | ||||
| 1. [Content](#content) | ||||
| 2. [Artifacts](#artifacts) | ||||
| 3. [Setup](#setting-up-and-building-your-development-environment) | ||||
| 4. [Branches](#branches) | ||||
| 5. [Contributing](#contributing-guide) | ||||
| 6. [Helpful links](#helpful-links) | ||||
|  | ||||
|  | ||||
| ## Content | ||||
| Alfresco Community Repository contains following libraries: | ||||
|  | ||||
| ### Alfresco Core | ||||
| Core is a library packaged as a jar file which contains the following: | ||||
| #### Alfresco Core | ||||
|  | ||||
| Alfresco Core is a library packaged as a jar file which contains the following: | ||||
| * Various helpers and utils | ||||
| * Canned queries interface and supporting classes | ||||
| * Generic encryption supporting classes | ||||
|  | ||||
| ### Alfresco Data Model | ||||
|  | ||||
| Data Model is a library packaged as a jar file which  contains the following: | ||||
|  | ||||
| #### Alfresco Data Model | ||||
| Data model is a library packaged as a jar file which  contains the following: | ||||
| * Dictionary, Repository and Search Services interfaces | ||||
| * Models for data types and Dictionary implementation | ||||
| * Parsers | ||||
|  | ||||
| ### Alfresco Repository | ||||
| #### Alfresco Repository | ||||
|  | ||||
| Repository is a library packaged as a jar file which contains the following: | ||||
|  | ||||
| * DAOs and SQL scripts | ||||
| * Various Service implementations | ||||
| * Utility classes | ||||
|  | ||||
| ### Alfresco Remote API | ||||
| #### Alfresco Remote API | ||||
|  | ||||
| Remote API is a library packaged as a jar file which contains the following: | ||||
|  | ||||
| * REST API framework | ||||
| * WebScript implementations including [V1 REST APIs](https://hub.alfresco.com/t5/alfresco-content-services-blog/v1-rest-api-10-things-you-should-know/ba-p/287692) | ||||
| * WebScript implementations including [V1 REST APIs](https://community.alfresco.com/community/ecm/blog/2017/05/02/v1-rest-api-10-things-you-should-know) | ||||
| * [OpenCMIS](https://chemistry.apache.org/java/opencmis.html) implementations | ||||
|  | ||||
| ## Artifacts | ||||
|  | ||||
| #### Artifacts | ||||
| The artifacts can be obtained by: | ||||
| * downloading from [Alfresco maven repository](https://artifacts.alfresco.com/nexus/#browse/browse:public) | ||||
| * downloading from [Alfresco maven repository](https://artifacts.alfresco.com/nexus/content/groups/public) | ||||
| * as Maven dependency by adding the dependency to your pom file: | ||||
|  | ||||
| ~~~xml | ||||
|  | ||||
| ~~~ | ||||
| <dependency> | ||||
|   <groupId>org.alfresco</groupId> | ||||
|   <artifactId>alfresco-core</artifactId> | ||||
| @@ -83,46 +64,34 @@ The artifacts can be obtained by: | ||||
|     <version>version</version> | ||||
|     <type>war</type> | ||||
| </dependency> | ||||
|  | ||||
| ~~~ | ||||
|  | ||||
| and Alfresco maven repository: | ||||
|  | ||||
| ~~~xml | ||||
|  | ||||
| ~~~ | ||||
| <repository> | ||||
|   <id>alfresco-maven-repo</id> | ||||
|   <url>https://artifacts.alfresco.com/nexus/content/groups/public</url> | ||||
| </repository> | ||||
|  | ||||
| ~~~ | ||||
|  | ||||
| The SNAPSHOT versions of the artifact are not published. | ||||
|  | ||||
| ## Setting up and building your development environment | ||||
|  | ||||
| See the [**Development Tomcat Environment**](https://github.com/Alfresco/acs-community-packaging/tree/master/dev/README.md) | ||||
| page which will show you how to try out your repository changes in a local Tomcat instance or using Docker containers.  | ||||
| See the [Development Tomcat Environment](https://github.com/Alfresco/acs-community-packaging/tree/master/dev/README.md) | ||||
| page which will show you how to try out your repository changes in a local tomcat instance. | ||||
| If you wish to use Docker images, take a look at the aliases ending in `D` and the docker-compose files in this | ||||
| project's test modules.     | ||||
|  | ||||
| ## Branches | ||||
|  | ||||
| This project has a branch for each ACS release. For example the code in ACS 6.2.2 is a | ||||
| branch called **`release/6.2.2`**. In addition to the original 6.2.2 release it will also contain Hot Fixes | ||||
| added later. The latest unreleased code is on the **`master`** branch. There are also **`.N`** branches, such as  | ||||
| **`release/7.1.N`** on which we gather unreleased fixes for future service pack releases. They do not indicate | ||||
| This project has a branch for each ACS release. For example the code in ACS 6.2.1 is a | ||||
| branch called `releases/6.2.2`. In addition to the original 6.2.2 release it will also contain Hot Fixes | ||||
| added later. The latest unreleased code is on the `master` branch. There are also `.N` branches, such as  | ||||
| `releases/7.1.N` on which we gather unreleased fixes for future service pack releases. They do not indicate | ||||
| that one is planned. | ||||
|  | ||||
| For historic reasons the version of artifacts created on each branch do not match the ACS version. | ||||
| For example artifact in ACS 7.2.0 will be **`14.<something>`**. | ||||
| For example artifact in ACS 7.2.0 will be `14.<something>`. | ||||
|  | ||||
| The enterprise projects which extend the **`alfresco-community-repo`** use the same branch names and leading | ||||
| The enterprise projects which extend the `alfresco-community-repo` use the same branch names and leading | ||||
| artifact version number. | ||||
|  | ||||
| ## Contributing guide | ||||
|  | ||||
| Please use [**this guide**](CONTRIBUTING.md) to make a contribution to the project. | ||||
|  | ||||
| ## Helpful links | ||||
|  | ||||
| - [Alfresco Content Services Documentation](https://docs.alfresco.com/content-services/latest/) | ||||
| - [Alfresco Platform](https://www.hyland.com/en/products/alfresco-platform) | ||||
| ### Contributing guide | ||||
| Please use [this guide](CONTRIBUTING.md) to make a contribution to the project. | ||||
							
								
								
									
										0
									
								
								amps/ags/ci/scripts/getLogs.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								amps/ags/ci/scripts/getLogs.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -7,22 +7,14 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-community-repo-amps</artifactId> | ||||
|       <version>25.3.0.2</version> | ||||
|       <version>16.35-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <modules> | ||||
|       <module>rm-community</module> | ||||
|       <module>rm-automation</module> | ||||
|    </modules> | ||||
|  | ||||
|    <profiles> | ||||
|       <profile> | ||||
|          <id>all-tas-tests</id> | ||||
|          <modules> | ||||
|             <module>rm-automation</module> | ||||
|          </modules> | ||||
|       </profile> | ||||
|    </profiles> | ||||
|  | ||||
|    <properties> | ||||
|       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||||
|       <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | ||||
| @@ -38,20 +30,16 @@ | ||||
|             <plugin> | ||||
|                <artifactId>maven-surefire-plugin</artifactId> | ||||
|                <configuration> | ||||
|                   <!-- Keeping illegal-access=permit for Java 11 compatibility, even though it has no effect on JDK 17 --> | ||||
|                   <argLine> | ||||
|                      --illegal-access=permit | ||||
|                      --add-opens=java.base/java.lang=ALL-UNNAMED | ||||
|                   </argLine> | ||||
|                </configuration> | ||||
|             </plugin> | ||||
|             <plugin> | ||||
|                <artifactId>maven-failsafe-plugin</artifactId> | ||||
|                <!-- Keeping illegal-access=permit for Java 11 compatibility, even though it has no effect on JDK 17 --> | ||||
|                <configuration> | ||||
|                   <argLine> | ||||
|                      --illegal-access=permit | ||||
|                      --add-opens=java.base/java.lang=ALL-UNNAMED | ||||
|                   </argLine> | ||||
|                </configuration> | ||||
|             </plugin> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-governance-services-community-parent</artifactId> | ||||
|       <version>25.3.0.2</version> | ||||
|       <version>16.35-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <modules> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-governance-services-automation-community-repo</artifactId> | ||||
|       <version>25.3.0.2</version> | ||||
|       <version>16.35-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <build> | ||||
| @@ -42,10 +42,15 @@ | ||||
|    </build> | ||||
|  | ||||
|    <dependencies> | ||||
|       <dependency> | ||||
|          <groupId>org.slf4j</groupId> | ||||
|          <artifactId>slf4j-reload4j</artifactId> | ||||
|          <version>1.7.35</version> | ||||
|          <scope>test</scope> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>org.alfresco.tas</groupId> | ||||
|          <artifactId>restapi</artifactId> | ||||
|          <version>${project.version}</version> | ||||
|          <exclusions> | ||||
|             <exclusion> | ||||
|                <groupId>org.alfresco.tas</groupId> | ||||
| @@ -74,12 +79,6 @@ | ||||
|          <artifactId>alfresco-testng</artifactId> | ||||
|          <version>1.1</version> | ||||
|       </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> | ||||
| @@ -88,25 +87,7 @@ | ||||
|       <dependency> | ||||
|          <groupId>com.github.docker-java</groupId> | ||||
|          <artifactId>docker-java</artifactId> | ||||
|          <version>3.4.0</version> | ||||
|          <exclusions> | ||||
|             <exclusion> | ||||
|                <groupId>org.bouncycastle</groupId> | ||||
|                <artifactId>bcprov-jdk15on</artifactId> | ||||
|             </exclusion> | ||||
|             <exclusion> | ||||
|                <groupId>org.bouncycastle</groupId> | ||||
|                <artifactId>bcpkix-jdk15on</artifactId> | ||||
|             </exclusion> | ||||
|          </exclusions> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>org.bouncycastle</groupId> | ||||
|          <artifactId>bcprov-jdk18on</artifactId> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>org.bouncycastle</groupId> | ||||
|          <artifactId>bcpkix-jdk18on</artifactId> | ||||
|          <version>3.2.12</version> | ||||
|       </dependency> | ||||
|    </dependencies> | ||||
| </project> | ||||
|   | ||||
| @@ -26,11 +26,12 @@ | ||||
|  */ | ||||
| package org.alfresco.rest.core; | ||||
|  | ||||
| import lombok.Getter; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.context.annotation.PropertySource; | ||||
|  | ||||
| import lombok.Getter; | ||||
|  | ||||
| /** | ||||
|  * Extends {@link RestProperties} to be able to change/add properties | ||||
|  * | ||||
| @@ -44,18 +45,18 @@ import org.springframework.context.annotation.PropertySource; | ||||
| @PropertySource(value = "classpath:local.properties", ignoreResourceNotFound = true) | ||||
| public class RMRestProperties extends RestProperties | ||||
| { | ||||
|     @Value("${alfresco.scheme}") | ||||
|     @Value ("${alfresco.scheme}") | ||||
|     private String scheme; | ||||
|  | ||||
|     @Value("${alfresco.server}") | ||||
|     @Value ("${alfresco.server}") | ||||
|     private String server; | ||||
|  | ||||
|     @Value("${alfresco.port}") | ||||
|     @Value ("${alfresco.port}") | ||||
|     private String port; | ||||
|  | ||||
|     @Value("${rest.rmPath}") | ||||
|     @Value ("${rest.rmPath}") | ||||
|     private String restRmPath; | ||||
|  | ||||
|     @Value("${docker.host}") | ||||
|     @Value ("${docker.host}") | ||||
|     private String dockerHost; | ||||
| } | ||||
|   | ||||
| @@ -27,11 +27,6 @@ | ||||
| package org.alfresco.rest.core; | ||||
|  | ||||
| import io.restassured.builder.RequestSpecBuilder; | ||||
| import lombok.Getter; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Scope; | ||||
| import org.springframework.http.HttpStatus; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import org.alfresco.rest.exception.EmptyJsonResponseException; | ||||
| import org.alfresco.rest.model.RestErrorModel; | ||||
| @@ -43,6 +38,12 @@ import org.alfresco.rest.requests.search.SearchAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.GSCoreAPI; | ||||
| import org.alfresco.utility.model.StatusModel; | ||||
| import org.alfresco.utility.model.UserModel; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Scope; | ||||
| import org.springframework.http.HttpStatus; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import lombok.Getter; | ||||
|  | ||||
| /** | ||||
|  * Extends {@link RestWrapper} in order to call GS APIs with our own properties | ||||
| @@ -152,18 +153,15 @@ public class RMRestWrapper | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * You can handle the request sent to server by calling this method. If for example you want to sent multipart form data you can use: | ||||
|      *  | ||||
|      * <pre> | ||||
|      * You can handle the request sent to server by calling this method. | ||||
|      * If for example you want to sent multipart form data you can use: <pre> | ||||
|      * restClient.configureRequestSpec() | ||||
|      *         .addMultiPart("filedata", Utility.getResourceTestDataFile("restapi-resource")) | ||||
|      *         .addFormParam("renditions", "doclib") | ||||
|      *         .addFormParam("autoRename", true); | ||||
|      *              .addMultiPart("filedata", Utility.getResourceTestDataFile("restapi-resource")) | ||||
|      *              .addFormParam("renditions", "doclib") | ||||
|      *              .addFormParam("autoRename", true); | ||||
|      * | ||||
|      * restClient.withCoreAPI().usingNode(ContentModel.my()).createNode(); | ||||
|      * </pre> | ||||
|      *  | ||||
|      * This will create the node using the multipart data defined. | ||||
|      * </pre> This will create the node using the multipart data defined. | ||||
|      */ | ||||
|     public RequestSpecBuilder configureRequestSpec() | ||||
|     { | ||||
| @@ -173,8 +171,7 @@ public class RMRestWrapper | ||||
|     /** | ||||
|      * Process a response that returns a html | ||||
|      * | ||||
|      * @throws EmptyJsonResponseException | ||||
|      *             If there is no response from the server. | ||||
|      * @throws EmptyJsonResponseException If there is no response from the server. | ||||
|      */ | ||||
|     public RestHtmlResponse processHtmlResponse(RestRequest simpleRequest) | ||||
|     { | ||||
|   | ||||
| @@ -28,14 +28,10 @@ package org.alfresco.rest.core; | ||||
|  | ||||
| import static lombok.AccessLevel.PROTECTED; | ||||
|  | ||||
| import jakarta.annotation.Resource; | ||||
| import javax.annotation.Resource; | ||||
|  | ||||
| import lombok.Getter; | ||||
| import lombok.Setter; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Scope; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import org.alfresco.rest.requests.Node; | ||||
| import org.alfresco.rest.requests.coreAPI.RestCoreAPI; | ||||
| import org.alfresco.rest.requests.search.SearchAPI; | ||||
| @@ -43,13 +39,11 @@ 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; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RecordFolderAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RecordsAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RetentionScheduleAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.TransferAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.TransferContainerAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledContainerAPI; | ||||
| @@ -57,6 +51,9 @@ import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI | ||||
| import org.alfresco.utility.data.DataUserAIS; | ||||
| import org.alfresco.utility.model.RepoTestModel; | ||||
| import org.alfresco.utility.model.UserModel; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Scope; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| /** | ||||
|  * REST API Factory which provides access to the APIs | ||||
| @@ -69,7 +66,7 @@ import org.alfresco.utility.model.UserModel; | ||||
| public class RestAPIFactory | ||||
| { | ||||
|     @Autowired | ||||
|     @Getter(value = PROTECTED) | ||||
|     @Getter (value = PROTECTED) | ||||
|     private DataUserAIS dataUser; | ||||
|  | ||||
|     @Resource(name = "RMRestWrapper") | ||||
| @@ -246,24 +243,4 @@ public class RestAPIFactory | ||||
|     { | ||||
|         return getGSCoreAPI(null).usingActionsExecutionsAPI(); | ||||
|     } | ||||
|  | ||||
|     public HoldsAPI getHoldsAPI() | ||||
|     { | ||||
|         return getGSCoreAPI(null).usingHoldsAPI(); | ||||
|     } | ||||
|  | ||||
|     public HoldsAPI getHoldsAPI(UserModel userModel) | ||||
|     { | ||||
|         return getGSCoreAPI(userModel).usingHoldsAPI(); | ||||
|     } | ||||
|  | ||||
|     public RetentionScheduleAPI getRetentionScheduleAPI() | ||||
|     { | ||||
|         return getGSCoreAPI(null).usingRetentionScheduleAPI(); | ||||
|     } | ||||
|  | ||||
|     public RetentionScheduleAPI getRetentionScheduleAPI(UserModel userModel) | ||||
|     { | ||||
|         return getGSCoreAPI(userModel).usingRetentionScheduleAPI(); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -44,13 +44,11 @@ public class SearchRequestBuilder extends SearchRequest | ||||
|     { | ||||
|         new SearchRequest(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Set the sql statement for the SearchRequest | ||||
|      * | ||||
|      * @param query | ||||
|      *            sql statement | ||||
|      * @return search request | ||||
|      * @param query sql statement | ||||
|      * @return search  request | ||||
|      */ | ||||
|     public SearchRequestBuilder setQueryBuilder(RestRequestQueryModel query) | ||||
|     { | ||||
| @@ -61,8 +59,7 @@ public class SearchRequestBuilder extends SearchRequest | ||||
|     /** | ||||
|      * Set the paging statement for the SearchRequest | ||||
|      * | ||||
|      * @param paging | ||||
|      *            pagination requested | ||||
|      * @param paging pagination requested | ||||
|      * @return search request | ||||
|      */ | ||||
|     public SearchRequestBuilder setPagingBuilder(Pagination paging) | ||||
| @@ -85,8 +82,7 @@ public class SearchRequestBuilder extends SearchRequest | ||||
|     /** | ||||
|      * Set the requested fields for the SearchRequest | ||||
|      * | ||||
|      * @param fields | ||||
|      *            requested fields | ||||
|      * @param fields requested fields | ||||
|      * @return search request | ||||
|      */ | ||||
|     public SearchRequestBuilder setFieldsBuilder(List<String> fields) | ||||
|   | ||||
| @@ -26,12 +26,12 @@ | ||||
|  */ | ||||
| package org.alfresco.rest.core.v0; | ||||
|  | ||||
| import javax.json.Json; | ||||
| import javax.json.JsonReader; | ||||
| import java.io.IOException; | ||||
| import java.io.InputStream; | ||||
| import java.time.format.DateTimeFormatter; | ||||
| import java.time.format.DateTimeFormatterBuilder; | ||||
| import jakarta.json.Json; | ||||
| import jakarta.json.JsonReader; | ||||
|  | ||||
| import org.apache.commons.io.IOUtils; | ||||
| import org.apache.http.HttpEntity; | ||||
| @@ -52,20 +52,20 @@ public class APIUtils | ||||
| { | ||||
|     /** Logger for this class. */ | ||||
|     private static final Logger LOGGER = LoggerFactory.getLogger(APIUtils.class); | ||||
|     /** | ||||
|      * The ISO instant formatter that formats or parses an instant in UTC, such as '2011-12-03T10:15:305Z' similar with {@link DateTimeFormatter#ISO_INSTANT}, but with only 3 nanoseconds | ||||
|      */ | ||||
|     public static final DateTimeFormatter ISO_INSTANT_FORMATTER = new DateTimeFormatterBuilder().appendInstant(3).toFormatter(); | ||||
|     /** The ISO instant formatter that formats or parses an instant in UTC, such as '2011-12-03T10:15:305Z' | ||||
|      * similar with {@link DateTimeFormatter#ISO_INSTANT}, but with only 3 nanoseconds*/ | ||||
|     public static final DateTimeFormatter ISO_INSTANT_FORMATTER = | ||||
|             new DateTimeFormatterBuilder().appendInstant(3).toFormatter(); | ||||
|  | ||||
|     /** Private constructor for helper class. */ | ||||
|     private APIUtils() | ||||
|     {} | ||||
|     { | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Extract the body of a HTTP response as a JSON object. | ||||
|      * | ||||
|      * @param httpResponse | ||||
|      *            The HTTP response. | ||||
|      * @param httpResponse The HTTP response. | ||||
|      * @return A JSON representation of the object. | ||||
|      */ | ||||
|     public static JSONObject convertHTTPResponseToJSON(HttpResponse httpResponse) | ||||
| @@ -86,8 +86,7 @@ public class APIUtils | ||||
|     /** | ||||
|      * Util method to extract the message string from the HTTP response | ||||
|      * | ||||
|      * @param httpResponse | ||||
|      *            http response | ||||
|      * @param httpResponse http response | ||||
|      * @return error message from the http response | ||||
|      */ | ||||
|     public static String extractErrorMessageFromHttpResponse(HttpResponse httpResponse) | ||||
|   | ||||
| @@ -39,6 +39,9 @@ import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
|  | ||||
| import org.alfresco.dataprep.AlfrescoHttpClient; | ||||
| import org.alfresco.dataprep.AlfrescoHttpClientFactory; | ||||
| import org.alfresco.dataprep.ContentService; | ||||
| import org.apache.chemistry.opencmis.client.api.CmisObject; | ||||
| import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException; | ||||
| import org.apache.http.HttpResponse; | ||||
| @@ -61,10 +64,6 @@ import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  | ||||
| import org.alfresco.dataprep.AlfrescoHttpClient; | ||||
| import org.alfresco.dataprep.AlfrescoHttpClientFactory; | ||||
| import org.alfresco.dataprep.ContentService; | ||||
|  | ||||
| /** | ||||
|  * The base API class containing common methods for making v0 API requests | ||||
|  * | ||||
| @@ -99,11 +98,9 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Helper method to extract list of properties values from result. | ||||
|      * | ||||
|      * @param result | ||||
|      *            the response | ||||
|      * @param result the response | ||||
|      * @return list of specified property values in result | ||||
|      * @throws RuntimeException | ||||
|      *             for malformed response | ||||
|      * @throws RuntimeException for malformed response | ||||
|      */ | ||||
|     protected List<String> getPropertyValues(JSONObject result, String propertyName) | ||||
|     { | ||||
| @@ -127,7 +124,7 @@ public abstract class BaseAPI | ||||
|  | ||||
|     /** | ||||
|      * Helper method to extract the property value for the given nodeRef and property name | ||||
|      * | ||||
|      *  | ||||
|      * @param result | ||||
|      * @param nodeRef | ||||
|      * @param propertyName | ||||
| @@ -142,7 +139,7 @@ public abstract class BaseAPI | ||||
|             for (int i = 0; i < items.length(); i++) | ||||
|             { | ||||
|                 JSONObject item = items.getJSONObject(i); | ||||
|                 if (nodeRef.equals(item.getString("nodeRef"))) | ||||
|                 if(nodeRef.equals(item.getString("nodeRef"))) | ||||
|                 { | ||||
|                     propertyValue = item.getJSONObject("properties").getString(propertyName); | ||||
|                 } | ||||
| @@ -155,15 +152,13 @@ public abstract class BaseAPI | ||||
|  | ||||
|         return propertyValue; | ||||
|     } | ||||
|  | ||||
|      | ||||
|     /** | ||||
|      * Helper method to extract property values from request result and put them in map as a list that corresponds to a unique property value. | ||||
|      * | ||||
|      * @param requestResult | ||||
|      *            the request response | ||||
|      * @param requestResult the request response | ||||
|      * @return a map containing information about multiple properties values that correspond to a unique one | ||||
|      * @throws RuntimeException | ||||
|      *             for malformed response | ||||
|      * @throws RuntimeException for malformed response | ||||
|      */ | ||||
|     protected Map<String, List<String>> getPropertyValuesByUniquePropertyValue(JSONObject requestResult, String uniqueProperty, List<String> otherProperties) | ||||
|     { | ||||
| @@ -194,12 +189,11 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Retrieves the nodeRef of an item (category, folder or record) with the given path | ||||
|      * | ||||
|      * @param username | ||||
|      *            the username | ||||
|      * @param password | ||||
|      *            the password | ||||
|      * @param path | ||||
|      *            the path to the container eg. in case of a category it would be the category name, in case of a folder it would be /categoryName/folderName when trying to get File Plan, the path would be "" | ||||
|      * @param username the username | ||||
|      * @param password the password | ||||
|      * @param path     the path to the container eg. in case of a category it would be the category name, | ||||
|      *                 in case of a folder it would be /categoryName/folderName | ||||
|      *                 when trying to get File Plan, the path would be "" | ||||
|      * @return the container nodeRef | ||||
|      */ | ||||
|     public String getItemNodeRef(String username, String password, String path) | ||||
| @@ -210,12 +204,9 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Retrieve a Cmis object by its path | ||||
|      * | ||||
|      * @param username | ||||
|      *            the user's username | ||||
|      * @param password | ||||
|      *            its password | ||||
|      * @param path | ||||
|      *            the object path | ||||
|      * @param username the user's username | ||||
|      * @param password its password | ||||
|      * @param path     the object path | ||||
|      * @return the object in case it exists, null if its does not exist | ||||
|      */ | ||||
|     protected CmisObject getObjectByPath(String username, String password, String path) | ||||
| @@ -224,8 +215,7 @@ public abstract class BaseAPI | ||||
|         try | ||||
|         { | ||||
|             object = contentService.getCMISSession(username, password).getObjectByPath(path); | ||||
|         } | ||||
|         catch (CmisObjectNotFoundException notFoundError) | ||||
|         } catch (CmisObjectNotFoundException notFoundError) | ||||
|         { | ||||
|             return null; | ||||
|         } | ||||
| @@ -235,12 +225,9 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Generic faceted request. | ||||
|      * | ||||
|      * @param username | ||||
|      *            the username | ||||
|      * @param password | ||||
|      *            the password | ||||
|      * @param parameters | ||||
|      *            if the request has parameters | ||||
|      * @param username the username | ||||
|      * @param password the password | ||||
|      * @param parameters if the request has parameters | ||||
|      * @return result object (see API reference for more details), null for any errors | ||||
|      */ | ||||
|     protected JSONObject facetedRequest(String username, String password, List<NameValuePair> parameters, String requestURI) | ||||
| @@ -250,13 +237,13 @@ public abstract class BaseAPI | ||||
|  | ||||
|         if (parameters == null || parameters.isEmpty()) | ||||
|         { | ||||
|             requestURL = MessageFormat.format( | ||||
|              requestURL = MessageFormat.format( | ||||
|                     requestURI, | ||||
|                     client.getAlfrescoUrl()); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             requestURL = MessageFormat.format( | ||||
|              requestURL = MessageFormat.format( | ||||
|                     requestURI, | ||||
|                     client.getAlfrescoUrl(), | ||||
|                     URLEncodedUtils.format(parameters, "UTF-8")); | ||||
| @@ -268,26 +255,21 @@ public abstract class BaseAPI | ||||
|  | ||||
|     /** | ||||
|      * Helper method for GET requests | ||||
|      *  | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param urlTemplate | ||||
|      *            request URL template | ||||
|      * @param urlTemplateParams | ||||
|      *            zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param urlTemplate request URL template | ||||
|      * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i> | ||||
|      */ | ||||
|     protected JSONObject doGetRequest(String adminUser, | ||||
|             String adminPassword, | ||||
|             String urlTemplate, | ||||
|             String... urlTemplateParams) | ||||
|         String adminPassword, | ||||
|         String urlTemplate, | ||||
|         String ... urlTemplateParams) | ||||
|     { | ||||
|         AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); | ||||
|         String requestUrl = MessageFormat.format( | ||||
|                 urlTemplate, | ||||
|                 client.getApiUrl(), | ||||
|                 urlTemplateParams); | ||||
|             urlTemplate, | ||||
|             client.getApiUrl(), | ||||
|             urlTemplateParams); | ||||
|         client.close(); | ||||
|  | ||||
|         try | ||||
| @@ -302,26 +284,21 @@ public abstract class BaseAPI | ||||
|  | ||||
|     /** | ||||
|      * Helper method for Delete requests | ||||
|      *  | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param urlTemplate | ||||
|      *            request URL template | ||||
|      * @param urlTemplateParams | ||||
|      *            zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param urlTemplate request URL template | ||||
|      * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i> | ||||
|      */ | ||||
|     protected JSONObject doDeleteRequest(String adminUser, | ||||
|             String adminPassword, | ||||
|             String urlTemplate, | ||||
|             String... urlTemplateParams) | ||||
|         String adminPassword, | ||||
|         String urlTemplate, | ||||
|         String ... urlTemplateParams) | ||||
|     { | ||||
|         AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); | ||||
|         String requestUrl = MessageFormat.format( | ||||
|                 urlTemplate, | ||||
|                 client.getApiUrl(), | ||||
|                 urlTemplateParams); | ||||
|             urlTemplate, | ||||
|             client.getApiUrl(), | ||||
|             urlTemplateParams); | ||||
|         client.close(); | ||||
|  | ||||
|         try | ||||
| @@ -336,29 +313,23 @@ public abstract class BaseAPI | ||||
|  | ||||
|     /** | ||||
|      * Helper method for PUT requests | ||||
|      *  | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param requestParams | ||||
|      *            zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate | ||||
|      *            request URL template | ||||
|      * @param urlTemplateParams | ||||
|      *            zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param requestParams zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate request URL template | ||||
|      * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i> | ||||
|      */ | ||||
|     protected JSONObject doPutRequest(String adminUser, | ||||
|             String adminPassword, | ||||
|             JSONObject requestParams, | ||||
|             String urlTemplate, | ||||
|             String... urlTemplateParams) | ||||
|         String adminPassword, | ||||
|         JSONObject requestParams, | ||||
|         String urlTemplate, | ||||
|         String ... urlTemplateParams) | ||||
|     { | ||||
|         AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); | ||||
|         String requestUrl = MessageFormat.format( | ||||
|                 urlTemplate, | ||||
|                 client.getApiUrl(), | ||||
|                 urlTemplateParams); | ||||
|             urlTemplate, | ||||
|             client.getApiUrl(), | ||||
|             urlTemplateParams); | ||||
|         client.close(); | ||||
|  | ||||
|         try | ||||
| @@ -374,25 +345,19 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Helper method for PUT requests | ||||
|      * | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param expectedStatusCode | ||||
|      *            The expected return status code. | ||||
|      * @param requestParams | ||||
|      *            zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate | ||||
|      *            request URL template | ||||
|      * @param urlTemplateParams | ||||
|      *            zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param expectedStatusCode The expected return status code. | ||||
|      * @param requestParams zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate request URL template | ||||
|      * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i> | ||||
|      */ | ||||
|     protected HttpResponse doPutJsonRequest(String adminUser, | ||||
|             String adminPassword, | ||||
|             int expectedStatusCode, | ||||
|             JSONObject requestParams, | ||||
|             String urlTemplate, | ||||
|             String... urlTemplateParams) | ||||
|                 String adminPassword, | ||||
|                 int expectedStatusCode, | ||||
|                 JSONObject requestParams, | ||||
|                 String urlTemplate, | ||||
|                 String... urlTemplateParams) | ||||
|     { | ||||
|         AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); | ||||
|         return doPutJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getApiUrl(), requestParams, urlTemplate, urlTemplateParams); | ||||
| @@ -401,30 +366,22 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Helper method for PUT requests | ||||
|      * | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param expectedStatusCode | ||||
|      *            The expected return status code. | ||||
|      * @param urlStart | ||||
|      *            the start of the URL (for example "alfresco/s/slingshot"). | ||||
|      * @param requestParams | ||||
|      *            zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate | ||||
|      *            request URL template | ||||
|      * @param urlTemplateParams | ||||
|      *            zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @throws AssertionError | ||||
|      *             if the returned status code is not as expected. | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param expectedStatusCode The expected return status code. | ||||
|      * @param urlStart the start of the URL (for example "alfresco/s/slingshot"). | ||||
|      * @param requestParams zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate request URL template | ||||
|      * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @throws AssertionError if the returned status code is not as expected. | ||||
|      */ | ||||
|     private HttpResponse doPutJsonRequest(String adminUser, | ||||
|             String adminPassword, | ||||
|             int expectedStatusCode, | ||||
|             String urlStart, | ||||
|             JSONObject requestParams, | ||||
|             String urlTemplate, | ||||
|             String... urlTemplateParams) | ||||
|                 String adminPassword, | ||||
|                 int expectedStatusCode, | ||||
|                 String urlStart, | ||||
|                 JSONObject requestParams, | ||||
|                 String urlTemplate, | ||||
|                 String... urlTemplateParams) | ||||
|     { | ||||
|         String requestUrl = formatRequestUrl(urlStart, urlTemplate, urlTemplateParams); | ||||
|         try | ||||
| @@ -442,12 +399,9 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Fill in the parameters for a URL template. | ||||
|      * | ||||
|      * @param urlStart | ||||
|      *            The start of the URL. | ||||
|      * @param urlTemplate | ||||
|      *            The template. | ||||
|      * @param urlTemplateParams | ||||
|      *            Any parameters that need to be filled into the URL template. | ||||
|      * @param urlStart The start of the URL. | ||||
|      * @param urlTemplate The template. | ||||
|      * @param urlTemplateParams Any parameters that need to be filled into the URL template. | ||||
|      * @return The resultant URL. | ||||
|      */ | ||||
|     private String formatRequestUrl(String urlStart, String urlTemplate, String[] urlTemplateParams) | ||||
| @@ -462,29 +416,23 @@ public abstract class BaseAPI | ||||
|  | ||||
|     /** | ||||
|      * Helper method for POST requests | ||||
|      *  | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param requestParams | ||||
|      *            zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate | ||||
|      *            request URL template | ||||
|      * @param urlTemplateParams | ||||
|      *            zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param requestParams zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate request URL template | ||||
|      * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i> | ||||
|      */ | ||||
|     protected JSONObject doPostRequest(String adminUser, | ||||
|             String adminPassword, | ||||
|             JSONObject requestParams, | ||||
|             String urlTemplate, | ||||
|             String... urlTemplateParams) | ||||
|         String adminPassword, | ||||
|         JSONObject requestParams, | ||||
|         String urlTemplate, | ||||
|         String ... urlTemplateParams) | ||||
|     { | ||||
|         AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); | ||||
|         String requestUrl = MessageFormat.format( | ||||
|                 urlTemplate, | ||||
|                 client.getApiUrl(), | ||||
|                 urlTemplateParams); | ||||
|             urlTemplate, | ||||
|             client.getApiUrl(), | ||||
|             urlTemplateParams); | ||||
|         client.close(); | ||||
|  | ||||
|         try | ||||
| @@ -500,25 +448,19 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Helper method for POST requests | ||||
|      * | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param expectedStatusCode | ||||
|      *            The expected return status code. | ||||
|      * @param requestParams | ||||
|      *            zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate | ||||
|      *            request URL template | ||||
|      * @param urlTemplateParams | ||||
|      *            zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param expectedStatusCode The expected return status code. | ||||
|      * @param requestParams zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate request URL template | ||||
|      * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i> | ||||
|      */ | ||||
|     protected HttpResponse doPostJsonRequest(String adminUser, | ||||
|             String adminPassword, | ||||
|             int expectedStatusCode, | ||||
|             JSONObject requestParams, | ||||
|             String urlTemplate, | ||||
|             String... urlTemplateParams) | ||||
|                                     String adminPassword, | ||||
|                                     int expectedStatusCode, | ||||
|                                     JSONObject requestParams, | ||||
|                                     String urlTemplate, | ||||
|                                     String... urlTemplateParams) | ||||
|     { | ||||
|         AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); | ||||
|         return doPostJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getApiUrl(), requestParams, urlTemplate, urlTemplateParams); | ||||
| @@ -527,25 +469,19 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Helper method for POST requests to slingshot. | ||||
|      * | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param expectedStatusCode | ||||
|      *            The expected return status code. | ||||
|      * @param requestParams | ||||
|      *            zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate | ||||
|      *            request URL template | ||||
|      * @param urlTemplateParams | ||||
|      *            zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param expectedStatusCode The expected return status code. | ||||
|      * @param requestParams zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate request URL template | ||||
|      * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i> | ||||
|      */ | ||||
|     protected HttpResponse doSlingshotPostJsonRequest(String adminUser, | ||||
|             String adminPassword, | ||||
|             int expectedStatusCode, | ||||
|             JSONObject requestParams, | ||||
|             String urlTemplate, | ||||
|             String... urlTemplateParams) | ||||
|                 String adminPassword, | ||||
|                 int expectedStatusCode, | ||||
|                 JSONObject requestParams, | ||||
|                 String urlTemplate, | ||||
|                 String... urlTemplateParams) | ||||
|     { | ||||
|         AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); | ||||
|         return doPostJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getAlfrescoUrl() + SLINGSHOT_PREFIX, requestParams, urlTemplate, urlTemplateParams); | ||||
| @@ -554,42 +490,29 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Helper method for POST requests | ||||
|      * | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param expectedStatusCode | ||||
|      *            The expected return status code. | ||||
|      * @param urlStart | ||||
|      *            the start of the URL (for example "alfresco/s/slingshot"). | ||||
|      * @param requestParams | ||||
|      *            zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate | ||||
|      *            request URL template | ||||
|      * @param urlTemplateParams | ||||
|      *            zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @throws AssertionError | ||||
|      *             if the returned status code is not as expected. | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param expectedStatusCode The expected return status code. | ||||
|      * @param urlStart the start of the URL (for example "alfresco/s/slingshot"). | ||||
|      * @param requestParams zero or more endpoint specific request parameters | ||||
|      * @param urlTemplate request URL template | ||||
|      * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i> | ||||
|      * @throws AssertionError if the returned status code is not as expected. | ||||
|      */ | ||||
|     private HttpResponse doPostJsonRequest(String adminUser, | ||||
|             String adminPassword, | ||||
|             int expectedStatusCode, | ||||
|             String urlStart, | ||||
|             JSONObject requestParams, | ||||
|             String urlTemplate, | ||||
|             String... urlTemplateParams) | ||||
|                 String adminPassword, | ||||
|                 int expectedStatusCode, | ||||
|                 String urlStart, | ||||
|                 JSONObject requestParams, | ||||
|                 String urlTemplate, | ||||
|                 String... urlTemplateParams) | ||||
|     { | ||||
|         String requestUrl; | ||||
|         requestUrl = formatRequestUrl(urlStart, urlTemplate, urlTemplateParams); | ||||
|         try | ||||
|         { | ||||
|             HttpResponse httpResponse = doRequestJson(HttpPost.class, requestUrl, adminUser, adminPassword, requestParams); | ||||
|             if (httpResponse.getStatusLine().getStatusCode() != expectedStatusCode) | ||||
|             { | ||||
|                 // It's only possible to stream the response body once, so ensure we only do this if the test has failed. | ||||
|                 JSONObject responseJson = responseBodyToJson(httpResponse); | ||||
|                 assertEquals("POST request to " + requestUrl + " was not successful. Response: " + responseJson, expectedStatusCode, httpResponse.getStatusLine().getStatusCode()); | ||||
|             } | ||||
|             assertEquals("POST request to " + requestUrl + " was not successful.", expectedStatusCode, httpResponse.getStatusLine().getStatusCode()); | ||||
|             return httpResponse; | ||||
|         } | ||||
|         catch (InstantiationException | IllegalAccessException error) | ||||
| @@ -598,58 +521,23 @@ public abstract class BaseAPI | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Try to convert the response body to a JSON object. | ||||
|      * | ||||
|      * @param response | ||||
|      *            The response. | ||||
|      * @return The JSON object or null if it was not possible to convert the response. | ||||
|      */ | ||||
|     private JSONObject responseBodyToJson(HttpResponse response) | ||||
|     { | ||||
|         try | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|                 return new JSONObject(EntityUtils.toString(response.getEntity())); | ||||
|             } | ||||
|             catch (JSONException error) | ||||
|             { | ||||
|                 LOGGER.error("Converting message body to JSON failed. Body: {}", response.getEntity().getContent(), error); | ||||
|             } | ||||
|         } | ||||
|         catch (ParseException | IOException error) | ||||
|         { | ||||
|             LOGGER.error("Parsing message body failed.", error); | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Helper method for handling generic HTTP requests | ||||
|      *  | ||||
|      * @param requestType | ||||
|      *            request type (a subclass of {@link HttpRequestBase}) | ||||
|      * @param requestUrl | ||||
|      *            URL the request is to be sent to | ||||
|      * @param adminUser | ||||
|      *            user with administrative privileges | ||||
|      * @param adminPassword | ||||
|      *            password for adminUser | ||||
|      * @param requestParams | ||||
|      *            endpoint specific request parameters | ||||
|      * @param requestType request type (a subclass of {@link HttpRequestBase}) | ||||
|      * @param requestUrl URL the request is to be sent to | ||||
|      * @param adminUser user with administrative privileges | ||||
|      * @param adminPassword password for adminUser | ||||
|      * @param requestParams endpoint specific request parameters | ||||
|      * @return response body | ||||
|      * @throws IllegalAccessException | ||||
|      *             for invalid <i>requestType</i> | ||||
|      * @throws InstantiationException | ||||
|      *             for invalid <i>requestType</i> | ||||
|      * @throws IllegalAccessException for invalid <i>requestType</i> | ||||
|      * @throws InstantiationException for invalid <i>requestType</i> | ||||
|      */ | ||||
|     private <T extends HttpRequestBase> JSONObject doRequest( | ||||
|             Class<T> requestType, | ||||
|             String requestUrl, | ||||
|             String adminUser, | ||||
|             String adminPassword, | ||||
|             JSONObject requestParams) throws InstantiationException, IllegalAccessException | ||||
|         Class<T> requestType, | ||||
|         String requestUrl, | ||||
|         String adminUser, | ||||
|         String adminPassword, | ||||
|         JSONObject requestParams) throws InstantiationException, IllegalAccessException | ||||
|     { | ||||
|         AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); | ||||
|         T request = requestType.newInstance(); | ||||
| @@ -670,38 +558,49 @@ public abstract class BaseAPI | ||||
|             HttpResponse response = client.execute(adminUser, adminPassword, request); | ||||
|             LOGGER.info("Response: {}", response.getStatusLine()); | ||||
|  | ||||
|             responseBody = responseBodyToJson(response); | ||||
|             try | ||||
|             { | ||||
|                 responseBody = new JSONObject(EntityUtils.toString(response.getEntity())); | ||||
|             } | ||||
|             catch (JSONException error) | ||||
|             { | ||||
|                 LOGGER.error("Converting message body to JSON failed. Body: {}", responseBody, error); | ||||
|             } | ||||
|             catch (ParseException | IOException error) | ||||
|             { | ||||
|                 LOGGER.error("Parsing message body failed.", error); | ||||
|             } | ||||
|  | ||||
|             switch (response.getStatusLine().getStatusCode()) | ||||
|             { | ||||
|             case HttpStatus.SC_OK: | ||||
|             case HttpStatus.SC_CREATED: | ||||
|                 // request successful | ||||
|                 if (responseBody != null) | ||||
|                 { | ||||
|                     returnValues = responseBody; | ||||
|                 } | ||||
|                 break; | ||||
|                 case HttpStatus.SC_OK: | ||||
|                 case HttpStatus.SC_CREATED: | ||||
|                     // request successful | ||||
|                     if (responseBody != null) | ||||
|                     { | ||||
|                         returnValues = responseBody; | ||||
|                     } | ||||
|                     break; | ||||
|  | ||||
|             case HttpStatus.SC_INTERNAL_SERVER_ERROR: | ||||
|                 if (responseBody != null && responseBody.has(EXCEPTION_KEY)) | ||||
|                 { | ||||
|                     LOGGER.error("Request failed with error message: {}", responseBody.getString(MESSAGE_KEY)); | ||||
|                     returnValues = responseBody; | ||||
|                 } | ||||
|                 break; | ||||
|             case HttpStatus.SC_BAD_REQUEST: | ||||
|             case HttpStatus.SC_UNPROCESSABLE_ENTITY: | ||||
|                 if (responseBody != null && responseBody.has(EXCEPTION_KEY)) | ||||
|                 { | ||||
|                     LOGGER.error("Request failed: {}", responseBody.getString(EXCEPTION_KEY)); | ||||
|                     returnValues = responseBody; | ||||
|                 } | ||||
|                 break; | ||||
|                 case HttpStatus.SC_INTERNAL_SERVER_ERROR: | ||||
| 					if (responseBody != null  && responseBody.has(EXCEPTION_KEY)) | ||||
|                     { | ||||
|                         LOGGER.error("Request failed with error message: {}", responseBody.getString(MESSAGE_KEY)); | ||||
|                         returnValues = responseBody; | ||||
|                     } | ||||
|                     break; | ||||
|                 case HttpStatus.SC_BAD_REQUEST: | ||||
|                 case HttpStatus.SC_UNPROCESSABLE_ENTITY: | ||||
|                     if (responseBody != null  && responseBody.has(EXCEPTION_KEY)) | ||||
|                     { | ||||
|                         LOGGER.error("Request failed: {}", responseBody.getString(EXCEPTION_KEY)); | ||||
|                         returnValues = responseBody; | ||||
|                     } | ||||
|                     break; | ||||
|  | ||||
|             default: | ||||
|                 LOGGER.error("Request returned unexpected HTTP status {}", response.getStatusLine().getStatusCode()); | ||||
|                 break; | ||||
|                 default: | ||||
|                     LOGGER.error("Request returned unexpected HTTP status {}", response.getStatusLine().getStatusCode()); | ||||
|                     break; | ||||
|             } | ||||
|         } | ||||
|         catch (JSONException error) | ||||
| @@ -767,16 +666,40 @@ public abstract class BaseAPI | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Used to set RM items properties including records, categories and folders | ||||
|      * Used to set RM items properties | ||||
|      * including records, categories and folders | ||||
|      */ | ||||
|     public enum RMProperty | ||||
|     { | ||||
|         NAME, TITLE, CONTENT, DESCRIPTION, AUTHOR, PHYSICAL_SIZE, NUMBER_OF_COPIES, STORAGE_LOCATION, SHELF, BOX, FILE, ORIGINATOR, ORIGINATING_ORGANIZATION, PUBLICATION_DATE | ||||
|         NAME, | ||||
|         TITLE, | ||||
|         CONTENT, | ||||
|         DESCRIPTION, | ||||
|         AUTHOR, | ||||
|         PHYSICAL_SIZE, | ||||
|         NUMBER_OF_COPIES, | ||||
|         STORAGE_LOCATION, | ||||
|         SHELF, | ||||
|         BOX, | ||||
|         FILE, | ||||
|         ORIGINATOR, | ||||
|         ORIGINATING_ORGANIZATION, | ||||
|         PUBLICATION_DATE | ||||
|     } | ||||
|  | ||||
|     public enum RETENTION_SCHEDULE | ||||
|     { | ||||
|         NAME, DESCRIPTION, RETENTION_AUTHORITY, RETENTION_INSTRUCTIONS, RETENTION_PERIOD, RETENTION_LOCATION, RETENTION_PERIOD_PROPERTY, RETENTION_GHOST, RETENTION_ELIGIBLE_FIRST_EVENT, RETENTION_EVENTS, COMBINE_DISPOSITION_STEP_CONDITIONS | ||||
|         NAME, | ||||
|         DESCRIPTION, | ||||
|         RETENTION_AUTHORITY, | ||||
|         RETENTION_INSTRUCTIONS, | ||||
|         RETENTION_PERIOD, | ||||
|         RETENTION_LOCATION, | ||||
|         RETENTION_PERIOD_PROPERTY, | ||||
|         RETENTION_GHOST, | ||||
|         RETENTION_ELIGIBLE_FIRST_EVENT, | ||||
|         RETENTION_EVENTS, | ||||
|         COMBINE_DISPOSITION_STEP_CONDITIONS | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -784,8 +707,14 @@ public abstract class BaseAPI | ||||
|      */ | ||||
|     public enum RM_ACTIONS | ||||
|     { | ||||
|         EDIT_DISPOSITION_DATE("editDispositionActionAsOfDate"), END_RETENTION("retain"), CUT_OFF("cutoff"), UNDO_CUT_OFF("undoCutoff"), TRANSFER("transfer"), COMPLETE_EVENT("completeEvent"), UNDO_EVENT("undoEvent"), DESTROY("destroy"); | ||||
|  | ||||
|         EDIT_DISPOSITION_DATE("editDispositionActionAsOfDate"), | ||||
|         END_RETENTION("retain"), | ||||
|         CUT_OFF("cutoff"), | ||||
|         UNDO_CUT_OFF("undoCutoff"), | ||||
|         TRANSFER("transfer"), | ||||
|         COMPLETE_EVENT("completeEvent"), | ||||
|         UNDO_EVENT("undoEvent"), | ||||
|         DESTROY("destroy"); | ||||
|         String action; | ||||
|  | ||||
|         private RM_ACTIONS(String action) | ||||
| @@ -801,16 +730,17 @@ public abstract class BaseAPI | ||||
|  | ||||
|     public enum PermissionType | ||||
|     { | ||||
|         SET_READ, REMOVE_READ, SET_READ_AND_FILE, REMOVE_READ_AND_FILE, | ||||
|         SET_READ, | ||||
|         REMOVE_READ, | ||||
|         SET_READ_AND_FILE, | ||||
|         REMOVE_READ_AND_FILE, | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Util to return the property value from a map | ||||
|      * | ||||
|      * @param properties | ||||
|      *            the map containing properties | ||||
|      * @param property | ||||
|      *            to get value for | ||||
|      * @param properties the map containing properties | ||||
|      * @param property   to get value for | ||||
|      * @return the property value | ||||
|      */ | ||||
|     public <K extends Enum<?>> String getPropertyValue(Map<K, String> properties, Enum<?> property) | ||||
| @@ -826,14 +756,10 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Retrieves the property value and decides if that gets to be added to the request | ||||
|      * | ||||
|      * @param requestParams | ||||
|      *            the request parameters | ||||
|      * @param propertyRequestValue | ||||
|      *            the property name in the request, eg. "prop_cm_name" | ||||
|      * @param itemProperties | ||||
|      *            map of item's properties values | ||||
|      * @param property | ||||
|      *            the property in the property map to check value for | ||||
|      * @param requestParams        the request parameters | ||||
|      * @param propertyRequestValue the property name in the request, eg. "prop_cm_name" | ||||
|      * @param itemProperties       map of item's properties values | ||||
|      * @param property             the property in the property map to check value for | ||||
|      * @return the json object used in request with the property with its value added if that is not null or empty | ||||
|      */ | ||||
|     protected <K extends Enum<?>> JSONObject addPropertyToRequest(JSONObject requestParams, String propertyRequestValue, Map<K, String> itemProperties, Enum<?> property) throws JSONException | ||||
| @@ -850,14 +776,12 @@ public abstract class BaseAPI | ||||
|     /** | ||||
|      * Deletes the category, folder or record given as parameter | ||||
|      * | ||||
|      * @param username | ||||
|      *            the username with whom the delete is performed | ||||
|      * @param password | ||||
|      *            the user's password | ||||
|      * @param itemPath | ||||
|      *            the path to the item eg. in case of a category it would be the "/" + category name, in case of a folder or subCategory it would be /categoryName/folderName or /categoryName/subCategoryName/ in case of a record /categoryName/folderName/recordName | ||||
|      * @throws AssertionError | ||||
|      *             if the delete was not successful. | ||||
|      * @param username the username with whom the delete is performed | ||||
|      * @param password the user's password | ||||
|      * @param itemPath the path to the item eg. in case of a category it would be the "/" + category name, | ||||
|      *                 in case of a folder or subCategory it would be /categoryName/folderName or /categoryName/subCategoryName/ | ||||
|      *                 in case of a record /categoryName/folderName/recordName | ||||
|      * @throws AssertionError if the delete was not successful. | ||||
|      */ | ||||
|     protected void deleteItem(String username, String password, String itemPath) | ||||
|     { | ||||
|   | ||||
| @@ -28,8 +28,13 @@ package org.alfresco.rest.core.v0; | ||||
|  | ||||
| public enum RMEvents | ||||
| { | ||||
|     ABOLISHED("abolished"), ALL_ALLOWANCES_GRANTED_ARE_TERMINATED("all_allowances_granted_are_terminated"), CASE_CLOSED("case_closed"), DECLASSIFICATION_REVIEW("declassification_review"), OBSOLETE("obsolete"), NO_LONGER_NEEDED("no_longer_needed"), STUDY_COMPLETE("study_complete"); | ||||
|  | ||||
|     ABOLISHED("abolished"), | ||||
|     ALL_ALLOWANCES_GRANTED_ARE_TERMINATED("all_allowances_granted_are_terminated"), | ||||
|     CASE_CLOSED("case_closed"), | ||||
|     DECLASSIFICATION_REVIEW("declassification_review"), | ||||
|     OBSOLETE("obsolete"), | ||||
|     NO_LONGER_NEEDED("no_longer_needed"), | ||||
|     STUDY_COMPLETE("study_complete"); | ||||
|     private String eventName; | ||||
|  | ||||
|     RMEvents(String eventName) | ||||
|   | ||||
| @@ -1,30 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
|  | ||||
| public record CapabilityModel(String name, String title, String description, GroupModel group, int index) | ||||
| {} | ||||
| @@ -1,30 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
|  | ||||
| public record GroupModel(String id, String title) | ||||
| {} | ||||
| @@ -30,11 +30,11 @@ import java.util.List; | ||||
|  | ||||
| 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; | ||||
|  | ||||
| /** | ||||
| @@ -47,43 +47,43 @@ import org.alfresco.utility.model.TestModel; | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| @JsonIgnoreProperties(ignoreUnknown = true) | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class AuditEntry extends TestModel | ||||
| { | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeName; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private List<Object> changedValues; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String identifier; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String path; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeRef; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String fullName; | ||||
|  | ||||
|     @JsonProperty | ||||
|     private String createPerson; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String userName; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String userRole; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String event; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String timestamp; | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -29,13 +29,24 @@ package org.alfresco.rest.rm.community.model.audit; | ||||
| /** | ||||
|  * Enumerates the list of events audited | ||||
|  * | ||||
|  * @author Rodica Sutu | ||||
|  * @author  Rodica Sutu | ||||
|  * @since 2.7 | ||||
|  * | ||||
|  */ | ||||
| public enum AuditEvents | ||||
| { | ||||
|     CREATE_PERSON("Create Person", "Create User"), DELETE_PERSON("Delete Person", "Delete User"), CREATE_USER_GROUP("Create User Group", "Create User Group"), DELETE_USER_GROUP("Delete User Group", "Delete User Group"), ADD_TO_USER_GROUP("Add To User Group", "Add To User Group"), REMOVE_FROM_USER_GROUP("Remove From User Group", "Remove From User Group"), LOGIN_UNSUCCESSFUL("Login.Failure", "Login Unsuccessful"), LOGIN_SUCCESSFUL("Login.Success", "Login Successful"), CREATE_HOLD("Create Hold", "Create Hold"), DELETE_HOLD("Delete Hold", "Delete Hold"), ADD_TO_HOLD("Add To Hold", "Add To Hold"), REMOVE_FROM_HOLD("Remove From Hold", "Remove From Hold"); | ||||
|     CREATE_PERSON("Create Person", "Create User"), | ||||
|     DELETE_PERSON("Delete Person", "Delete User"), | ||||
|     CREATE_USER_GROUP("Create User Group", "Create User Group"), | ||||
|     DELETE_USER_GROUP("Delete User Group", "Delete User Group"), | ||||
|     ADD_TO_USER_GROUP("Add To User Group", "Add To User Group"), | ||||
|     REMOVE_FROM_USER_GROUP("Remove From User Group", "Remove From User Group"), | ||||
|     LOGIN_UNSUCCESSFUL("Login.Failure", "Login Unsuccessful"), | ||||
|     LOGIN_SUCCESSFUL("Login.Success", "Login Successful"), | ||||
|     CREATE_HOLD("Create Hold", "Create Hold"), | ||||
|     DELETE_HOLD("Delete Hold", "Delete Hold"), | ||||
|     ADD_TO_HOLD("Add To Hold", "Add To Hold"), | ||||
|     REMOVE_FROM_HOLD("Remove From Hold", "Remove From Hold"); | ||||
|  | ||||
|     /** event audited */ | ||||
|     public final String event; | ||||
|   | ||||
| @@ -29,6 +29,7 @@ package org.alfresco.rest.rm.community.model.common; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| @@ -46,15 +47,15 @@ import lombok.NoArgsConstructor; | ||||
| @AllArgsConstructor | ||||
| public class IdNamePair | ||||
| { | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private List<String> aspectNames; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
| } | ||||
|   | ||||
| @@ -27,10 +27,10 @@ | ||||
| package org.alfresco.rest.rm.community.model.common; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
|  | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
| @@ -42,9 +42,9 @@ import org.alfresco.utility.model.TestModel; | ||||
| @Builder | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| // @NoArgsConstructor | ||||
| // @AllArgsConstructor | ||||
| @JsonIgnoreProperties(ignoreUnknown = true) | ||||
| //@NoArgsConstructor | ||||
| //@AllArgsConstructor | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class Owner extends TestModel | ||||
| { | ||||
|  | ||||
|   | ||||
| @@ -29,14 +29,15 @@ package org.alfresco.rest.rm.community.model.common; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for path parameter | ||||
|  * | ||||
| @@ -50,12 +51,12 @@ import org.alfresco.utility.model.TestModel; | ||||
| @AllArgsConstructor | ||||
| public class Path extends TestModel | ||||
| { | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private Boolean isComplete; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private List<IdNamePair> elements; | ||||
| } | ||||
|   | ||||
| @@ -27,6 +27,7 @@ | ||||
| package org.alfresco.rest.rm.community.model.common; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| @@ -44,9 +45,9 @@ import lombok.NoArgsConstructor; | ||||
| @AllArgsConstructor | ||||
| public class ReviewPeriod | ||||
| { | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String periodType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String expression; | ||||
| } | ||||
|   | ||||
| @@ -34,8 +34,10 @@ package org.alfresco.rest.rm.community.model.custom; | ||||
|  */ | ||||
| public enum CustomDefinitions | ||||
| { | ||||
|     ATTACHMENT("Attachment"), MESSAGE("Message"), NEXT_VERSION("Next Version"), RENDITION("Rendition"); | ||||
|  | ||||
|     ATTACHMENT("Attachment"), | ||||
|     MESSAGE("Message"), | ||||
|     NEXT_VERSION("Next Version"), | ||||
|     RENDITION("Rendition"); | ||||
|     /** | ||||
|      * The name of custom reference. | ||||
|      */ | ||||
|   | ||||
| @@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.fileplan; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for file plan | ||||
|  * | ||||
| @@ -57,34 +58,34 @@ public class FilePlan extends TestModel | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private List<String> aspectNames; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private FilePlanProperties properties; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -34,14 +34,15 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for file plan properties | ||||
|  * | ||||
| @@ -58,24 +59,24 @@ public class FilePlanProperties extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_COMPONENT_ID) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_COMPONENT_ID) | ||||
|     private String componentd; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
|  | ||||
|     /************************/ | ||||
|     /** Optional parameters */ | ||||
|     /************************/ | ||||
|     @JsonProperty(PROPERTIES_COUNT) | ||||
|     @JsonProperty (PROPERTIES_COUNT) | ||||
|     private Integer count; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_TITLE) | ||||
|     @JsonProperty (PROPERTIES_TITLE) | ||||
|     private String title; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_DESCRIPTION) | ||||
|     @JsonProperty (PROPERTIES_DESCRIPTION) | ||||
|     private String description; | ||||
| } | ||||
|   | ||||
| @@ -36,15 +36,16 @@ public class FilePlanComponentAspects | ||||
| { | ||||
|     /** Private constructor to prevent instantiation. */ | ||||
|     private FilePlanComponentAspects() | ||||
|     {} | ||||
|     { | ||||
|     } | ||||
|  | ||||
|     // aspect present on completed records | ||||
|     public static final String ASPECTS_COMPLETED_RECORD = "rma:declaredRecord"; | ||||
|  | ||||
|     // aspect present on record folders/categories with vital records | ||||
|     public static final String ASPECTS_VITAL_RECORD_DEFINITION = "rma:vitalRecordDefinition"; | ||||
| 	// aspect present on record folders/categories with vital records | ||||
|     public static final String ASPECTS_VITAL_RECORD_DEFINITION= "rma:vitalRecordDefinition"; | ||||
|  | ||||
|     // aspect present on vital records | ||||
| 	// aspect present on vital records | ||||
|     public static final String ASPECTS_VITAL_RECORD = "rma:vitalRecord"; | ||||
|  | ||||
|     // Frozen aspect | ||||
|   | ||||
| @@ -47,7 +47,7 @@ public class FilePlanComponentFields | ||||
|     public static final String PROPERTIES_VITAL_RECORD_INDICATOR = "rma:vitalRecordIndicator"; | ||||
|     public static final String PROPERTIES_REVIEW_PERIOD = "rma:reviewPeriod"; | ||||
|     public static final String PROPERTIES_OWNER = "cm:owner"; | ||||
|     public static final String PROPERTIES_AUTHOR = "cm:author"; | ||||
|     public static final String PROPERTIES_AUTHOR="cm:author"; | ||||
|  | ||||
|     /** Common properties for record folders and records */ | ||||
|     public static final String PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE = "rma:recordSearchHasDispositionSchedule"; | ||||
| @@ -61,6 +61,7 @@ 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"; | ||||
|   | ||||
| @@ -1,41 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
|  | ||||
| @Builder | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class BulkBodyCancel | ||||
| { | ||||
|     private String reason; | ||||
| } | ||||
| @@ -1,83 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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); | ||||
|     } | ||||
| } | ||||
| @@ -1,59 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
|  | ||||
| import org.alfresco.rest.search.RestRequestQueryModel; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold bulk request | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @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; | ||||
|  | ||||
| } | ||||
| @@ -1,48 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold bulk request entry | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldBulkOperationEntry | ||||
| { | ||||
|     private String bulkStatusId; | ||||
|  | ||||
|     private long totalItems; | ||||
| } | ||||
| @@ -1,68 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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 String status; | ||||
|  | ||||
|     private boolean isCancelled; | ||||
|  | ||||
|     private String cancellationReason; | ||||
|  | ||||
|     private HoldBulkOperation holdBulkOperation; | ||||
| } | ||||
| @@ -1,37 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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> | ||||
| {} | ||||
| @@ -1,45 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.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; | ||||
| } | ||||
| @@ -1,52 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
| } | ||||
| @@ -1,37 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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> | ||||
| {} | ||||
| @@ -1,52 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
| } | ||||
| @@ -1,37 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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> | ||||
| {} | ||||
| @@ -1,52 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
| } | ||||
| @@ -1,52 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
| } | ||||
| @@ -26,27 +26,31 @@ | ||||
|  */ | ||||
| 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.rest.core.RestModels; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for hold entry | ||||
|  * | ||||
|  * @author Damian Ujma | ||||
|  * @author Rodica Sutu | ||||
|  * @since 3.2 | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class HoldEntry extends RestModels<Hold, HoldEntry> | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class HoldEntry extends TestModel | ||||
| { | ||||
|     @JsonProperty | ||||
|     private Hold entry; | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeRef; | ||||
| } | ||||
|   | ||||
| @@ -1,56 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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; | ||||
| } | ||||
| @@ -29,11 +29,6 @@ package org.alfresco.rest.rm.community.model.record; | ||||
| import java.util.List; | ||||
|  | ||||
| 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.IRestModel; | ||||
| import org.alfresco.rest.core.assertion.ModelAssertion; | ||||
| @@ -42,6 +37,12 @@ import org.alfresco.rest.model.RestNodeModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| /** | ||||
|  * POJO for record | ||||
|  * | ||||
| @@ -60,28 +61,28 @@ public class Record extends TestModel implements IRestModel<RestNodeModel> | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     /************************/ | ||||
| @@ -117,7 +118,7 @@ public class Record extends TestModel implements IRestModel<RestNodeModel> | ||||
|         return assertThat(); | ||||
|     } | ||||
|  | ||||
|     @JsonProperty(value = "entry") | ||||
|     @JsonProperty (value = "entry") | ||||
|     RestNodeModel model; | ||||
|  | ||||
|     @Override | ||||
|   | ||||
| @@ -27,14 +27,15 @@ | ||||
| package org.alfresco.rest.rm.community.model.record; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for File records | ||||
|  * | ||||
|   | ||||
| @@ -27,14 +27,15 @@ | ||||
| package org.alfresco.rest.rm.community.model.record; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for record content field | ||||
|  * | ||||
| @@ -49,15 +50,15 @@ import org.alfresco.utility.model.TestModel; | ||||
| @AllArgsConstructor | ||||
| public class RecordContent extends TestModel | ||||
| { | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String mimeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String mimeTypeName; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private Integer sizeInBytes; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String encoding; | ||||
| } | ||||
|   | ||||
| @@ -64,6 +64,7 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RESOLUTION_UNIT; | ||||
|  | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_AS_OF; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RMV_VERSIONED; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF; | ||||
| @@ -84,12 +85,12 @@ import java.util.List; | ||||
|  | ||||
| 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.rest.rm.community.model.common.Owner; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| @@ -110,160 +111,160 @@ public class RecordProperties extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_DATE_FILED) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_DATE_FILED) | ||||
|     private String dateField; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     private Boolean recordSearchHasDispositionSchedule; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_ORIGINAL_NAME) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_ORIGINAL_NAME) | ||||
|     private String originalName; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_CLASSIFICATION) | ||||
|      | ||||
|     @JsonProperty (PROPERTIES_CLASSIFICATION) | ||||
|     private List<String> classification; | ||||
|  | ||||
|     /*********************************/ | ||||
|     /** Electronic record parameters */ | ||||
|     /*********************************/ | ||||
|     @JsonProperty(PROPERTIES_VERSION_TYPE) | ||||
|     @JsonProperty (PROPERTIES_VERSION_TYPE) | ||||
|     private String versionType; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_VERSION_LABEL) | ||||
|     @JsonProperty (PROPERTIES_VERSION_LABEL) | ||||
|     private String versionLabel; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_VERSIONED_NODEREF) | ||||
|     private String versionedNodeRef; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RMV_VERSIONED) | ||||
|     @JsonProperty (PROPERTIES_RMV_VERSIONED) | ||||
|     private String recordVersionLabel; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_DATE_TIME_ORIGINAL) | ||||
|     @JsonProperty (PROPERTIES_DATE_TIME_ORIGINAL) | ||||
|     private String dateTimeOriginal; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_EXPOSURE_TIME) | ||||
|     @JsonProperty (PROPERTIES_EXPOSURE_TIME) | ||||
|     private Double exposureTime; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_FLASH) | ||||
|     @JsonProperty (PROPERTIES_FLASH) | ||||
|     private Boolean flash; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_F_NUMBER) | ||||
|     @JsonProperty (PROPERTIES_F_NUMBER) | ||||
|     private Double fNumber; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_FOCAL_LENGTH) | ||||
|     @JsonProperty (PROPERTIES_FOCAL_LENGTH) | ||||
|     private Double focalLength; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ISO_SPEED_RATINGS) | ||||
|     @JsonProperty (PROPERTIES_ISO_SPEED_RATINGS) | ||||
|     private Integer isoSpeedRatings; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_MANUFACTURER) | ||||
|     @JsonProperty (PROPERTIES_MANUFACTURER) | ||||
|     private String manufacturer; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_MODEL) | ||||
|     @JsonProperty (PROPERTIES_MODEL) | ||||
|     private String model; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ORIENTATION) | ||||
|     @JsonProperty (PROPERTIES_ORIENTATION) | ||||
|     private Integer orientation; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PIXEL_X_DIMENSION) | ||||
|     @JsonProperty (PROPERTIES_PIXEL_X_DIMENSION) | ||||
|     private Integer pixelXDimension; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PIXEL_Y_DIMENSION) | ||||
|     @JsonProperty (PROPERTIES_PIXEL_Y_DIMENSION) | ||||
|     private Integer pixelYDimension; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RESOLUTION_UNIT) | ||||
|     @JsonProperty (PROPERTIES_RESOLUTION_UNIT) | ||||
|     private String resolutionUnit; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_SOFTWARE) | ||||
|     @JsonProperty (PROPERTIES_SOFTWARE) | ||||
|     private String software; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_X_RESOLUTION) | ||||
|     @JsonProperty (PROPERTIES_X_RESOLUTION) | ||||
|     private Double xResolution; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_Y_RESOLUTION) | ||||
|     @JsonProperty (PROPERTIES_Y_RESOLUTION) | ||||
|     private Double yResolution; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_ORIGINATING_LOCATION) | ||||
|     @JsonProperty (PROPERTIES_RECORD_ORIGINATING_LOCATION) | ||||
|     private String originatingLocation; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_ORIGINATING_USER_ID) | ||||
|     @JsonProperty (PROPERTIES_RECORD_ORIGINATING_USER_ID) | ||||
|     private String originatingUserId; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_ORIGINATING_CREATION_DATE) | ||||
|     @JsonProperty (PROPERTIES_RECORD_ORIGINATING_CREATION_DATE) | ||||
|     private String originatingCreationDate; | ||||
|  | ||||
|     /*************************************/ | ||||
|     /** Non-electronic record parameters */ | ||||
|     /*************************************/ | ||||
|     @JsonProperty(PROPERTIES_TITLE) | ||||
|     @JsonProperty (PROPERTIES_TITLE) | ||||
|     private String title; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_SHELF) | ||||
|     @JsonProperty (PROPERTIES_SHELF) | ||||
|     private String shelf; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_STORAGE_LOCATION) | ||||
|     @JsonProperty (PROPERTIES_STORAGE_LOCATION) | ||||
|     private String storageLocation; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_FILE) | ||||
|     @JsonProperty (PROPERTIES_FILE) | ||||
|     private String file; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_BOX) | ||||
|     @JsonProperty (PROPERTIES_BOX) | ||||
|     private String box; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_DESCRIPTION) | ||||
|     @JsonProperty (PROPERTIES_DESCRIPTION) | ||||
|     private String description; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_NUMBER_OF_COPIES) | ||||
|     @JsonProperty (PROPERTIES_NUMBER_OF_COPIES) | ||||
|     private Integer numberOfCopies; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PHYSICAL_SIZE) | ||||
|     @JsonProperty (PROPERTIES_PHYSICAL_SIZE) | ||||
|     private Integer physicalSize; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_OWNER) | ||||
|     @JsonProperty (PROPERTIES_OWNER) | ||||
|     private Owner owner; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_AUTHOR) | ||||
|     private String author; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION) | ||||
|     private String recordSearchDispositionPeriodExpression; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY) | ||||
|     private String recordSearchDispositionAuthority; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF) | ||||
|     private Date recordSearchDispositionActionAsOf; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD) | ||||
|     private String recordSearchDispositionPeriod; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME) | ||||
|     private String recordSearchDispositionActionName; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE) | ||||
|     private Boolean recordSearchDispositionEventsEligible; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS) | ||||
|     private List<String> recordSearchDispositionEvents; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS) | ||||
|     private String recordSearchDispositionInstructions; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD) | ||||
|     private String recordSearchVitalRecordReviewPeriod; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION) | ||||
|     private String recordSearchVitalRecordReviewPeriodExpression; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_REVIEW_AS_OF) | ||||
|     private Date reviewAsOf; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_STORE) | ||||
|     @JsonProperty (PROPERTIES_STORE) | ||||
|     private String store; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_WORM_UNLOCK_DATE) | ||||
|   | ||||
| @@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.recordcategory; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for record category | ||||
|  * | ||||
| @@ -58,34 +59,34 @@ public class RecordCategory extends TestModel | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private List<String> aspectNames; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RecordCategoryProperties properties; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.recordcategory; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for record category child | ||||
|  * | ||||
| @@ -57,28 +58,28 @@ public class RecordCategoryChild extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -27,11 +27,12 @@ | ||||
| package org.alfresco.rest.rm.community.model.recordcategory; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| /** | ||||
|  * POJO for record category child entry | ||||
|  * | ||||
|   | ||||
| @@ -32,15 +32,15 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_PERIOD; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE; | ||||
| @@ -51,17 +51,18 @@ import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| import com.fasterxml.jackson.databind.annotation.JsonSerialize; | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.rm.community.model.common.Owner; | ||||
| import org.alfresco.rest.rm.community.model.common.ReviewPeriod; | ||||
| import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| /** | ||||
|  * POJO for record category child properties | ||||
|  * | ||||
| @@ -78,65 +79,65 @@ public class RecordCategoryChildProperties extends TestModel | ||||
|     /**************************************************************************/ | ||||
|     /** Mandatory parameters - Shared by record categories and record folders */ | ||||
|     /**************************************************************************/ | ||||
|     @JsonProperty(required = true, value = PROPERTIES_TITLE) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_TITLE) | ||||
|     private String title; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR) | ||||
|     private Boolean vitalRecordIndicator; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_REVIEW_PERIOD) | ||||
|     @JsonSerialize(using = ReviewPeriodSerializer.class) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_REVIEW_PERIOD) | ||||
|     @JsonSerialize (using = ReviewPeriodSerializer.class) | ||||
|     private ReviewPeriod reviewPeriod; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_DESCRIPTION) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_DESCRIPTION) | ||||
|     private String description; | ||||
|  | ||||
|     /*********************************************************/ | ||||
|     /** Optional parameters - Applies only to record folders */ | ||||
|     /*********************************************************/ | ||||
|     @JsonProperty(PROPERTIES_HELD_CHILDREN_COUNT) | ||||
|     @JsonProperty (PROPERTIES_HELD_CHILDREN_COUNT) | ||||
|     private Integer heldChildrenCount; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_LOCATION) | ||||
|     @JsonProperty (PROPERTIES_LOCATION) | ||||
|     private String location; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_IS_CLOSED) | ||||
|     @JsonProperty (PROPERTIES_IS_CLOSED) | ||||
|     private Boolean isClosed; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     private Boolean recordSearchHasDispositionSchedule; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION) | ||||
|      | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION) | ||||
|     private String recordSearchDispositionPeriodExpression; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY) | ||||
|      | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY) | ||||
|     private String recordSearchDispositionAuthority; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF) | ||||
|     private Date recordSearchDispositionActionAsOf; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD) | ||||
|     private String recordSearchDispositionPeriod; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME) | ||||
|     private String recordSearchDispositionActionName; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE) | ||||
|     private Boolean recordSearchDispositionEventsEligible; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS) | ||||
|     private String recordSearchDispositionInstructions; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS) | ||||
|     private List<String> recordSearchDispositionEvents; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_OWNER) | ||||
|      | ||||
|     @JsonProperty (PROPERTIES_OWNER) | ||||
|     private Owner owner; | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -27,12 +27,13 @@ | ||||
| package org.alfresco.rest.rm.community.model.recordcategory; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
| import org.alfresco.rest.rm.community.model.fileplan.FilePlan; | ||||
|  | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| /** | ||||
|  * POJO for file plan entry | ||||
|  * | ||||
|   | ||||
| @@ -35,22 +35,24 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_VITAL_RECORD_INDICATOR; | ||||
|  | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| import com.fasterxml.jackson.databind.annotation.JsonSerialize; | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.rm.community.model.common.Owner; | ||||
| import org.alfresco.rest.rm.community.model.common.ReviewPeriod; | ||||
| import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| /** | ||||
|  * POJO for record category properties | ||||
|  * | ||||
| @@ -62,37 +64,37 @@ import org.alfresco.utility.model.TestModel; | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| @JsonIgnoreProperties(ignoreUnknown = true) | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class RecordCategoryProperties extends TestModel | ||||
| { | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_REVIEW_PERIOD) | ||||
|     @JsonSerialize(using = ReviewPeriodSerializer.class) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_REVIEW_PERIOD) | ||||
|     @JsonSerialize (using = ReviewPeriodSerializer.class) | ||||
|     private ReviewPeriod reviewPeriod; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR) | ||||
|     private Boolean vitalRecordIndicator; | ||||
|  | ||||
|     /************************/ | ||||
|     /** Optional parameters */ | ||||
|     /************************/ | ||||
|     @JsonProperty(PROPERTIES_TITLE) | ||||
|     @JsonProperty (PROPERTIES_TITLE) | ||||
|     private String title; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_DESCRIPTION) | ||||
|     @JsonProperty (PROPERTIES_DESCRIPTION) | ||||
|     private String description; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_OWNER) | ||||
|     @JsonProperty (PROPERTIES_OWNER) | ||||
|     private Owner owner; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_CLASSIFICATION) | ||||
|     @JsonProperty (PROPERTIES_CLASSIFICATION) | ||||
|     private List<String> classification; | ||||
| } | ||||
|   | ||||
| @@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.recordfolder; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for record folder | ||||
|  * | ||||
| @@ -55,34 +56,34 @@ public class RecordFolder extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private List<String> aspectNames; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RecordFolderProperties properties; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -27,15 +27,16 @@ | ||||
| package org.alfresco.rest.rm.community.model.recordfolder; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
| import org.alfresco.rest.rm.community.model.record.Record; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
| import org.alfresco.rest.rm.community.model.record.Record; | ||||
|  | ||||
| /** | ||||
|  * POJO for record folder entry | ||||
|  * | ||||
|   | ||||
| @@ -33,8 +33,10 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields | ||||
|         .PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields | ||||
|         .PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION; | ||||
| @@ -48,17 +50,18 @@ import java.util.List; | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| import com.fasterxml.jackson.databind.annotation.JsonSerialize; | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.rm.community.model.common.Owner; | ||||
| import org.alfresco.rest.rm.community.model.common.ReviewPeriod; | ||||
| import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| /** | ||||
|  * POJO for record folder properties | ||||
|  * | ||||
| @@ -70,62 +73,62 @@ import org.alfresco.utility.model.TestModel; | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| @JsonIgnoreProperties(ignoreUnknown = true) | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class RecordFolderProperties extends TestModel | ||||
| { | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IS_CLOSED) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IS_CLOSED) | ||||
|     private Boolean isClosed; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_HELD_CHILDREN_COUNT) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_HELD_CHILDREN_COUNT) | ||||
|     private Integer heldChildrenCount; | ||||
|  | ||||
|     /************************/ | ||||
|     /** Optional parameters */ | ||||
|     /************************/ | ||||
|     @JsonProperty(PROPERTIES_TITLE) | ||||
|     @JsonProperty (PROPERTIES_TITLE) | ||||
|     private String title; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_VITAL_RECORD_INDICATOR) | ||||
|     @JsonProperty (PROPERTIES_VITAL_RECORD_INDICATOR) | ||||
|     private Boolean vitalRecordIndicator; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_LOCATION) | ||||
|     @JsonProperty (PROPERTIES_LOCATION) | ||||
|     private String location; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     private Boolean recordSearchHasDispositionSchedule; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_REVIEW_PERIOD) | ||||
|     @JsonSerialize(using = ReviewPeriodSerializer.class) | ||||
|     @JsonProperty (PROPERTIES_REVIEW_PERIOD) | ||||
|     @JsonSerialize (using = ReviewPeriodSerializer.class) | ||||
|     private ReviewPeriod reviewPeriod; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_CLASSIFICATION) | ||||
|     @JsonProperty (PROPERTIES_CLASSIFICATION) | ||||
|     private List<String> classification; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_DESCRIPTION) | ||||
|      | ||||
|     @JsonProperty (PROPERTIES_DESCRIPTION) | ||||
|     private String description; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_OWNER) | ||||
|     @JsonProperty (PROPERTIES_OWNER) | ||||
|     private Owner owner; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD) | ||||
|   | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD) | ||||
|     private String recordSearchVitalRecordReviewPeriod; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION) | ||||
|     private String recordSearchVitalRecordReviewPeriodExpression; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY) | ||||
|     private String recordSearchDispositionAuthority; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS) | ||||
|     private String recordSearchDispositionInstructions; | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -1,60 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.retentionschedule; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * retention schedule | ||||
|  */ | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @Data | ||||
| public class RetentionSchedule extends TestModel | ||||
| { | ||||
|     private String id; | ||||
|     private String parentId; | ||||
|     private String authority; | ||||
|     private String instructions; | ||||
|     private boolean isRecordLevel; | ||||
|     private boolean isUnpublishedUpdates; | ||||
|     private List<RetentionScheduleActionDefinition> actions; | ||||
|  | ||||
|     public boolean getIsRecordLevel() | ||||
|     { | ||||
|         return isRecordLevel; | ||||
|     } | ||||
|  | ||||
|     public void setIsRecordLevel(boolean recordLevel) | ||||
|     { | ||||
|         isRecordLevel = recordLevel; | ||||
|     } | ||||
| } | ||||
| @@ -1,51 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.retentionschedule; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import lombok.Data; | ||||
|  | ||||
| /** | ||||
|  * retention schedule action definition | ||||
|  */ | ||||
| @Data | ||||
| public class RetentionScheduleActionDefinition | ||||
| { | ||||
|     private String id; | ||||
|     private String name; | ||||
|     private int periodAmount; | ||||
|     private String period; | ||||
|     private String periodProperty; | ||||
|     private boolean combineRetentionStepConditions; | ||||
|     private List<String> events; | ||||
|     private boolean eligibleOnFirstCompleteEvent; | ||||
|     private String description; | ||||
|     private boolean retainRecordMetadataAfterDestruction; | ||||
|     private String location; | ||||
|     private int index; | ||||
| } | ||||
| @@ -1,32 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.retentionschedule; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| public class RetentionScheduleCollection extends RestModels<RetentionScheduleEntry, RetentionScheduleCollection> | ||||
| {} | ||||
| @@ -1,39 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.retentionschedule; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| import lombok.Data; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| @Data | ||||
| public class RetentionScheduleEntry extends RestModels<RetentionSchedule, RetentionScheduleEntry> | ||||
| { | ||||
|     @JsonProperty | ||||
|     private RetentionSchedule entry; | ||||
| } | ||||
| @@ -1,32 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.retentionschedule; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| public class RetentionScheduleStepCollection extends RestModels<RetentionScheduleStepEntry, RetentionScheduleStepCollection> | ||||
| {} | ||||
| @@ -1,39 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.retentionschedule; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| import lombok.Data; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| @Data | ||||
| public class RetentionScheduleStepEntry extends RestModels<RetentionScheduleActionDefinition, RetentionScheduleStepEntry> | ||||
| { | ||||
|     @JsonProperty | ||||
|     private RetentionScheduleActionDefinition entry; | ||||
| } | ||||
| @@ -1,91 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.role; | ||||
|  | ||||
| import java.util.List; | ||||
| 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.rest.rm.community.model.CapabilityModel; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for role | ||||
|  */ | ||||
| @Builder | ||||
| @Data | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| public class Role extends TestModel | ||||
| { | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     private List<CapabilityModel> capabilities; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     private String displayLabel; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     private String groupShortName; | ||||
|  | ||||
|     private List<String> assignedUsers; | ||||
|  | ||||
|     private List<String> assignedGroups; | ||||
|  | ||||
|     private String roleGroupName; | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object o) | ||||
|     { | ||||
|         if (this == o) | ||||
|         { | ||||
|             return true; | ||||
|         } | ||||
|         if (o == null || getClass() != o.getClass()) | ||||
|         { | ||||
|             return false; | ||||
|         } | ||||
|         Role role = (Role) o; | ||||
|         return Objects.equals(name, role.name) && Objects.equals(capabilities, role.capabilities) | ||||
|                 && Objects.equals(displayLabel, role.displayLabel) && Objects.equals(groupShortName, role.groupShortName) && Objects.equals(assignedUsers, role.assignedUsers) | ||||
|                 && Objects.equals(assignedGroups, role.assignedGroups) && Objects.equals(roleGroupName, role.roleGroupName); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() | ||||
|     { | ||||
|         return Objects.hash(name, capabilities, displayLabel, groupShortName, assignedUsers, assignedGroups, roleGroupName); | ||||
|     } | ||||
| } | ||||
| @@ -1,32 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.role; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| public class RoleCollection extends RestModels<RoleEntry, RoleCollection> | ||||
| {} | ||||
| @@ -1,47 +0,0 @@ | ||||
| /*- | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.role; | ||||
|  | ||||
| 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 RoleEntry extends RestModels<Role, RoleEntry> | ||||
| { | ||||
|     @JsonProperty | ||||
|     private Role entry; | ||||
| } | ||||
| @@ -31,7 +31,26 @@ package org.alfresco.rest.rm.community.model.rules; | ||||
|  */ | ||||
| public enum ActionsOnRule | ||||
| { | ||||
|     COMPLETE_RECORD("declareRecord"), REOPEN_RECORD("undeclareRecord"), OPEN_RECORD_FOLDER("openRecordFolder"), CLOSE_RECORD_FOLDER("closeRecordFolder"), FILE_TO("fileTo"), COPY_TO("copyTo"), MOVE_TO("moveTo"), LINK_TO("linkTo"), REJECT("reject"), REQUEST_INFORMATION("requestInfo"), COMPLETE_EVENT("completeEvent"), ADD_RECORD_TYPES("addRecordTypes"), EXECUTE_SCRIPT("executeScript"), SEND_EMAIL("sendEmail"), SET_PROPERTY_VALUE_COLL_SITE("set-property-value"), SET_PROPERTY_VALUE_RM("setPropertyValue"), HIDE_RECORD("hide-record"), DECLARE_VERSION_AS_RECORD("declare-as-version-record"), DECLARE_AS_RECORD("create-record"), WORM_LOCK("wormLock"); | ||||
|     COMPLETE_RECORD("declareRecord"), | ||||
|     REOPEN_RECORD("undeclareRecord"), | ||||
|     OPEN_RECORD_FOLDER("openRecordFolder"), | ||||
|     CLOSE_RECORD_FOLDER("closeRecordFolder"), | ||||
|     FILE_TO("fileTo"), | ||||
|     COPY_TO("copyTo"), | ||||
|     MOVE_TO("moveTo"), | ||||
|     LINK_TO("linkTo"), | ||||
|     REJECT("reject"), | ||||
|     REQUEST_INFORMATION("requestInfo"), | ||||
|     COMPLETE_EVENT("completeEvent"), | ||||
|     ADD_RECORD_TYPES("addRecordTypes"), | ||||
|     EXECUTE_SCRIPT("executeScript"), | ||||
|     SEND_EMAIL("sendEmail"), | ||||
|     SET_PROPERTY_VALUE_COLL_SITE("set-property-value"), | ||||
|     SET_PROPERTY_VALUE_RM("setPropertyValue"), | ||||
|     HIDE_RECORD("hide-record"), | ||||
|     DECLARE_VERSION_AS_RECORD("declare-as-version-record"), | ||||
|     DECLARE_AS_RECORD("create-record"), | ||||
|     WORM_LOCK("wormLock"); | ||||
|  | ||||
|     private String actionValue; | ||||
|  | ||||
|   | ||||
| @@ -31,17 +31,18 @@ package org.alfresco.rest.rm.community.model.rules; | ||||
|  */ | ||||
| public enum ConditionsOnRule | ||||
| { | ||||
|     UPDATE("update"), ADDED("inbound"), REMOVED("outbound"); | ||||
|  | ||||
|     UPDATE("update"), | ||||
|     ADDED("inbound"), | ||||
|     REMOVED("outbound"); | ||||
|     private String whenConditionValue; | ||||
|  | ||||
|     ConditionsOnRule(String value) | ||||
|     { | ||||
|         this.whenConditionValue = value; | ||||
|             this.whenConditionValue = value; | ||||
|     } | ||||
|  | ||||
|     public String getWhenConditionValue() | ||||
|     { | ||||
|         return whenConditionValue; | ||||
|             return whenConditionValue; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -200,3 +200,4 @@ public class RuleDefinition | ||||
|         return this; | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -27,14 +27,15 @@ | ||||
| package org.alfresco.rest.rm.community.model.site; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.model.RestSiteModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.model.RestSiteModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for RM Site component | ||||
|  * | ||||
| @@ -47,7 +48,7 @@ import org.alfresco.rest.model.RestSiteModel; | ||||
| @AllArgsConstructor | ||||
| public class RMSite extends RestSiteModel | ||||
| { | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RMSiteCompliance compliance; | ||||
|  | ||||
|     /** Private constructor allowing Lombok to include superclass fields in the builder. */ | ||||
|   | ||||
| @@ -34,5 +34,6 @@ package org.alfresco.rest.rm.community.model.site; | ||||
|  */ | ||||
| public enum RMSiteCompliance | ||||
| { | ||||
|     STANDARD, DOD5015 | ||||
|     STANDARD, | ||||
|     DOD5015 | ||||
| } | ||||
|   | ||||
| @@ -27,8 +27,16 @@ | ||||
| package org.alfresco.rest.rm.community.model.site; | ||||
|  | ||||
| /** | ||||
|  * RM Site properties from the RM Model Schema "entry": { "id": "string", "guid": "string", "title": "string", "description": "string", "visibility": "{@link org.springframework.social.alfresco.api.entities.Site.Visibility}", "compliance": "{@link RMSiteCompliance}", "role": "{@link org.alfresco.utility.constants.UserRole}" } | ||||
|  *  | ||||
|  *RM Site properties from the RM Model Schema | ||||
|  *"entry": { | ||||
|  *      "id": "string", | ||||
|  *      "guid": "string", | ||||
|  *      "title": "string", | ||||
|  *      "description": "string", | ||||
|  *      "visibility": "{@link org.springframework.social.alfresco.api.entities.Site.Visibility}", | ||||
|  *      "compliance": "{@link RMSiteCompliance}", | ||||
|  *      "role": "{@link org.alfresco.utility.constants.UserRole}" | ||||
|  *} | ||||
|  * @author Tuna Aksoy | ||||
|  * @author Rodica Sutu | ||||
|  * @since 2.6 | ||||
| @@ -39,6 +47,6 @@ public class RMSiteFields | ||||
|     public static final String COMPLIANCE = "compliance"; | ||||
|     public static final String TITLE = "title"; | ||||
|     public static final String DESCRIPTION = "description"; | ||||
|     public static final String VISIBILITY = "visibility"; | ||||
|     public static final String VISIBILITY ="visibility"; | ||||
|     public static final String ROLE = "role"; | ||||
| } | ||||
|   | ||||
| @@ -30,15 +30,16 @@ package org.alfresco.rest.rm.community.model.transfer; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for Transfer | ||||
|  * | ||||
| @@ -55,28 +56,28 @@ public class Transfer extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private List<String> aspectNames; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private TransferProperties properties; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -30,16 +30,17 @@ package org.alfresco.rest.rm.community.model.transfer; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for transfer child | ||||
|  * | ||||
| @@ -56,28 +57,28 @@ public class TransferChild extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -31,7 +31,6 @@ import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| /** | ||||
|  * Handle collection of {@link TransferChildEntry} | ||||
|  *  | ||||
|  * @author Silviu Dinuta | ||||
|  * @since 2.6 | ||||
|  */ | ||||
|   | ||||
| @@ -27,15 +27,16 @@ | ||||
|  | ||||
| package org.alfresco.rest.rm.community.model.transfer; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| 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 transfer child entry | ||||
|  * | ||||
|   | ||||
| @@ -64,19 +64,20 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_X_RESOLUTION; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_Y_RESOLUTION; | ||||
|  | ||||
| import org.alfresco.rest.rm.community.model.common.Owner; | ||||
| import org.alfresco.rest.rm.community.model.common.ReviewPeriod; | ||||
| import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| import com.fasterxml.jackson.databind.annotation.JsonSerialize; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.rm.community.model.common.Owner; | ||||
| import org.alfresco.rest.rm.community.model.common.ReviewPeriod; | ||||
| import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for transfer child properties | ||||
|  * | ||||
| @@ -91,127 +92,128 @@ import org.alfresco.utility.model.TestModel; | ||||
| public class TransferChildProperties extends TestModel | ||||
| { | ||||
|     /**************************************************************************/ | ||||
|     /** Mandatory parameters - Shared by record folders and records */ | ||||
|     /** Mandatory parameters - Shared by record folders and records*/ | ||||
|     /**************************************************************************/ | ||||
|     @JsonProperty(PROPERTIES_TITLE) | ||||
|     @JsonProperty (PROPERTIES_TITLE) | ||||
|     private String title; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_DESCRIPTION) | ||||
|     @JsonProperty (PROPERTIES_DESCRIPTION) | ||||
|     private String description; | ||||
|  | ||||
|     /*********************************************************/ | ||||
|     /** Optional parameters - Applies only to record folders */ | ||||
|     /*********************************************************/ | ||||
|     @JsonProperty(PROPERTIES_VITAL_RECORD_INDICATOR) | ||||
|     @JsonProperty (PROPERTIES_VITAL_RECORD_INDICATOR) | ||||
|     private Boolean vitalRecordIndicator; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_REVIEW_PERIOD) | ||||
|     @JsonSerialize(using = ReviewPeriodSerializer.class) | ||||
|     @JsonProperty (PROPERTIES_REVIEW_PERIOD) | ||||
|     @JsonSerialize (using = ReviewPeriodSerializer.class) | ||||
|     private ReviewPeriod reviewPeriod; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_HELD_CHILDREN_COUNT) | ||||
|     @JsonProperty (PROPERTIES_HELD_CHILDREN_COUNT) | ||||
|     private Integer heldChildrenCount; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_LOCATION) | ||||
|     @JsonProperty (PROPERTIES_LOCATION) | ||||
|     private String location; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_IS_CLOSED) | ||||
|     @JsonProperty (PROPERTIES_IS_CLOSED) | ||||
|     private Boolean isClosed; | ||||
|  | ||||
|     /*********************************************************/ | ||||
|     /** Optional parameters - Applies only to records */ | ||||
|     /*********************************************************/ | ||||
|     @JsonProperty(PROPERTIES_DATE_FILED) | ||||
|     @JsonProperty (PROPERTIES_DATE_FILED) | ||||
|     private String dateField; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     @JsonProperty (PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     private Boolean recordSearchHasDispositionSchedule; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ORIGINAL_NAME) | ||||
|     @JsonProperty (PROPERTIES_ORIGINAL_NAME) | ||||
|     private String originalName; | ||||
|  | ||||
|  | ||||
|     /*********************************/ | ||||
|     /** Electronic record parameters */ | ||||
|     /*********************************/ | ||||
|     @JsonProperty(PROPERTIES_VERSION_TYPE) | ||||
|     @JsonProperty (PROPERTIES_VERSION_TYPE) | ||||
|     private String versionType; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_VERSION_LABEL) | ||||
|     @JsonProperty (PROPERTIES_VERSION_LABEL) | ||||
|     private String versionLabel; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_DATE_TIME_ORIGINAL) | ||||
|     @JsonProperty (PROPERTIES_DATE_TIME_ORIGINAL) | ||||
|     private String dateTimeOriginal; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_EXPOSURE_TIME) | ||||
|     @JsonProperty (PROPERTIES_EXPOSURE_TIME) | ||||
|     private Double exposureTime; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_FLASH) | ||||
|     @JsonProperty (PROPERTIES_FLASH) | ||||
|     private Boolean flash; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_F_NUMBER) | ||||
|     @JsonProperty (PROPERTIES_F_NUMBER) | ||||
|     private Double fNumber; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_FOCAL_LENGTH) | ||||
|     @JsonProperty (PROPERTIES_FOCAL_LENGTH) | ||||
|     private Double focalLength; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ISO_SPEED_RATINGS) | ||||
|     @JsonProperty (PROPERTIES_ISO_SPEED_RATINGS) | ||||
|     private Integer isoSpeedRatings; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_MANUFACTURER) | ||||
|     @JsonProperty (PROPERTIES_MANUFACTURER) | ||||
|     private String manufacturer; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_MODEL) | ||||
|     @JsonProperty (PROPERTIES_MODEL) | ||||
|     private String model; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ORIENTATION) | ||||
|     @JsonProperty (PROPERTIES_ORIENTATION) | ||||
|     private Integer orientation; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PIXEL_X_DIMENSION) | ||||
|     @JsonProperty (PROPERTIES_PIXEL_X_DIMENSION) | ||||
|     private Integer pixelXDimension; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PIXEL_Y_DIMENSION) | ||||
|     @JsonProperty (PROPERTIES_PIXEL_Y_DIMENSION) | ||||
|     private Integer pixelYDimension; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RESOLUTION_UNIT) | ||||
|     @JsonProperty (PROPERTIES_RESOLUTION_UNIT) | ||||
|     private String resolutionUnit; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_SOFTWARE) | ||||
|     @JsonProperty (PROPERTIES_SOFTWARE) | ||||
|     private String software; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_X_RESOLUTION) | ||||
|     @JsonProperty (PROPERTIES_X_RESOLUTION) | ||||
|     private Double xResolution; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_Y_RESOLUTION) | ||||
|     @JsonProperty (PROPERTIES_Y_RESOLUTION) | ||||
|     private Double yResolution; | ||||
|  | ||||
|     /*************************************/ | ||||
|     /** Non-electronic record parameters */ | ||||
|     /*************************************/ | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_SHELF) | ||||
|     @JsonProperty (PROPERTIES_SHELF) | ||||
|     private String shelf; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_STORAGE_LOCATION) | ||||
|     @JsonProperty (PROPERTIES_STORAGE_LOCATION) | ||||
|     private String storageLocation; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_FILE) | ||||
|     @JsonProperty (PROPERTIES_FILE) | ||||
|     private String file; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_BOX) | ||||
|     @JsonProperty (PROPERTIES_BOX) | ||||
|     private String box; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_NUMBER_OF_COPIES) | ||||
|     @JsonProperty (PROPERTIES_NUMBER_OF_COPIES) | ||||
|     private Integer numberOfCopies; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PHYSICAL_SIZE) | ||||
|     @JsonProperty (PROPERTIES_PHYSICAL_SIZE) | ||||
|     private Integer physicalSize; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_OWNER) | ||||
|     @JsonProperty (PROPERTIES_OWNER) | ||||
|     private Owner owner; | ||||
| } | ||||
|   | ||||
| @@ -31,7 +31,6 @@ import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| /** | ||||
|  * Handle collection of {@link TransferEntry} | ||||
|  *  | ||||
|  * @author Silviu Dinuta | ||||
|  * @since 2.6 | ||||
|  */ | ||||
|   | ||||
| @@ -27,16 +27,17 @@ | ||||
|  | ||||
| package org.alfresco.rest.rm.community.model.transfer; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
| import org.alfresco.rest.rm.community.model.transfercontainer.TransferContainer; | ||||
|  | ||||
| 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; | ||||
| import org.alfresco.rest.rm.community.model.transfercontainer.TransferContainer; | ||||
|  | ||||
| /** | ||||
|  * POJO for transfer entry | ||||
|  * | ||||
|   | ||||
| @@ -27,23 +27,24 @@ | ||||
|  | ||||
| package org.alfresco.rest.rm.community.model.transfer; | ||||
|  | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ACCESSION_INDICATOR; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_PDF_INDICATOR; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_PDF_INDICATOR; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TRANSFER_LOCATION; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ACCESSION_INDICATOR; | ||||
|  | ||||
| import org.alfresco.rest.rm.community.model.common.Owner; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| 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.rm.community.model.common.Owner; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for Transfer properties | ||||
|  * | ||||
| @@ -60,24 +61,24 @@ public class TransferProperties extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     /************************/ | ||||
|     /** Optional parameters */ | ||||
|     /************************/ | ||||
|     @JsonProperty(PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_OWNER) | ||||
|     @JsonProperty (PROPERTIES_OWNER) | ||||
|     private Owner owner; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PDF_INDICATOR) | ||||
|     @JsonProperty (PROPERTIES_PDF_INDICATOR) | ||||
|     private Boolean pdfIndicator; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_TRANSFER_LOCATION) | ||||
|     @JsonProperty (PROPERTIES_TRANSFER_LOCATION) | ||||
|     private String transferLocation; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ACCESSION_INDICATOR) | ||||
|     @JsonProperty (PROPERTIES_ACCESSION_INDICATOR) | ||||
|     private Boolean accessionIndicator; | ||||
| } | ||||
|   | ||||
| @@ -30,15 +30,16 @@ package org.alfresco.rest.rm.community.model.transfercontainer; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for Transfer Container | ||||
|  * | ||||
| @@ -55,34 +56,34 @@ public class TransferContainer extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private List<String> aspectNames; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private TransferContainerProperties properties; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -31,15 +31,16 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER; | ||||
| import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| 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 Transfer Container properties | ||||
|  * | ||||
| @@ -56,16 +57,16 @@ public class TransferContainerProperties extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     /************************/ | ||||
|     /** Optional parameters */ | ||||
|     /************************/ | ||||
|     @JsonProperty(PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_COUNT) | ||||
|     @JsonProperty (PROPERTIES_COUNT) | ||||
|     private Integer count; | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -28,17 +28,18 @@ package org.alfresco.rest.rm.community.model.unfiledcontainer; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| 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.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for unfiled container | ||||
|  * | ||||
| @@ -55,34 +56,34 @@ public class UnfiledContainer extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private List<String> aspectNames; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private UnfiledContainerProperties properties; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -28,19 +28,20 @@ package org.alfresco.rest.rm.community.model.unfiledcontainer; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.rest.rm.community.model.record.RecordContent; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| 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.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.rest.rm.community.model.record.RecordContent; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for record category child | ||||
|  * | ||||
| @@ -52,40 +53,40 @@ import org.alfresco.utility.model.TestModel; | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| @JsonIgnoreProperties(ignoreUnknown = true) | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class UnfiledContainerChild extends TestModel | ||||
| { | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private Boolean isUnfiledRecordFolder; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private Boolean isRecord; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -27,11 +27,12 @@ | ||||
| package org.alfresco.rest.rm.community.model.unfiledcontainer; | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| import org.alfresco.rest.core.RestModels; | ||||
|  | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| /** | ||||
|  * POJO for record category child entry | ||||
|  * | ||||
|   | ||||
| @@ -61,15 +61,16 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.rest.rm.community.model.common.Owner; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.rest.rm.community.model.common.Owner; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for record category child properties | ||||
|  * | ||||
| @@ -82,112 +83,112 @@ import org.alfresco.utility.model.TestModel; | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| @JsonIgnoreProperties(ignoreUnknown = true) | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class UnfiledContainerChildProperties extends TestModel | ||||
| { | ||||
|     /**************************************************************************/ | ||||
|     /** Mandatory parameters - Shared by unfiled record folder and records */ | ||||
|     /**************************************************************************/ | ||||
|     @JsonProperty(required = true, value = PROPERTIES_TITLE) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_TITLE) | ||||
|     private String title; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_DESCRIPTION) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_DESCRIPTION) | ||||
|     private String description; | ||||
|  | ||||
|     @JsonProperty(value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     @JsonProperty (value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) | ||||
|     private Boolean recordSearchHasDispositionSchedule; | ||||
|  | ||||
|     /*********************************/ | ||||
|     /** Electronic record parameters */ | ||||
|     /*********************************/ | ||||
|     @JsonProperty(PROPERTIES_VERSION_TYPE) | ||||
|     @JsonProperty (PROPERTIES_VERSION_TYPE) | ||||
|     private String versionType; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_VERSION_LABEL) | ||||
|     @JsonProperty (PROPERTIES_VERSION_LABEL) | ||||
|     private String versionLabel; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_VERSIONED_NODEREF) | ||||
|     private String versionedNodeRef; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RMV_VERSIONED) | ||||
|     @JsonProperty (PROPERTIES_RMV_VERSIONED) | ||||
|     private String recordVersionLabel; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_DATE_TIME_ORIGINAL) | ||||
|     @JsonProperty (PROPERTIES_DATE_TIME_ORIGINAL) | ||||
|     private String dateTimeOriginal; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_EXPOSURE_TIME) | ||||
|     @JsonProperty (PROPERTIES_EXPOSURE_TIME) | ||||
|     private Double exposureTime; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_FLASH) | ||||
|     @JsonProperty (PROPERTIES_FLASH) | ||||
|     private Boolean flash; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_F_NUMBER) | ||||
|     @JsonProperty (PROPERTIES_F_NUMBER) | ||||
|     private Double fNumber; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_FOCAL_LENGTH) | ||||
|     @JsonProperty (PROPERTIES_FOCAL_LENGTH) | ||||
|     private Double focalLength; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ISO_SPEED_RATINGS) | ||||
|     @JsonProperty (PROPERTIES_ISO_SPEED_RATINGS) | ||||
|     private Integer isoSpeedRatings; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_MANUFACTURER) | ||||
|     @JsonProperty (PROPERTIES_MANUFACTURER) | ||||
|     private String manufacturer; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_MODEL) | ||||
|     @JsonProperty (PROPERTIES_MODEL) | ||||
|     private String model; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ORIENTATION) | ||||
|     @JsonProperty (PROPERTIES_ORIENTATION) | ||||
|     private Integer orientation; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PIXEL_X_DIMENSION) | ||||
|     @JsonProperty (PROPERTIES_PIXEL_X_DIMENSION) | ||||
|     private Integer pixelXDimension; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PIXEL_Y_DIMENSION) | ||||
|     @JsonProperty (PROPERTIES_PIXEL_Y_DIMENSION) | ||||
|     private Integer pixelYDimension; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_RESOLUTION_UNIT) | ||||
|     @JsonProperty (PROPERTIES_RESOLUTION_UNIT) | ||||
|     private String resolutionUnit; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_SOFTWARE) | ||||
|     @JsonProperty (PROPERTIES_SOFTWARE) | ||||
|     private String software; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_X_RESOLUTION) | ||||
|     @JsonProperty (PROPERTIES_X_RESOLUTION) | ||||
|     private Double xResolution; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_Y_RESOLUTION) | ||||
|     @JsonProperty (PROPERTIES_Y_RESOLUTION) | ||||
|     private Double yResolution; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_ORIGINAL_NAME) | ||||
|     @JsonProperty (PROPERTIES_ORIGINAL_NAME) | ||||
|     private String originalName; | ||||
|  | ||||
|     /*************************************/ | ||||
|     /** Non-electronic record parameters */ | ||||
|     /*************************************/ | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_SHELF) | ||||
|     @JsonProperty (PROPERTIES_SHELF) | ||||
|     private String shelf; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_STORAGE_LOCATION) | ||||
|     @JsonProperty (PROPERTIES_STORAGE_LOCATION) | ||||
|     private String storageLocation; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_FILE) | ||||
|     @JsonProperty (PROPERTIES_FILE) | ||||
|     private String file; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_BOX) | ||||
|     @JsonProperty (PROPERTIES_BOX) | ||||
|     private String box; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_NUMBER_OF_COPIES) | ||||
|     @JsonProperty (PROPERTIES_NUMBER_OF_COPIES) | ||||
|     private Integer numberOfCopies; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_PHYSICAL_SIZE) | ||||
|     @JsonProperty (PROPERTIES_PHYSICAL_SIZE) | ||||
|     private Integer physicalSize; | ||||
|  | ||||
|     @JsonProperty(PROPERTIES_OWNER) | ||||
|     @JsonProperty (PROPERTIES_OWNER) | ||||
|     private Owner owner; | ||||
| } | ||||
|   | ||||
| @@ -31,14 +31,15 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo | ||||
|  | ||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for file plan properties | ||||
|  * | ||||
| @@ -50,15 +51,15 @@ import org.alfresco.utility.model.TestModel; | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @NoArgsConstructor | ||||
| @AllArgsConstructor | ||||
| @JsonIgnoreProperties(ignoreUnknown = true) | ||||
| @JsonIgnoreProperties (ignoreUnknown = true) | ||||
| public class UnfiledContainerProperties extends TestModel | ||||
| { | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) | ||||
|     private String identifier; | ||||
|  | ||||
|     @JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF) | ||||
|     private String rootNodeRef; | ||||
| } | ||||
|   | ||||
| @@ -28,18 +28,19 @@ package org.alfresco.rest.rm.community.model.unfiledcontainer; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import org.alfresco.rest.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.rest.rm.community.model.record.RecordContent; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| 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.model.RestByUserModel; | ||||
| import org.alfresco.rest.rm.community.model.common.Path; | ||||
| import org.alfresco.rest.rm.community.model.record.RecordContent; | ||||
| import org.alfresco.utility.model.TestModel; | ||||
|  | ||||
| /** | ||||
|  * POJO for unfiled container | ||||
|  * | ||||
| @@ -56,28 +57,28 @@ public class UnfiledRecordFolder extends TestModel | ||||
|     /*************************/ | ||||
|     /** Mandatory parameters */ | ||||
|     /*************************/ | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String createdAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel createdByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String modifiedAt; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private RestByUserModel modifiedByUser; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String name; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String id; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String nodeType; | ||||
|  | ||||
|     @JsonProperty(required = true) | ||||
|     @JsonProperty (required = true) | ||||
|     private String parentId; | ||||
|  | ||||
|     /************************/ | ||||
|   | ||||
| @@ -28,13 +28,15 @@ package org.alfresco.rest.rm.community.model.user; | ||||
|  | ||||
| /** | ||||
|  * Constants for RM user capabilities | ||||
|  * | ||||
|  *  | ||||
|  * @author Kristijan Conkas | ||||
|  * @since 2.6 | ||||
|  */ | ||||
| public enum UserPermissions | ||||
| { | ||||
|     PERMISSION_FILING("Filing"), PERMISSION_READ_RECORDS("ReadRecords"), PERMISSION_FILE_RECORDS("FileRecords"); | ||||
|     PERMISSION_FILING("Filing"), | ||||
|     PERMISSION_READ_RECORDS("ReadRecords"), | ||||
|     PERMISSION_FILE_RECORDS("FileRecords"); | ||||
|  | ||||
|     public final String permissionId; | ||||
|  | ||||
|   | ||||
| @@ -35,7 +35,12 @@ package org.alfresco.rest.rm.community.model.user; | ||||
|  */ | ||||
| public enum UserRoles | ||||
| { | ||||
|     IN_PLACE_WRITERS("ExtendedWriters", "In-Place Writers"), ROLE_RM_ADMIN("Administrator", "Records Management Administrator"), ROLE_RM_MANAGER("RecordsManager", "Records Management Manager"), ROLE_RM_POWER_USER("PowerUser", "Records Management Power User"), ROLE_RM_SECURITY_OFFICER("SecurityOfficer", "Records Management Security Officer"), ROLE_RM_USER("User", "Records Management User"), IN_PLACE_READERS("ExtendedReaders", "In-Place Readers"); | ||||
|     IN_PLACE_WRITERS("ExtendedWriters", "In-Place Writers"), | ||||
|     ROLE_RM_ADMIN("Administrator", "Records Management Administrator"), | ||||
|     ROLE_RM_MANAGER("RecordsManager", "Records Management Manager"), | ||||
|     ROLE_RM_POWER_USER("PowerUser", "Records Management Power User"), | ||||
|     ROLE_RM_SECURITY_OFFICER("SecurityOfficer", "Records Management Security Officer"), | ||||
|     ROLE_RM_USER("User", "Records Management User"); | ||||
|  | ||||
|     public final String roleId; | ||||
|     public final String displayName; | ||||
| @@ -46,4 +51,5 @@ public enum UserRoles | ||||
|         this.displayName = displayName; | ||||
|     } | ||||
|  | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -29,12 +29,12 @@ package org.alfresco.rest.rm.community.requests; | ||||
| import static lombok.AccessLevel.PRIVATE; | ||||
| import static lombok.AccessLevel.PROTECTED; | ||||
|  | ||||
| import lombok.Getter; | ||||
| import lombok.Setter; | ||||
|  | ||||
| import org.alfresco.rest.core.RMRestWrapper; | ||||
| import org.alfresco.rest.requests.ModelRequest; | ||||
|  | ||||
| import lombok.Getter; | ||||
| import lombok.Setter; | ||||
|  | ||||
| /** | ||||
|  * Extends {@link ModelRequest} to set {@link RMRestWrapper} | ||||
|  * | ||||
| @@ -43,8 +43,8 @@ import org.alfresco.rest.requests.ModelRequest; | ||||
|  */ | ||||
| public abstract class RMModelRequest<Request> extends ModelRequest<Request> | ||||
| { | ||||
|     @Getter(value = PROTECTED) | ||||
|     @Setter(value = PRIVATE) | ||||
|     @Getter (value = PROTECTED) | ||||
|     @Setter (value = PRIVATE) | ||||
|     private RMRestWrapper rmRestWrapper; | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -33,24 +33,23 @@ import io.restassured.RestAssured; | ||||
|  | ||||
| import org.alfresco.rest.core.RMRestProperties; | ||||
| import org.alfresco.rest.core.RMRestWrapper; | ||||
| import org.alfresco.rest.rm.community.requests.RMModelRequest; | ||||
| 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; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RecordFolderAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RecordsAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.RetentionScheduleAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.TransferAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.TransferContainerAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledContainerAPI; | ||||
| import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI; | ||||
|  | ||||
| /** | ||||
|  * Defines the entire GS Core API {@link http://host:port/gs-api-explorer} select "GS Core API" | ||||
|  * Defines the entire GS Core API | ||||
|  * {@link http://host:port/gs-api-explorer} select "GS Core API" | ||||
|  * | ||||
|  * @author Tuna Aksoy | ||||
|  * @since 2.6 | ||||
| @@ -60,10 +59,8 @@ public class GSCoreAPI extends RMModelRequest | ||||
|     /** | ||||
|      * Constructor | ||||
|      * | ||||
|      * @param rmRestWrapper | ||||
|      *            RM REST Wrapper | ||||
|      * @param rmRestProperties | ||||
|      *            RM REST Properties | ||||
|      * @param rmRestWrapper RM REST Wrapper | ||||
|      * @param rmRestProperties RM REST Properties | ||||
|      */ | ||||
|     public GSCoreAPI(RMRestWrapper rmRestWrapper, RMRestProperties rmRestProperties) | ||||
|     { | ||||
| @@ -81,7 +78,7 @@ public class GSCoreAPI extends RMModelRequest | ||||
|      */ | ||||
|     public RMSiteAPI usingRMSite() | ||||
|     { | ||||
|         return new RMSiteAPI(getRmRestWrapper()); | ||||
|       return new RMSiteAPI(getRmRestWrapper()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -193,14 +190,4 @@ public class GSCoreAPI extends RMModelRequest | ||||
|     { | ||||
|         return new ActionsExecutionAPI(getRmRestWrapper()); | ||||
|     } | ||||
|  | ||||
|     public HoldsAPI usingHoldsAPI() | ||||
|     { | ||||
|         return new HoldsAPI(getRmRestWrapper()); | ||||
|     } | ||||
|  | ||||
|     public RetentionScheduleAPI usingRetentionScheduleAPI() | ||||
|     { | ||||
|         return new RetentionScheduleAPI(getRmRestWrapper()); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -27,13 +27,13 @@ | ||||
| package org.alfresco.rest.rm.community.requests.gscore.api; | ||||
|  | ||||
| import com.google.common.collect.ImmutableMap; | ||||
| import lombok.SneakyThrows; | ||||
| import org.json.JSONObject; | ||||
|  | ||||
| import lombok.SneakyThrows; | ||||
| import org.alfresco.rest.core.RMRestWrapper; | ||||
| import org.alfresco.rest.rm.community.model.rules.ActionsOnRule; | ||||
| import org.alfresco.rest.rm.community.requests.RMModelRequest; | ||||
| import org.alfresco.utility.model.RepoTestModel; | ||||
| import org.json.JSONObject; | ||||
|  | ||||
| /** | ||||
|  * Produces processed results from Core Actions API calls | ||||
| @@ -44,8 +44,7 @@ import org.alfresco.utility.model.RepoTestModel; | ||||
| public class ActionsExecutionAPI extends RMModelRequest | ||||
| { | ||||
|     /** | ||||
|      * @param rmRestWrapper | ||||
|      *            RM REST Wrapper | ||||
|      * @param rmRestWrapper RM REST Wrapper | ||||
|      */ | ||||
|     public ActionsExecutionAPI(RMRestWrapper rmRestWrapper) | ||||
|     { | ||||
| @@ -55,89 +54,81 @@ public class ActionsExecutionAPI extends RMModelRequest | ||||
|     /** | ||||
|      * Declares and files a document as record to a record folder using v1 actions api | ||||
|      * | ||||
|      * @param targetNode | ||||
|      *            the node on which the action is executed | ||||
|      * @param destinationPath | ||||
|      *            the path to the record folder | ||||
|      * @param targetNode      the node on which the action is executed | ||||
|      * @param destinationPath the path to the record folder | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     public JSONObject declareAndFile(RepoTestModel targetNode, String destinationPath) throws Exception | ||||
|     { | ||||
|         return getRmRestWrapper().withCoreAPI().usingActions() | ||||
|                 .executeAction(ActionsOnRule.DECLARE_AS_RECORD.getActionValue(), targetNode, | ||||
|                         ImmutableMap.of("path", destinationPath)); | ||||
|                                  .executeAction(ActionsOnRule.DECLARE_AS_RECORD.getActionValue(), targetNode, | ||||
|                                          ImmutableMap.of("path", destinationPath)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Declares a document as record using v1 actions api | ||||
|      * | ||||
|      * @param targetNode | ||||
|      *            the node on which the action is executed | ||||
|      * @param targetNode the node on which the action is executed | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     public JSONObject declareAsRecord(RepoTestModel targetNode) throws Exception | ||||
|     { | ||||
|         return getRmRestWrapper().withCoreAPI().usingActions() | ||||
|                 .executeAction(ActionsOnRule.DECLARE_AS_RECORD.getActionValue(), targetNode); | ||||
|                                  .executeAction(ActionsOnRule.DECLARE_AS_RECORD.getActionValue(), targetNode); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * Declares and file a document version as record to a record folder using v1 actions api | ||||
|      * | ||||
|      * @param targetNode | ||||
|      *            the node on which the action is executed | ||||
|      * @param destinationPath | ||||
|      *            the path to the record folder | ||||
|      * @param targetNode      the node on which the action is executed | ||||
|      * @param destinationPath the path to the record folder | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     public JSONObject declareAndFileVersionAsRecord(RepoTestModel targetNode, String destinationPath) throws Exception | ||||
|     { | ||||
|         return getRmRestWrapper().withCoreAPI().usingActions() | ||||
|                 .executeAction(ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(), targetNode, | ||||
|                         ImmutableMap.of("path", destinationPath)); | ||||
|                                  .executeAction(ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(), targetNode, | ||||
|                                          ImmutableMap.of("path", destinationPath)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Declares a document version as record using v1 actions api | ||||
|      * | ||||
|      * @param targetNode | ||||
|      *            the node on which the action is executed | ||||
|      * @param targetNode the node on which the action is executed | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     public JSONObject declareVersionAsRecord(RepoTestModel targetNode) throws Exception | ||||
|     { | ||||
|         return getRmRestWrapper().withCoreAPI().usingActions() | ||||
|                 .executeAction(ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(), targetNode); | ||||
|                                  .executeAction(ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(), targetNode); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Add WORM lock to a node using v1 actions api | ||||
|      * | ||||
|      * @param targetNode | ||||
|      *            the node on which the action is executed | ||||
|      * @param targetNode the node on which the action is executed | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     @SneakyThrows | ||||
|     public JSONObject addWORMLock(RepoTestModel targetNode) | ||||
|     { | ||||
|         return getRmRestWrapper().withCoreAPI().usingActions() | ||||
|                 .executeAction(ActionsOnRule.WORM_LOCK.getActionValue(), targetNode); | ||||
|                                  .executeAction(ActionsOnRule.WORM_LOCK.getActionValue(), targetNode); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * WORM lock a node for a period of days | ||||
|      * | ||||
|      * @param targetNode | ||||
|      *            the node on which the action is executed | ||||
|      * @param retentionPeriod | ||||
|      *            the retention period in days for the WORM lock | ||||
|      * @param targetNode      the node on which the action is executed | ||||
|      * @param retentionPeriod the retention period in days for the WORM lock | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     @SneakyThrows | ||||
|     public JSONObject addWORMLock(RepoTestModel targetNode, int retentionPeriod) | ||||
|     { | ||||
|         return getRmRestWrapper().withCoreAPI().usingActions() | ||||
|                 .executeAction(ActionsOnRule.WORM_LOCK.getActionValue(), targetNode, | ||||
|                         ImmutableMap.of("retentionPeriod", String.valueOf(retentionPeriod))); | ||||
|                                  .executeAction(ActionsOnRule.WORM_LOCK.getActionValue(), targetNode, | ||||
|                                          ImmutableMap.of("retentionPeriod", String.valueOf(retentionPeriod))); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -26,24 +26,20 @@ | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.requests.gscore.api; | ||||
|  | ||||
| import static org.apache.commons.lang3.StringUtils.EMPTY; | ||||
| import static org.springframework.http.HttpMethod.GET; | ||||
| import static org.springframework.http.HttpMethod.POST; | ||||
| import static org.springframework.http.HttpMethod.PUT; | ||||
|  | ||||
| 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.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.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.model.role.RoleCollection; | ||||
| import org.alfresco.rest.rm.community.requests.RMModelRequest; | ||||
|  | ||||
| /** | ||||
| @@ -58,8 +54,7 @@ public class FilePlanAPI extends RMModelRequest | ||||
|     /** | ||||
|      * Constructor. | ||||
|      * | ||||
|      * @param rmRestWrapper | ||||
|      *            RM REST Wrapper | ||||
|      * @param rmRestWrapper RM REST Wrapper | ||||
|      */ | ||||
|     public FilePlanAPI(RMRestWrapper rmRestWrapper) | ||||
|     { | ||||
| @@ -79,19 +74,16 @@ public class FilePlanAPI extends RMModelRequest | ||||
|     /** | ||||
|      * Gets a file plan. | ||||
|      * | ||||
|      * @param filePlanId | ||||
|      *            The identifier of a file plan | ||||
|      * @param parameters | ||||
|      *            The URL parameters to add | ||||
|      * @param filePlanId The identifier of a file plan | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The {@link FilePlan} for the given {@code filePlanId} | ||||
|      * @throws RuntimeException | ||||
|      *             for the following cases: | ||||
|      *             <ul> | ||||
|      *             <li>{@code filePlanId} is not a valid format</li> | ||||
|      *             <li>authentication fails</li> | ||||
|      *             <li>current user does not have permission to read {@code filePlanId}</li> | ||||
|      *             <li>{@code filePlanId} does not exist</li> | ||||
|      *             </ul> | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>{@code filePlanId} is not a valid format</li> | ||||
|      *  <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 FilePlan getFilePlan(String filePlanId, String parameters) | ||||
|     { | ||||
| @@ -101,7 +93,8 @@ public class FilePlanAPI extends RMModelRequest | ||||
|                 GET, | ||||
|                 "/file-plans/{filePlanId}?{parameters}", | ||||
|                 filePlanId, | ||||
|                 parameters)); | ||||
|                 parameters | ||||
|         )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -117,28 +110,26 @@ public class FilePlanAPI extends RMModelRequest | ||||
|     /** | ||||
|      * Gets the children (root categories) of a file plan. | ||||
|      * | ||||
|      * @param filePlanId | ||||
|      *            The identifier of a file plan | ||||
|      * @param parameters | ||||
|      *            The URL parameters to add | ||||
|      * @param filePlanId The identifier of a file plan | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The {@link RecordCategoryCollection} 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> | ||||
|      * @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 RecordCategoryCollection getRootRecordCategories(String filePlanId, String parameters) | ||||
|     { | ||||
|         mandatoryString("filePlanId", filePlanId); | ||||
|  | ||||
|         return getRmRestWrapper().processModels(RecordCategoryCollection.class, simpleRequest( | ||||
|                 GET, | ||||
|                 "file-plans/{filePlanId}/categories?{parameters}", | ||||
|                 filePlanId, | ||||
|                 parameters)); | ||||
|             GET, | ||||
|             "file-plans/{filePlanId}/categories?{parameters}", | ||||
|             filePlanId, | ||||
|             parameters | ||||
|         )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -155,23 +146,19 @@ public class FilePlanAPI extends RMModelRequest | ||||
|     /** | ||||
|      * Creates a root record category. | ||||
|      * | ||||
|      * @param recordCategoryModel | ||||
|      *            The record category model which holds the information | ||||
|      * @param filePlanId | ||||
|      *            The identifier of a file plan | ||||
|      * @param parameters | ||||
|      *            The URL parameters to add | ||||
|      * @param recordCategoryModel The record category model which holds the information | ||||
|      * @param filePlanId The identifier of a file plan | ||||
|      * @param parameters The URL parameters to add | ||||
|      * @return The created {@link RecordCategory} | ||||
|      * @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> | ||||
|      *             <li>model integrity exception, including node name with invalid characters</li> | ||||
|      *             </ul> | ||||
|      * @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> | ||||
|      *  <li>model integrity exception, including node name with invalid characters</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public RecordCategory createRootRecordCategory(RecordCategory recordCategoryModel, String filePlanId, String parameters) | ||||
|     { | ||||
| @@ -183,7 +170,8 @@ public class FilePlanAPI extends RMModelRequest | ||||
|                 toJson(recordCategoryModel), | ||||
|                 "file-plans/{filePlanId}/categories?{parameters}", | ||||
|                 filePlanId, | ||||
|                 parameters)); | ||||
|                 parameters | ||||
|         )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -200,21 +188,17 @@ public class FilePlanAPI extends RMModelRequest | ||||
|     /** | ||||
|      * Updates a file plan. | ||||
|      * | ||||
|      * @param filePlanModel | ||||
|      *            The file plan model which holds the information | ||||
|      * @param filePlanId | ||||
|      *            The identifier of the file plan | ||||
|      * @param parameters | ||||
|      *            The URL parameters to add | ||||
|      * @throws RuntimeException | ||||
|      *             for the following cases: | ||||
|      *             <ul> | ||||
|      *             <li>the update request is invalid or {@code filePlanId} is not a valid format or {@code filePlanModel} is invalid</li> | ||||
|      *             <li>authentication fails</li> | ||||
|      *             <li>current user does not have permission to update {@code filePlanId}</li> | ||||
|      *             <li>{@code filePlanId} does not exist</li> | ||||
|      *             <li>model integrity exception, including file name with invalid characters</li> | ||||
|      *             </ul> | ||||
|      * @param filePlanModel The file plan  model which holds the information | ||||
|      * @param filePlanId    The identifier of the file plan | ||||
|      * @param parameters          The URL parameters to add | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      *                   <ul> | ||||
|      *                   <li>the update request is invalid or {@code filePlanId} is not a valid format or {@code filePlanModel} is invalid</li> | ||||
|      *                   <li>authentication fails</li> | ||||
|      *                   <li>current user does not have permission to update {@code filePlanId}</li> | ||||
|      *                   <li>{@code filePlanId} does not exist</li> | ||||
|      *                   <li>model integrity exception, including file name with invalid characters</li> | ||||
|      *                   </ul> | ||||
|      */ | ||||
|     public FilePlan updateFilePlan(FilePlan filePlanModel, String filePlanId, String parameters) | ||||
|     { | ||||
| @@ -229,114 +213,4 @@ 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); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Gets the roles of a file plan. | ||||
|      * | ||||
|      * @param filePlanId | ||||
|      *            The identifier of a file plan | ||||
|      * @param parameters | ||||
|      *            The URL parameters to add | ||||
|      * @return The {Pagination and RoleModel Entries} 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 RoleCollection getFilePlanRoles(String filePlanId, String parameters) | ||||
|     { | ||||
|         mandatoryString("filePlanId", filePlanId); | ||||
|         return getRmRestWrapper().processModels(RoleCollection.class, simpleRequest( | ||||
|                 GET, | ||||
|                 "file-plans/{filePlanId}/roles?{parameters}", | ||||
|                 filePlanId, | ||||
|                 parameters)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #getFilePlanRoles(String, String)} | ||||
|      */ | ||||
|     public RoleCollection getFilePlanRoles(String filePlanId) | ||||
|     { | ||||
|         return getFilePlanRoles(filePlanId, EMPTY); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -26,10 +26,9 @@ | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.requests.gscore.api; | ||||
|  | ||||
| import static org.springframework.http.HttpMethod.POST; | ||||
|  | ||||
| import static org.alfresco.rest.core.RestRequest.simpleRequest; | ||||
| import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString; | ||||
| import static org.springframework.http.HttpMethod.POST; | ||||
|  | ||||
| import org.alfresco.rest.core.RMRestWrapper; | ||||
| import org.alfresco.rest.rm.community.model.record.Record; | ||||
| @@ -46,8 +45,7 @@ public class FilesAPI extends RMModelRequest<FilesAPI> | ||||
|     public static final String PARENT_ID_PARAM = "parentId"; | ||||
|  | ||||
|     /** | ||||
|      * @param rmRestWrapper | ||||
|      *            RM REST Wrapper | ||||
|      * @param rmRestWrapper RM REST Wrapper | ||||
|      */ | ||||
|     public FilesAPI(RMRestWrapper rmRestWrapper) | ||||
|     { | ||||
| @@ -57,20 +55,20 @@ public class FilesAPI extends RMModelRequest<FilesAPI> | ||||
|     /** | ||||
|      * Declare file as record | ||||
|      * | ||||
|      * @param fileId | ||||
|      *            The Id of a file to declare as record | ||||
|      * @param fileId The Id of a file to declare as record | ||||
|      * @return The {@link Record} for created record | ||||
|      * @throws RuntimeException | ||||
|      *             for malformed JSON responses | ||||
|      * @throws RuntimeException for malformed JSON responses | ||||
|      */ | ||||
|     public Record declareAsRecord(String fileId) | ||||
|     { | ||||
|         mandatoryString("fileId", fileId); | ||||
|  | ||||
|         return getRmRestWrapper().processModel(Record.class, simpleRequest( | ||||
|                 POST, | ||||
|                 "/files/{fileId}/declare?{parameters}", | ||||
|                 fileId, | ||||
|                 getRmRestWrapper().getParameters())); | ||||
|             POST, | ||||
|             "/files/{fileId}/declare?{parameters}", | ||||
|             fileId, | ||||
|             getRmRestWrapper().getParameters() | ||||
|         )); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,476 +0,0 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2025 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.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 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 org.alfresco.rest.core.RMRestWrapper; | ||||
| import org.alfresco.rest.rm.community.model.hold.BulkBodyCancel; | ||||
| 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); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Cancels a bulk operation for a hold. | ||||
|      * | ||||
|      * @param holdId | ||||
|      *            The identifier of a hold | ||||
|      * @param bulkStatusId | ||||
|      *            The identifier of a bulk status operation | ||||
|      * @param bulkBodyCancel | ||||
|      *            The bulk body cancel model | ||||
|      * @param parameters | ||||
|      *            The URL parameters to add | ||||
|      * @throws RuntimeException | ||||
|      *             for the following cases: | ||||
|      *             <ul> | ||||
|      *             <li>{@code holdId}, {@code bulkStatusId} or {@code bulkBodyCancel} is invalid</li> | ||||
|      *             <li>authentication fails</li> | ||||
|      *             <li>current user does not have permission to cancel the bulk operation for {@code bulkStatusId}</li> | ||||
|      *             <li>{@code holdId} or {@code bulkStatusId} does not exist</li> | ||||
|      *             </ul> | ||||
|      */ | ||||
|     public void cancelBulkOperation(String holdId, String bulkStatusId, BulkBodyCancel bulkBodyCancel, String parameters) | ||||
|     { | ||||
|         mandatoryString("holdId", holdId); | ||||
|         mandatoryString("bulkStatusId", bulkStatusId); | ||||
|         mandatoryObject("bulkBodyCancel", bulkBodyCancel); | ||||
|  | ||||
|         getRmRestWrapper().processEmptyModel(requestWithBody( | ||||
|                 POST, | ||||
|                 toJson(bulkBodyCancel), | ||||
|                 "holds/{holdId}/bulk-statuses/{bulkStatusId}/cancel", | ||||
|                 holdId, | ||||
|                 bulkStatusId, | ||||
|                 parameters)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * See {@link #cancelBulkOperation(String, String, BulkBodyCancel, String)} | ||||
|      */ | ||||
|     public void cancelBulkOperation(String holdId, String bulkStatusId, BulkBodyCancel bulkBodyCancel) | ||||
|     { | ||||
|         mandatoryString("holdId", holdId); | ||||
|         mandatoryString("bulkStatusId", bulkStatusId); | ||||
|         mandatoryObject("bulkBodyCancel", bulkBodyCancel); | ||||
|  | ||||
|         cancelBulkOperation(holdId, bulkStatusId, bulkBodyCancel, EMPTY); | ||||
|     } | ||||
| } | ||||
| @@ -26,17 +26,16 @@ | ||||
|  */ | ||||
| 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.PojoUtility.toJson; | ||||
| 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 static org.springframework.http.HttpStatus.OK; | ||||
|  | ||||
| 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.PojoUtility.toJson; | ||||
|  | ||||
| import org.alfresco.rest.core.RMRestWrapper; | ||||
| import org.alfresco.rest.rm.community.model.site.RMSite; | ||||
| import org.alfresco.rest.rm.community.requests.RMModelRequest; | ||||
| @@ -52,8 +51,7 @@ public class RMSiteAPI extends RMModelRequest | ||||
|     /** | ||||
|      * Constructor | ||||
|      * | ||||
|      * @param rmRestWrapper | ||||
|      *            RM REST Wrapper | ||||
|      * @param rmRestWrapper RM REST Wrapper | ||||
|      */ | ||||
|     public RMSiteAPI(RMRestWrapper rmRestWrapper) | ||||
|     { | ||||
| @@ -64,35 +62,34 @@ public class RMSiteAPI extends RMModelRequest | ||||
|      * Get the RM site | ||||
|      * | ||||
|      * @return The {@link RMSite} for the given file plan component id | ||||
|      * @throws RuntimeException | ||||
|      *             for the following cases: | ||||
|      *             <ul> | ||||
|      *             <li>Api Response code 400 Invalid parameter: GET request is supported only for the RM site</li> | ||||
|      *             <li>Api Response code 401 If authentication failed</li> | ||||
|      *             <li>Api Response code 409 If RM Site does not exist</li> | ||||
|      *             <li>Api Response code default Unexpected error</li> | ||||
|      *             </ul> | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>Api Response code 400 Invalid parameter: GET request is supported only for the RM site</li> | ||||
|      *  <li>Api Response code 401 If authentication failed</li> | ||||
|      *  <li>Api Response code 409 If RM Site does not exist</li> | ||||
|      *  <li>Api Response code default Unexpected error</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public RMSite getSite() | ||||
|     { | ||||
|         return getRmRestWrapper().processModel(RMSite.class, simpleRequest( | ||||
|                 GET, | ||||
|                 "gs-sites/rm")); | ||||
|                 "gs-sites/rm" | ||||
|         )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Create the RM site | ||||
|      * | ||||
|      * @param rmSiteModel | ||||
|      *            The properties of the rm site to be created | ||||
|      * @param rmSiteModel The properties of the rm site to be created | ||||
|      * @return The {@link RMSite} with the given properties | ||||
|      * @throws RuntimeException | ||||
|      *             for the following cases: | ||||
|      *             <ul> | ||||
|      *             <li>Api Response code 400 Invalid parameter: title, or description exceed the maximum length; or siteBodyCreate invalid</li> | ||||
|      *             <li>Api Response code 401 If authentication failed</<li>Api Response code 409 RM Site already exists</li> | ||||
|      *             <li>Api Response code default Unexpected error</li> | ||||
|      *             </ul> | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>Api Response code 400 Invalid parameter: title, or description exceed the maximum length; or siteBodyCreate invalid</li> | ||||
|      *  <li>Api Response code 401 If authentication failed</ | ||||
|      *  <li>Api Response code 409 RM Site already exists</li> | ||||
|      *  <li>Api Response code default Unexpected error</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public RMSite createRMSite(RMSite rmSiteModel) | ||||
|     { | ||||
| @@ -101,43 +98,42 @@ public class RMSiteAPI extends RMModelRequest | ||||
|         return getRmRestWrapper().processModel(RMSite.class, requestWithBody( | ||||
|                 POST, | ||||
|                 toJson(rmSiteModel), | ||||
|                 "gs-sites")); | ||||
|                 "gs-sites" | ||||
|         )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Delete RM site | ||||
|      *  | ||||
|      * @throws RuntimeException | ||||
|      *             for the following cases: | ||||
|      *             <ul> | ||||
|      *             <li>Api Response code 400 Invalid parameter: DELETE request is supported only for the RM site</li> | ||||
|      *             <li>Api Response code 401 If authentication failed</<li>Api Response code 403 Current user does not have permission to delete the site that is visible to them.</li> | ||||
|      *             <li>Api Response code 404 RM site does not exist</li> | ||||
|      *             <li>Api Response code default Unexpected error</li> | ||||
|      *             </ul> | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>Api Response code 400 Invalid parameter: DELETE request is supported only for the RM site</li> | ||||
|      *  <li>Api Response code 401 If authentication failed</ | ||||
|      *  <li>Api Response code 403 Current user does not have permission to delete the site that is visible to them.</li> | ||||
|      *  <li>Api Response code 404 RM site does not exist</li> | ||||
|      *  <li>Api Response code default Unexpected error</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public void deleteRMSite() | ||||
|     { | ||||
|         getRmRestWrapper().processEmptyModel(simpleRequest( | ||||
|                 DELETE, | ||||
|                 "gs-sites/rm")); | ||||
|                 "gs-sites/rm" | ||||
|         )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Update RM site | ||||
|      * | ||||
|      * @param rmSiteModel | ||||
|      *            The properties to be updated | ||||
|      * @param rmSiteModel The properties to be updated | ||||
|      * @return The updated {@link RMSite} | ||||
|      * @throws RuntimeException | ||||
|      *             for the following cases: | ||||
|      *             <ul> | ||||
|      *             <li>Api Response code 400 the update request is invalid {@code rmSiteModel} is invalid</li> | ||||
|      *             <li>Api Response code 401 If authentication fails</li> | ||||
|      *             <li>Api Response code 403 does not have permission to update {@code RMSite}</li> | ||||
|      *             <li>Api Response code 404 {@code RMSiteModel} does not exist</li> | ||||
|      *             <li>Api Response code default Unexpected error,model integrity exception</li> | ||||
|      *             </ul> | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>Api Response code 400 the update request is invalid {@code rmSiteModel} is invalid</li> | ||||
|      *  <li>Api Response code 401 If authentication fails</li> | ||||
|      *  <li>Api Response code 403 does not have permission to update {@code RMSite}</li> | ||||
|      *  <li>Api Response code 404 {@code RMSiteModel} does not exist</li> | ||||
|      *  <li>Api Response code default Unexpected error,model integrity exception</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public RMSite updateRMSite(RMSite rmSiteModel) | ||||
|     { | ||||
| @@ -146,21 +142,21 @@ public class RMSiteAPI extends RMModelRequest | ||||
|         return getRmRestWrapper().processModel(RMSite.class, requestWithBody( | ||||
|                 PUT, | ||||
|                 toJson(rmSiteModel), | ||||
|                 "gs-sites/rm")); | ||||
|                 "gs-sites/rm" | ||||
|         )); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Checks if the RM site exists or not | ||||
|      * | ||||
|      * @return <code>true</code> if the RM site exists, <code>false</code> otherwise | ||||
|      * @throws RuntimeException | ||||
|      *             for the following cases: | ||||
|      *             <ul> | ||||
|      *             <li>Api Response code 400 Invalid parameter: GET request is supported only for the RM site</li> | ||||
|      *             <li>Api Response code 401 If authentication failed</li> | ||||
|      *             <li>Api Response code 409 If RM Site does not exist</li> | ||||
|      *             <li>Api Response code default Unexpected error</li> | ||||
|      *             </ul> | ||||
|      * @throws RuntimeException for the following cases: | ||||
|      * <ul> | ||||
|      *  <li>Api Response code 400 Invalid parameter: GET request is supported only for the RM site</li> | ||||
|      *  <li>Api Response code 401 If authentication failed</li> | ||||
|      *  <li>Api Response code 409 If RM Site does not exist</li> | ||||
|      *  <li>Api Response code default Unexpected error</li> | ||||
|      * </ul> | ||||
|      */ | ||||
|     public boolean existsRMSite() | ||||
|     { | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user