Compare commits

..

105 Commits

Author SHA1 Message Date
alfresco-build
5109b99520 [maven-release-plugin][skip ci] prepare release 23.6.0.9 2025-08-06 06:04:42 +00:00
Belal Ansari
dfc6306331 Feature/ACS 9933 vulnerability in commons lang3 (#3503) 2025-08-06 10:53:05 +05:30
alfresco-build
731f98921f [maven-release-plugin][skip ci] prepare for next development iteration 2025-07-30 13:35:32 +00:00
alfresco-build
0b21dbdc0a [maven-release-plugin][skip ci] prepare release 23.6.0.8 2025-07-30 13:35:29 +00:00
Eva Vasques
dd928356b8 MNT-24975 - Repeated IPR groups due to casing inconsistencies (#3459) (#3495) 2025-07-30 13:46:19 +01:00
alfresco-build
1844d8bdb9 [maven-release-plugin][skip ci] prepare for next development iteration 2025-07-23 08:47:11 +00:00
alfresco-build
17eef66f5c [maven-release-plugin][skip ci] prepare release 23.6.0.7 2025-07-23 08:47:08 +00:00
jakubkochman
1d1f269a70 PRODSEC-10304 bumped spring.version to 6.2.8 in 23.N (#3463) 2025-07-23 09:54:15 +02:00
alfresco-build
2ccf6044b8 [maven-release-plugin][skip ci] prepare for next development iteration 2025-07-21 04:28:24 +00:00
alfresco-build
bdd09784e1 [maven-release-plugin][skip ci] prepare release 23.6.0.6 2025-07-21 04:28:22 +00:00
bsayan2
de5d70be46 MNT-25150 check owner aspect first (#3479) 2025-07-18 11:54:26 +05:30
alfresco-build
8cacba0988 [maven-release-plugin][skip ci] prepare for next development iteration 2025-07-02 09:56:47 +00:00
alfresco-build
60187bf9a2 [maven-release-plugin][skip ci] prepare release 23.6.0.5 2025-07-02 09:56:45 +00:00
jakubkochman
ff4634be19 PRODSEC-10332 backport to 23.N (#3445) 2025-07-02 11:04:13 +02:00
alfresco-build
9c64b45908 [maven-release-plugin][skip ci] prepare for next development iteration 2025-06-24 06:43:06 +00:00
alfresco-build
d97d8fba04 [maven-release-plugin][skip ci] prepare release 23.6.0.4 2025-06-24 06:43:04 +00:00
KushalBanik
368b571d9c [MNT-10187] common-beanutils bumbed up to 1.11.0 (#3395) 2025-06-24 11:29:03 +05:30
alfresco-build
e9da7d222b [maven-release-plugin][skip ci] prepare for next development iteration 2025-06-17 15:58:11 +00:00
alfresco-build
8c059460f9 [maven-release-plugin][skip ci] prepare release 23.6.0.3 2025-06-17 15:58:09 +00:00
jakubkochman
bd0aaa08b3 ACS-6928 backported to 23.N (#3390) 2025-06-17 17:12:37 +02:00
alfresco-build
93d678dc30 [maven-release-plugin][skip ci] prepare for next development iteration 2025-06-05 11:35:36 +00:00
alfresco-build
9648189827 [maven-release-plugin][skip ci] prepare release 23.6.0.2 2025-06-05 11:35:34 +00:00
SatyamSah5
9bfd274127 [ACS-9697] Backport to 23.N (#3375) 2025-06-05 16:23:23 +05:30
jakubkochman
dcf9f65f6b ACS-9646 backport to 23.N (#3378) 2025-06-05 12:12:22 +02:00
alfresco-build
784fae5834 [maven-release-plugin][skip ci] prepare for next development iteration 2025-06-03 12:58:29 +00:00
alfresco-build
eddd8a1065 [maven-release-plugin][skip ci] prepare release 23.6.0.1 2025-06-03 12:58:26 +00:00
cezary-witkowski
0941746518 [MNT-24859] Basic Auth still possible with Keycloak enabled (#3373)
Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>
2025-06-03 14:14:49 +02:00
Damian Ujma
a1f0f35f60 Updating 23.N branch to 23.6.0 after 23.5.0 ACS release [skip ci] 2025-06-03 13:18:18 +02:00
alfresco-build
25d96a50cd [maven-release-plugin][skip ci] prepare for next development iteration 2025-06-02 08:05:26 +00:00
alfresco-build
3c7f024fed [maven-release-plugin][skip ci] prepare release 23.5.0.19 2025-06-02 08:05:25 +00:00
rrajoria
6a1a197701 Bump AOS Version 3.3.0 2025-06-02 12:48:39 +05:30
alfresco-build
5cff5092a0 [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-26 16:39:08 +00:00
alfresco-build
b50f912df2 [maven-release-plugin][skip ci] prepare release 23.5.0.18 2025-05-26 16:39:05 +00:00
varapathijanakiram
b4f00dddb8 Merge pull request #3368 from Alfresco/revert-3364-fix/MNT-24776-Backport
Revert "Backported the MNT-24776"
2025-05-26 21:26:29 +05:30
varapathijanakiram
02c103f39a Revert "Backported the MNT-24776 (#3364)"
This reverts commit d86415401d.
2025-05-26 20:47:07 +05:30
alfresco-build
3c23fa20c5 [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-23 12:25:05 +00:00
alfresco-build
576b6faac9 [maven-release-plugin][skip ci] prepare release 23.5.0.17 2025-05-23 12:25:03 +00:00
varapathijanakiram
d86415401d Backported the MNT-24776 (#3364) 2025-05-23 17:11:13 +05:30
alfresco-build
460cc1f2cd [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-21 11:36:58 +00:00
alfresco-build
370fef10fd [maven-release-plugin][skip ci] prepare release 23.5.0.16 2025-05-21 11:36:56 +00:00
varapathijanakiram
efadc239d4 Merge pull request #3360 from Alfresco/fix/MNT-24172
[fix/MNT-24172-fixRecreationOfRendition2] Backport Fix of recreation of rendition2
2025-05-21 16:25:03 +05:30
alfresco-build
de90e37578 [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-20 11:27:29 +00:00
alfresco-build
6e438d2e4f [maven-release-plugin][skip ci] prepare release 23.5.0.15 2025-05-20 11:27:26 +00:00
SatyamSah5
a86fa21880 [ACS-9572] Show proper message for duplicate unzipping (#3356) 2025-05-20 15:15:42 +05:30
DurgDineshsai
db74a6e7f2 Merge pull request #3357 from Alfresco/fix/MNT-24146
Backport MNT 24146 changes
2025-05-20 11:49:28 +05:30
rrajoria
8c773ac97c fix precommit 2025-05-20 10:53:27 +05:30
vjanakiram
5a2b3cf64d [fix/MNT-24172-fixRecreationOfRendition2] Backport fix for recreation of rendition2 2025-05-19 19:45:06 +05:30
rrajoria
8ab910d2b1 Fix PreCommit 2025-05-19 12:25:24 +05:30
alfresco-build
fa70f1cd45 [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-19 05:57:38 +00:00
alfresco-build
75a2e0f901 [maven-release-plugin][skip ci] prepare release 23.5.0.14 2025-05-19 05:57:36 +00:00
bsayan2
84997bcf86 MNT-25069 help documentation url updated. backport to 23.N (#3343) 2025-05-19 10:40:00 +05:30
alfresco-build
536b3ddd6d [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-16 15:13:54 +00:00
alfresco-build
bb86c97b11 [maven-release-plugin][skip ci] prepare release 23.5.0.13 2025-05-16 15:13:52 +00:00
Gerard Olenski
558f117f24 ACS-9578 Improve stability in AddToHoldsBulkV1Tests (#3355)
(cherry picked from commit d163410e3d)
2025-05-16 16:31:44 +02:00
alfresco-build
bbae71658d [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-16 13:04:38 +00:00
alfresco-build
9ee9653463 [maven-release-plugin][skip ci] prepare release 23.5.0.12 2025-05-16 13:04:36 +00:00
Sara
44570cec8a Merge pull request #3353 from Alfresco/feature/ACS-9642_Prep_23-N_for_ACS-23-5
ACS-9642 Prepare 23.N forACS-23-5
2025-05-16 12:37:13 +01:00
alfresco-build
33eb0354fa [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-16 10:51:22 +00:00
alfresco-build
0d3e2dc8bb [maven-release-plugin][skip ci] prepare release 23.5.0.11 2025-05-16 10:51:20 +00:00
Gerard Olenski
ac62c52a33 ACS-9652 [Es Connector] Prepare ACS 23.N for release (with ES Connector 5.1.0) (#3354)
Co-authored-by: Belal Ansari <belal.ansari@hyland.com>
2025-05-16 12:05:27 +02:00
Sara Aspery
0d30d40d8f Merge branch 'refs/heads/release/23.N' into feature/ACS-9642_Prep_23-N_for_ACS-23-5 2025-05-16 10:16:29 +01:00
alfresco-build
87e365df7e [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-16 09:02:12 +00:00
alfresco-build
6ee01e808b [maven-release-plugin][skip ci] prepare release 23.5.0.10 2025-05-16 09:02:09 +00:00
tathagta15
57427f4765 [PRODSEC-10096]-Bump-poi-version-backport (#3352) 2025-05-16 13:50:06 +05:30
Tiago Salvado
f6a12760c9 [MNT-24992] Add method to force renditions content hash code (#3288) (#3291) 2025-05-15 22:48:15 +01:00
tathagta15
560a050af3 Bump org.springframework.security:spring-security to 6.3.8 (#3322) 2025-05-15 18:59:55 +01:00
cezary-witkowski
5ed82930d2 [MNT-24937] Fix EventTableOutbox messages flooding the logs on bootstrap failure (#3286) (#3297)
Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>
2025-05-15 18:55:08 +01:00
Belal Ansari
f8a32022c3 PRODSEC-10029 - to bump apache camel and netty to latest safe version along with roundRobin Load Balancer upgrade 2025-05-15 18:51:50 +01:00
Belal Ansari
137df0ff4c PRODSEC-10029 - to bumping apache camel and netty to latest safe compatible version 2025-05-15 18:51:50 +01:00
Kacper Magdziarz
23bd8c064c [PRODSEC-10013] Bump JSON Smart to 2.5.2 2025-05-15 18:02:22 +01:00
purusothaman-mm
e3384eaee4 [PRODSEC-9888] Fix for cxf-core and netty-common (#3217) 2025-05-15 18:00:54 +01:00
Kacper Magdziarz
c7e5716a4a [ACS-9490] Backport: Use FixedThreadPool for ExecutorService (#3301) (#3302) 2025-05-15 17:45:34 +01:00
Belal Ansari
7fa0d30100 Fix/MNT-24891 backport to 23.3 (#3312)
Co-authored-by: Kacper Magdziarz <kacper.magdziarz@hyland.com>
2025-05-15 17:44:02 +01:00
alfresco-build
6d33e57d05 [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-15 13:09:09 +00:00
alfresco-build
f0bfc647e4 [maven-release-plugin][skip ci] prepare release 23.5.0.9 2025-05-15 13:09:07 +00:00
DurgDineshsai
757dbbbb1f Merge pull request #3349 from Alfresco/fix/MNT-23926- backport fix
MNT-23926 backport fix
2025-05-15 17:54:58 +05:30
alfresco-build
8c555b62d4 [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-15 12:00:43 +00:00
alfresco-build
d0138c9702 [maven-release-plugin][skip ci] prepare release 23.5.0.8 2025-05-15 12:00:42 +00:00
DurgDineshsai
71849cd4ac MNT-24146 -backport fix & precommit changes 2025-05-15 17:30:20 +05:30
Damian Ujma
dba27bb86c ACS-9416 Backport ACS-9414 Enhance the Identity Provider configuration (#3263) (#3347) 2025-05-15 13:08:41 +02:00
DurgDineshsai
6a37bc93c0 MNT-23926 backport fix 2025-05-15 15:41:21 +05:30
DurgDineshsai
686ffcb19c MNT-24146 backport fix 2025-05-15 15:04:46 +05:30
alfresco-build
b36a1a9364 [maven-release-plugin][skip ci] prepare for next development iteration 2025-05-05 07:22:07 +00:00
alfresco-build
a12a31120d [maven-release-plugin][skip ci] prepare release 23.5.0.7 2025-05-05 07:22:06 +00:00
KushalBanik
bf2e53344d Backport/[MNT-24490] Reference for AlfrescoSQLServerDialect changed to SQLServerDialect 2025-05-05 11:25:09 +05:30
alfresco-build
aa4570c895 [maven-release-plugin][skip ci] prepare for next development iteration 2025-04-21 06:24:28 +00:00
alfresco-build
6e2e3f705f [maven-release-plugin][skip ci] prepare release 23.5.0.6 2025-04-21 06:24:26 +00:00
SatyamSah5
462625165f [MNT-24623] fix for unzipping zip files having accent char in folder … (#3317) 2025-04-21 11:07:40 +05:30
alfresco-build
d341a3bab8 [maven-release-plugin][skip ci] prepare for next development iteration 2025-04-04 11:42:48 +00:00
alfresco-build
ecf658dd82 [maven-release-plugin][skip ci] prepare release 23.5.0.5 2025-04-04 11:42:46 +00:00
Eva Vasques
feba13d274 [MNT-24913] Added fallback method to obtain deployment category in order to check if workflow is secure (#3300)
Co-authored-by: Tiago Salvado <9038083+tiagosalvado10@users.noreply.github.com>
Co-authored-by: Tiago Salvado <tiagosalvado10@gmail.com>
2025-04-04 12:01:18 +01:00
alfresco-build
b2023bed63 [maven-release-plugin][skip ci] prepare for next development iteration 2025-04-03 14:11:34 +00:00
alfresco-build
2c1203f1f5 [maven-release-plugin][skip ci] prepare release 23.5.0.4 2025-04-03 14:11:33 +00:00
Eva Vasques
0edebd7df1 Revert "[MNT-24137] Audit Issue Internal Server Error fix" (#3292) 2025-04-03 14:20:27 +01:00
alfresco-build
e059aa060a [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-10 12:12:34 +00:00
alfresco-build
bd92569cec [maven-release-plugin][skip ci] prepare release 23.5.0.3 2025-02-10 12:12:32 +00:00
Kacper Magdziarz
2b521fd5a7 [ACS-9181] Bump Keycloak to 26.1.0 on ACS 23.N (#3173)
* [ACS-9181] Bump Keycloak to 26.1.0

* [ACS-9181] Bump Keycloak
2025-02-10 12:25:38 +01:00
alfresco-build
1ecfa6c18e [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-03 14:49:23 +00:00
alfresco-build
60eb7d2630 [maven-release-plugin][skip ci] prepare release 23.5.0.2 2025-02-03 14:49:21 +00:00
Cezary Witkowski
65a70c64c5 [ACS-9205] Backport MNT-24807 to the release/23.N branch (#3183)
* [MNT-24807] repo event2 is exposing user password hash and salt (#3147)

* [MNT-24807] Implemented PropertyReplacer that replaces values of sensitive properties (e.g. passwords) during creation of NodeResource for event2

* [MNT-24807] Fix failing tests

* Revert "[MNT-24807] Fix failing tests"

This reverts commit c118f713f2.

* [MNT-24807] Fix failing tests without reformat

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

* [MNT-24807] Introduced interface to keep convention

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

* [MNT-24807] Added ability to configure property filter and mapper for user

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

* [MNT-24807] Fixed npe and pmd issues

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

* [MNT-24807] Fixed more pmd comments, applied pre-commit formatting

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

* [MNT-24807] Renamed user configured properties to indicate what they do, added failsafe when userConfiguredReplacementText is not configured at all

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

* [MNT-24807] Added unit tests

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

* [MNT-24807] Additional config to disable property mapper entirely

* [MNT-24807] PMD again

* [MNT-24807] Updated year in licence for some files I missed

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

---------

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

* [ACS-9205] Apply spotless

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>

---------

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>
2025-02-03 14:46:23 +01:00
alfresco-build
d23279227a [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-30 12:56:38 +00:00
alfresco-build
117462a480 [maven-release-plugin][skip ci] prepare release 23.5.0.1 2025-01-30 12:56:36 +00:00
Kacper Magdziarz
be47b189dc Update pre-commit job 2025-01-30 13:00:33 +01:00
Kacper Magdziarz
7ccc2f02f5 Bump headers to 2025 2025-01-30 12:54:51 +01:00
Kacper Magdziarz
456fa58c11 Creating service pack branch release/23.N after 23.4.0 ACS release [skip ci] 2024-11-20 13:35:46 +01:00
7397 changed files with 985252 additions and 1010501 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -34,12 +34,12 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - 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.24.1 - 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.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.16.0
with: with:
username: ${{ env.GIT_USERNAME }} username: ${{ env.GIT_USERNAME }}
email: ${{ env.GIT_EMAIL }} email: ${{ env.GIT_EMAIL }}
@@ -63,12 +63,12 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - 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.24.1 - 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.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.16.0
with: with:
username: ${{ env.GIT_USERNAME }} username: ${{ env.GIT_USERNAME }}
email: ${{ env.GIT_EMAIL }} email: ${{ env.GIT_EMAIL }}

View File

@@ -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@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.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.24.1
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

View File

@@ -127,6 +127,29 @@
} }
], ],
"results": { "results": {
".github/workflows/ci.yml": [
{
"type": "Secret Keyword",
"filename": ".github/workflows/ci.yml",
"hashed_secret": "b86dc2f033a63f2b7b9e7d270ab806d2910d7572",
"is_verified": false,
"line_number": 293
},
{
"type": "Secret Keyword",
"filename": ".github/workflows/ci.yml",
"hashed_secret": "1bfb0e20f886150ba59b853bcd49dea893e00966",
"is_verified": false,
"line_number": 368
},
{
"type": "Secret Keyword",
"filename": ".github/workflows/ci.yml",
"hashed_secret": "128f14373ccfaff49e3664045d3a11b50cbb7b39",
"is_verified": false,
"line_number": 902
}
],
".github/workflows/master_release.yml": [ ".github/workflows/master_release.yml": [
{ {
"type": "Secret Keyword", "type": "Secret Keyword",
@@ -143,7 +166,7 @@
"filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/TestData.java", "filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/TestData.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 58, "line_number": 57,
"is_secret": false "is_secret": false
} }
], ],
@@ -153,7 +176,7 @@
"filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/retentionschedule/RetentionScheduleStepTests.java", "filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/retentionschedule/RetentionScheduleStepTests.java",
"hashed_secret": "e3557f3b0f2189660980d213f75d1a7828d56af1", "hashed_secret": "e3557f3b0f2189660980d213f75d1a7828d56af1",
"is_verified": false, "is_verified": false,
"line_number": 85, "line_number": 83,
"is_secret": false "is_secret": false
} }
], ],
@@ -224,7 +247,7 @@
"filename": "core/src/main/java/org/alfresco/encryption/AlfrescoKeyStore.java", "filename": "core/src/main/java/org/alfresco/encryption/AlfrescoKeyStore.java",
"hashed_secret": "a718763bca0f328b0e7ce2a98d9e79fc271bf827", "hashed_secret": "a718763bca0f328b0e7ce2a98d9e79fc271bf827",
"is_verified": false, "is_verified": false,
"line_number": 34, "line_number": 35,
"is_secret": false "is_secret": false
} }
], ],
@@ -234,7 +257,7 @@
"filename": "core/src/main/java/org/alfresco/httpclient/HttpClientFactory.java", "filename": "core/src/main/java/org/alfresco/httpclient/HttpClientFactory.java",
"hashed_secret": "5d3c708390e5f51413e414393d4ad2a6d0e59a45", "hashed_secret": "5d3c708390e5f51413e414393d4ad2a6d0e59a45",
"is_verified": false, "is_verified": false,
"line_number": 128, "line_number": 126,
"is_secret": false "is_secret": false
} }
], ],
@@ -400,7 +423,7 @@
"filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java", "filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java",
"hashed_secret": "a28cecdb5056cf30135809b921e38a84deb6c345", "hashed_secret": "a28cecdb5056cf30135809b921e38a84deb6c345",
"is_verified": false, "is_verified": false,
"line_number": 100, "line_number": 102,
"is_secret": false "is_secret": false
}, },
{ {
@@ -408,7 +431,7 @@
"filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java", "filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java",
"hashed_secret": "5e39d8e2991ef9705998de26b33f11be0f3cdcde", "hashed_secret": "5e39d8e2991ef9705998de26b33f11be0f3cdcde",
"is_verified": false, "is_verified": false,
"line_number": 101, "line_number": 103,
"is_secret": false "is_secret": false
} }
], ],
@@ -516,7 +539,7 @@
"filename": "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/model/RestSitePersonMembershipRequestModelsCollection.java", "filename": "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/model/RestSitePersonMembershipRequestModelsCollection.java",
"hashed_secret": "8b30a14989d7b8093ac29462fe29423d836625b4", "hashed_secret": "8b30a14989d7b8093ac29462fe29423d836625b4",
"is_verified": false, "is_verified": false,
"line_number": 33, "line_number": 39,
"is_secret": false "is_secret": false
} }
], ],
@@ -600,7 +623,7 @@
"filename": "remote-api/src/main/java/org/alfresco/repo/web/scripts/tenant/AbstractTenantAdminWebScript.java", "filename": "remote-api/src/main/java/org/alfresco/repo/web/scripts/tenant/AbstractTenantAdminWebScript.java",
"hashed_secret": "889d2688743fdce6115117a5ba7dbc5f33e0ce03", "hashed_secret": "889d2688743fdce6115117a5ba7dbc5f33e0ce03",
"is_verified": false, "is_verified": false,
"line_number": 39, "line_number": 38,
"is_secret": false "is_secret": false
} }
], ],
@@ -610,7 +633,7 @@
"filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java", "filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java",
"hashed_secret": "43d52295ed5cb7e2b772f2b8be9695ddde971c49", "hashed_secret": "43d52295ed5cb7e2b772f2b8be9695ddde971c49",
"is_verified": false, "is_verified": false,
"line_number": 60, "line_number": 62,
"is_secret": false "is_secret": false
}, },
{ {
@@ -618,7 +641,7 @@
"filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java", "filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java",
"hashed_secret": "1bd5147ff91b8b1220d2f1ffde850ebabbc5ec8c", "hashed_secret": "1bd5147ff91b8b1220d2f1ffde850ebabbc5ec8c",
"is_verified": false, "is_verified": false,
"line_number": 61, "line_number": 63,
"is_secret": false "is_secret": false
} }
], ],
@@ -648,7 +671,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/remoteticket/RemoteAlfrescoTicketServiceTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/remoteticket/RemoteAlfrescoTicketServiceTest.java",
"hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55", "hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55",
"is_verified": false, "is_verified": false,
"line_number": 73, "line_number": 74,
"is_secret": false "is_secret": false
} }
], ],
@@ -658,7 +681,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/node/NodeWebScripTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/node/NodeWebScripTest.java",
"hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55", "hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55",
"is_verified": false, "is_verified": false,
"line_number": 96, "line_number": 95,
"is_secret": false "is_secret": false
} }
], ],
@@ -668,7 +691,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/servlet/RemoteAuthenticatorFactoryAdminConsoleAccessTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/servlet/RemoteAuthenticatorFactoryAdminConsoleAccessTest.java",
"hashed_secret": "4ffa743f28fc949c19e65ab045d7906d0609a2c2", "hashed_secret": "4ffa743f28fc949c19e65ab045d7906d0609a2c2",
"is_verified": false, "is_verified": false,
"line_number": 268, "line_number": 269,
"is_secret": false "is_secret": false
} }
], ],
@@ -678,7 +701,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/solr/SOLRAuthenticationFilterTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/solr/SOLRAuthenticationFilterTest.java",
"hashed_secret": "76ed0a056aa77060de25754586440cff390791d0", "hashed_secret": "76ed0a056aa77060de25754586440cff390791d0",
"is_verified": false, "is_verified": false,
"line_number": 59, "line_number": 63,
"is_secret": false "is_secret": false
} }
], ],
@@ -688,7 +711,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/webdav/LockMethodTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/webdav/LockMethodTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 108, "line_number": 109,
"is_secret": false "is_secret": false
} }
], ],
@@ -718,7 +741,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/RepoService.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/RepoService.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 412, "line_number": 418,
"is_secret": false "is_secret": false
} }
], ],
@@ -728,7 +751,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestCMIS.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestCMIS.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 175, "line_number": 182,
"is_secret": false "is_secret": false
} }
], ],
@@ -738,7 +761,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4",
"is_verified": false, "is_verified": false,
"line_number": 595, "line_number": 592,
"is_secret": false "is_secret": false
}, },
{ {
@@ -746,7 +769,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "53dad674827218e94c8fe9c1984c8dd9db512a17", "hashed_secret": "53dad674827218e94c8fe9c1984c8dd9db512a17",
"is_verified": false, "is_verified": false,
"line_number": 731, "line_number": 728,
"is_secret": false "is_secret": false
}, },
{ {
@@ -754,7 +777,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "be66cf01c56d963de61462f37a43df2305367216", "hashed_secret": "be66cf01c56d963de61462f37a43df2305367216",
"is_verified": false, "is_verified": false,
"line_number": 1434, "line_number": 1429,
"is_secret": false "is_secret": false
}, },
{ {
@@ -762,7 +785,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "283d47a9338ed1100b5fe2a5aff2d1f7c799bfd0", "hashed_secret": "283d47a9338ed1100b5fe2a5aff2d1f7c799bfd0",
"is_verified": false, "is_verified": false,
"line_number": 1435, "line_number": 1430,
"is_secret": false "is_secret": false
}, },
{ {
@@ -770,7 +793,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "425a715491af2bbec1eef2def6fa8d79c3050401", "hashed_secret": "425a715491af2bbec1eef2def6fa8d79c3050401",
"is_verified": false, "is_verified": false,
"line_number": 1457, "line_number": 1452,
"is_secret": false "is_secret": false
} }
], ],
@@ -860,7 +883,7 @@
"filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java", "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java",
"hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506", "hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506",
"is_verified": false, "is_verified": false,
"line_number": 59, "line_number": 60,
"is_secret": false "is_secret": false
}, },
{ {
@@ -868,7 +891,7 @@
"filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java", "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java",
"hashed_secret": "fc99e6a90240c45f46ed33a4d96a3dbecef41c60", "hashed_secret": "fc99e6a90240c45f46ed33a4d96a3dbecef41c60",
"is_verified": false, "is_verified": false,
"line_number": 60, "line_number": 61,
"is_secret": false "is_secret": false
} }
], ],
@@ -878,7 +901,7 @@
"filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/NonLockingJob.java", "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/NonLockingJob.java",
"hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506", "hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506",
"is_verified": false, "is_verified": false,
"line_number": 54, "line_number": 52,
"is_secret": false "is_secret": false
} }
], ],
@@ -888,7 +911,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/admin/patch/impl/AdminUserPatch.java", "filename": "repository/src/main/java/org/alfresco/repo/admin/patch/impl/AdminUserPatch.java",
"hashed_secret": "87a754b00f7ee047d496808125d6259104e9382a", "hashed_secret": "87a754b00f7ee047d496808125d6259104e9382a",
"is_verified": false, "is_verified": false,
"line_number": 62, "line_number": 60,
"is_secret": false "is_secret": false
} }
], ],
@@ -908,7 +931,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java",
"hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd", "hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd",
"is_verified": false, "is_verified": false,
"line_number": 205, "line_number": 204,
"is_secret": false "is_secret": false
}, },
{ {
@@ -916,7 +939,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java",
"hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd", "hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd",
"is_verified": false, "is_verified": false,
"line_number": 205, "line_number": 204,
"is_secret": false "is_secret": false
} }
], ],
@@ -926,7 +949,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImpl.java",
"hashed_secret": "e25df0eeed8d8eb4e198c3464c7bf747bc26eff8", "hashed_secret": "e25df0eeed8d8eb4e198c3464c7bf747bc26eff8",
"is_verified": false, "is_verified": false,
"line_number": 91, "line_number": 92,
"is_secret": false "is_secret": false
} }
], ],
@@ -936,7 +959,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/security/authentication/SimpleAcceptOrRejectAllAuthenticationComponentImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/security/authentication/SimpleAcceptOrRejectAllAuthenticationComponentImpl.java",
"hashed_secret": "304de25a3d73b68ad408ca3843356b5cf67f6f14", "hashed_secret": "304de25a3d73b68ad408ca3843356b5cf67f6f14",
"is_verified": false, "is_verified": false,
"line_number": 89, "line_number": 93,
"is_secret": false "is_secret": false
} }
], ],
@@ -946,7 +969,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/transfer/TransferServiceImpl2.java", "filename": "repository/src/main/java/org/alfresco/repo/transfer/TransferServiceImpl2.java",
"hashed_secret": "9ae9f2be7702b726809545808a8a9ba2e5a38410", "hashed_secret": "9ae9f2be7702b726809545808a8a9ba2e5a38410",
"is_verified": false, "is_verified": false,
"line_number": 129, "line_number": 130,
"is_secret": false "is_secret": false
} }
], ],
@@ -1280,7 +1303,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 86, "line_number": 88,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1288,7 +1311,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "c464af817287343305cbd6493c593885695df531", "hashed_secret": "c464af817287343305cbd6493c593885695df531",
"is_verified": false, "is_verified": false,
"line_number": 90, "line_number": 92,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1296,7 +1319,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "8ad8572a0b3fc4cb3afc1baaebc97a2cae58eb8c", "hashed_secret": "8ad8572a0b3fc4cb3afc1baaebc97a2cae58eb8c",
"is_verified": false, "is_verified": false,
"line_number": 91, "line_number": 93,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1304,7 +1327,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "915692b4d7465b0084354173d552ac90145dc315", "hashed_secret": "915692b4d7465b0084354173d552ac90145dc315",
"is_verified": false, "is_verified": false,
"line_number": 92, "line_number": 94,
"is_secret": false "is_secret": false
} }
], ],
@@ -1314,7 +1337,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/repo/ContentDiskDriverTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/repo/ContentDiskDriverTest.java",
"hashed_secret": "8c85434f6f339a24b808810bd95629d0f5856355", "hashed_secret": "8c85434f6f339a24b808810bd95629d0f5856355",
"is_verified": false, "is_verified": false,
"line_number": 1257, "line_number": 1280,
"is_secret": false "is_secret": false
} }
], ],
@@ -1324,7 +1347,7 @@
"filename": "repository/src/test/java/org/alfresco/opencmis/CMISTest.java", "filename": "repository/src/test/java/org/alfresco/opencmis/CMISTest.java",
"hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684", "hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684",
"is_verified": false, "is_verified": false,
"line_number": 4001, "line_number": 4134,
"is_secret": false "is_secret": false
} }
], ],
@@ -1334,7 +1357,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/coci/CheckOutCheckInServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/coci/CheckOutCheckInServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 141, "line_number": 140,
"is_secret": false "is_secret": false
} }
], ],
@@ -1344,7 +1367,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 101, "line_number": 102,
"is_secret": false "is_secret": false
} }
], ],
@@ -1354,7 +1377,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/ImapMessageTest.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapMessageTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 116, "line_number": 118,
"is_secret": false "is_secret": false
} }
], ],
@@ -1364,7 +1387,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplCacheTest.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplCacheTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 66, "line_number": 68,
"is_secret": false "is_secret": false
} }
], ],
@@ -1374,7 +1397,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 111, "line_number": 116,
"is_secret": false "is_secret": false
} }
], ],
@@ -1384,7 +1407,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/LoadTester.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/LoadTester.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 79, "line_number": 80,
"is_secret": false "is_secret": false
} }
], ],
@@ -1394,7 +1417,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/RemoteLoadTester.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/RemoteLoadTester.java",
"hashed_secret": "678721c0433c8cf5c9069a0e70784cf1839e866b", "hashed_secret": "678721c0433c8cf5c9069a0e70784cf1839e866b",
"is_verified": false, "is_verified": false,
"line_number": 55, "line_number": 58,
"is_secret": false "is_secret": false
} }
], ],
@@ -1404,7 +1427,27 @@
"filename": "repository/src/test/java/org/alfresco/repo/invitation/site/InviteSenderTest.java", "filename": "repository/src/test/java/org/alfresco/repo/invitation/site/InviteSenderTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "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": 103,
"is_secret": false "is_secret": false
} }
], ],
@@ -1440,7 +1483,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/model/filefolder/FileFolderServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/model/filefolder/FileFolderServiceImplTest.java",
"hashed_secret": "9e10e28cb9c3e381c13d13fa97dd97148982cdaa", "hashed_secret": "9e10e28cb9c3e381c13d13fa97dd97148982cdaa",
"is_verified": false, "is_verified": false,
"line_number": 590, "line_number": 595,
"is_secret": false "is_secret": false
} }
], ],
@@ -1450,7 +1493,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java", "filename": "repository/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 75, "line_number": 74,
"is_secret": false "is_secret": false
} }
], ],
@@ -1460,7 +1503,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java",
"hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0",
"is_verified": false, "is_verified": false,
"line_number": 62, "line_number": 61,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1468,7 +1511,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java",
"hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0",
"is_verified": false, "is_verified": false,
"line_number": 62, "line_number": 61,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1476,7 +1519,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java",
"hashed_secret": "ad8a621976e9a19cc78af501a84638a04fca9b83", "hashed_secret": "ad8a621976e9a19cc78af501a84638a04fca9b83",
"is_verified": false, "is_verified": false,
"line_number": 66, "line_number": 65,
"is_secret": false "is_secret": false
} }
], ],
@@ -1486,7 +1529,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth2/OAuth2CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth2/OAuth2CredentialsStoreServiceTest.java",
"hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0",
"is_verified": false, "is_verified": false,
"line_number": 64, "line_number": 70,
"is_secret": false "is_secret": false
} }
], ],
@@ -1506,7 +1549,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 1317, "line_number": 1328,
"is_secret": false "is_secret": false
} }
], ],
@@ -1516,7 +1559,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 69, "line_number": 68,
"is_secret": false "is_secret": false
} }
], ],
@@ -1526,7 +1569,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java",
"hashed_secret": "607e729c2f77c4e821e68e26b4c1f5a4398624e9", "hashed_secret": "607e729c2f77c4e821e68e26b4c1f5a4398624e9",
"is_verified": false, "is_verified": false,
"line_number": 2121, "line_number": 2129,
"is_secret": false "is_secret": false
} }
], ],
@@ -1536,7 +1579,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthorizationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthorizationTest.java",
"hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684", "hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684",
"is_verified": false, "is_verified": false,
"line_number": 36, "line_number": 37,
"is_secret": false "is_secret": false
} }
], ],
@@ -1546,7 +1589,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/CompositePasswordEncoderTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/CompositePasswordEncoderTest.java",
"hashed_secret": "4360136f24381dcec1d35d79fbf7dac4b54dfe97", "hashed_secret": "4360136f24381dcec1d35d79fbf7dac4b54dfe97",
"is_verified": false, "is_verified": false,
"line_number": 310, "line_number": 301,
"is_secret": false "is_secret": false
} }
], ],
@@ -1556,7 +1599,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java",
"hashed_secret": "c4b66dbe168ad1d2b19119494a0da063801bc3bb", "hashed_secret": "c4b66dbe168ad1d2b19119494a0da063801bc3bb",
"is_verified": false, "is_verified": false,
"line_number": 82, "line_number": 83,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1564,7 +1607,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java",
"hashed_secret": "c5aad1895e1dcff195992938f1bcc9954d575ac9", "hashed_secret": "c5aad1895e1dcff195992938f1bcc9954d575ac9",
"is_verified": false, "is_verified": false,
"line_number": 91, "line_number": 92,
"is_secret": false "is_secret": false
} }
], ],
@@ -1574,7 +1617,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/LazyInstantiatingIdentityServiceFacadeUnitTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/LazyInstantiatingIdentityServiceFacadeUnitTest.java",
"hashed_secret": "12e59296b0d17c1ceb345a7adca98574c835ba24", "hashed_secret": "12e59296b0d17c1ceb345a7adca98574c835ba24",
"is_verified": false, "is_verified": false,
"line_number": 46, "line_number": 45,
"is_secret": false "is_secret": false
} }
], ],
@@ -1604,7 +1647,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/HttpClientTransmitterImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/HttpClientTransmitterImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 73, "line_number": 75,
"is_secret": false "is_secret": false
} }
], ],
@@ -1614,7 +1657,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 658, "line_number": 664,
"is_secret": false "is_secret": false
} }
], ],
@@ -1624,7 +1667,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 202, "line_number": 203,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1632,7 +1675,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java",
"hashed_secret": "ad782ecdac770fc6eb9a62e44f90873fb97fb26b", "hashed_secret": "ad782ecdac770fc6eb9a62e44f90873fb97fb26b",
"is_verified": false, "is_verified": false,
"line_number": 512, "line_number": 513,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1640,7 +1683,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 3593, "line_number": 3687,
"is_secret": false "is_secret": false
} }
], ],
@@ -1650,7 +1693,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java",
"hashed_secret": "8be3c943b1609fffbfc51aad666d0a04adf83c9d", "hashed_secret": "8be3c943b1609fffbfc51aad666d0a04adf83c9d",
"is_verified": false, "is_verified": false,
"line_number": 2510, "line_number": 2682,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1658,7 +1701,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 3517, "line_number": 3772,
"is_secret": false "is_secret": false
} }
], ],
@@ -1668,7 +1711,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/ManifestIntegrationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/ManifestIntegrationTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 114, "line_number": 115,
"is_secret": false "is_secret": false
} }
], ],
@@ -1678,7 +1721,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/TransferManifestTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/TransferManifestTest.java",
"hashed_secret": "5395ebfd174b0a5617e6f409dfbb3e064e3fdf0a", "hashed_secret": "5395ebfd174b0a5617e6f409dfbb3e064e3fdf0a",
"is_verified": false, "is_verified": false,
"line_number": 126, "line_number": 127,
"is_secret": false "is_secret": false
} }
], ],
@@ -1688,7 +1731,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/version/BaseVersionStoreTest.java", "filename": "repository/src/test/java/org/alfresco/repo/version/BaseVersionStoreTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 144, "line_number": 149,
"is_secret": false "is_secret": false
} }
], ],
@@ -1708,7 +1751,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/version/VersionServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/version/VersionServiceImplTest.java",
"hashed_secret": "dee17075a8c96d9c57c15d56b1f64e5abc1caf0b", "hashed_secret": "dee17075a8c96d9c57c15d56b1f64e5abc1caf0b",
"is_verified": false, "is_verified": false,
"line_number": 121, "line_number": 122,
"is_secret": false "is_secret": false
} }
], ],
@@ -1718,7 +1761,7 @@
"filename": "repository/src/test/java/org/alfresco/util/test/junitrules/AlfrescoTenant.java", "filename": "repository/src/test/java/org/alfresco/util/test/junitrules/AlfrescoTenant.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 73, "line_number": 67,
"is_secret": false "is_secret": false
} }
], ],
@@ -1728,7 +1771,7 @@
"filename": "repository/src/test/java/org/alfresco/util/test/testusers/TestUserComponentImpl.java", "filename": "repository/src/test/java/org/alfresco/util/test/testusers/TestUserComponentImpl.java",
"hashed_secret": "f73e110427648014568f7144031a6d48060eab0a", "hashed_secret": "f73e110427648014568f7144031a6d48060eab0a",
"is_verified": false, "is_verified": false,
"line_number": 63, "line_number": 55,
"is_secret": false "is_secret": false
} }
], ],
@@ -1845,5 +1888,5 @@
} }
] ]
}, },
"generated_at": "2025-06-09T16:43:14Z" "generated_at": "2025-05-15T21:47:13Z"
} }

View File

@@ -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. 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 #### Code Quality
This project uses `spotless` that enforces `alfresco-formatter.xml` to ensure 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.
To check code-style violations you can use: To check code-style violations you can use:
```bash ```bash

View File

@@ -7,7 +7,7 @@
<parent> <parent>
<groupId>org.alfresco</groupId> <groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-amps</artifactId> <artifactId>alfresco-community-repo-amps</artifactId>
<version>25.3.0.25-SNAPSHOT</version> <version>23.6.0.9</version>
</parent> </parent>
<modules> <modules>

View File

@@ -7,7 +7,7 @@
<parent> <parent>
<groupId>org.alfresco</groupId> <groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-community-parent</artifactId> <artifactId>alfresco-governance-services-community-parent</artifactId>
<version>25.3.0.25-SNAPSHOT</version> <version>23.6.0.9</version>
</parent> </parent>
<modules> <modules>

View File

@@ -7,7 +7,7 @@
<parent> <parent>
<groupId>org.alfresco</groupId> <groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-automation-community-repo</artifactId> <artifactId>alfresco-governance-services-automation-community-repo</artifactId>
<version>25.3.0.25-SNAPSHOT</version> <version>23.6.0.9</version>
</parent> </parent>
<build> <build>
@@ -74,6 +74,16 @@
<artifactId>alfresco-testng</artifactId> <artifactId>alfresco-testng</artifactId>
<version>1.1</version> <version>1.1</version>
</dependency> </dependency>
<dependency>
<groupId>com.epam.reportportal</groupId>
<artifactId>agent-java-testng</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.awaitility</groupId> <groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId> <artifactId>awaitility</artifactId>
@@ -83,12 +93,12 @@
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId> <artifactId>commons-collections4</artifactId>
<version>4.5.0</version> <version>4.4</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.docker-java</groupId> <groupId>com.github.docker-java</groupId>
<artifactId>docker-java</artifactId> <artifactId>docker-java</artifactId>
<version>3.6.0</version> <version>3.4.0</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.bouncycastle</groupId> <groupId>org.bouncycastle</groupId>

View File

@@ -26,11 +26,12 @@
*/ */
package org.alfresco.rest.core; package org.alfresco.rest.core;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySource;
import lombok.Getter;
/** /**
* Extends {@link RestProperties} to be able to change/add properties * 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) @PropertySource(value = "classpath:local.properties", ignoreResourceNotFound = true)
public class RMRestProperties extends RestProperties public class RMRestProperties extends RestProperties
{ {
@Value("${alfresco.scheme}") @Value ("${alfresco.scheme}")
private String scheme; private String scheme;
@Value("${alfresco.server}") @Value ("${alfresco.server}")
private String server; private String server;
@Value("${alfresco.port}") @Value ("${alfresco.port}")
private String port; private String port;
@Value("${rest.rmPath}") @Value ("${rest.rmPath}")
private String restRmPath; private String restRmPath;
@Value("${docker.host}") @Value ("${docker.host}")
private String dockerHost; private String dockerHost;
} }

View File

@@ -27,11 +27,6 @@
package org.alfresco.rest.core; package org.alfresco.rest.core;
import io.restassured.builder.RequestSpecBuilder; 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.exception.EmptyJsonResponseException;
import org.alfresco.rest.model.RestErrorModel; 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.rest.rm.community.requests.gscore.GSCoreAPI;
import org.alfresco.utility.model.StatusModel; import org.alfresco.utility.model.StatusModel;
import org.alfresco.utility.model.UserModel; 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 * 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: * 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>
* <pre>
* restClient.configureRequestSpec() * restClient.configureRequestSpec()
* .addMultiPart("filedata", Utility.getResourceTestDataFile("restapi-resource")) * .addMultiPart("filedata", Utility.getResourceTestDataFile("restapi-resource"))
* .addFormParam("renditions", "doclib") * .addFormParam("renditions", "doclib")
* .addFormParam("autoRename", true); * .addFormParam("autoRename", true);
* *
* restClient.withCoreAPI().usingNode(ContentModel.my()).createNode(); * restClient.withCoreAPI().usingNode(ContentModel.my()).createNode();
* </pre> * </pre> This will create the node using the multipart data defined.
*
* This will create the node using the multipart data defined.
*/ */
public RequestSpecBuilder configureRequestSpec() public RequestSpecBuilder configureRequestSpec()
{ {
@@ -173,8 +171,7 @@ public class RMRestWrapper
/** /**
* Process a response that returns a html * Process a response that returns a html
* *
* @throws EmptyJsonResponseException * @throws EmptyJsonResponseException If there is no response from the server.
* If there is no response from the server.
*/ */
public RestHtmlResponse processHtmlResponse(RestRequest simpleRequest) public RestHtmlResponse processHtmlResponse(RestRequest simpleRequest)
{ {

View File

@@ -32,10 +32,6 @@ import jakarta.annotation.Resource;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; 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.Node;
import org.alfresco.rest.requests.coreAPI.RestCoreAPI; import org.alfresco.rest.requests.coreAPI.RestCoreAPI;
import org.alfresco.rest.requests.search.SearchAPI; import org.alfresco.rest.requests.search.SearchAPI;
@@ -49,14 +45,17 @@ 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.RecordCategoryAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RecordFolderAPI; 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.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.TransferAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.TransferContainerAPI; 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.UnfiledContainerAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI; import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RetentionScheduleAPI;
import org.alfresco.utility.data.DataUserAIS; import org.alfresco.utility.data.DataUserAIS;
import org.alfresco.utility.model.RepoTestModel; import org.alfresco.utility.model.RepoTestModel;
import org.alfresco.utility.model.UserModel; 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 * REST API Factory which provides access to the APIs
@@ -69,7 +68,7 @@ import org.alfresco.utility.model.UserModel;
public class RestAPIFactory public class RestAPIFactory
{ {
@Autowired @Autowired
@Getter(value = PROTECTED) @Getter (value = PROTECTED)
private DataUserAIS dataUser; private DataUserAIS dataUser;
@Resource(name = "RMRestWrapper") @Resource(name = "RMRestWrapper")

View File

@@ -44,13 +44,11 @@ public class SearchRequestBuilder extends SearchRequest
{ {
new SearchRequest(); new SearchRequest();
} }
/** /**
* Set the sql statement for the SearchRequest * Set the sql statement for the SearchRequest
* *
* @param query * @param query sql statement
* sql statement * @return search request
* @return search request
*/ */
public SearchRequestBuilder setQueryBuilder(RestRequestQueryModel query) public SearchRequestBuilder setQueryBuilder(RestRequestQueryModel query)
{ {
@@ -61,8 +59,7 @@ public class SearchRequestBuilder extends SearchRequest
/** /**
* Set the paging statement for the SearchRequest * Set the paging statement for the SearchRequest
* *
* @param paging * @param paging pagination requested
* pagination requested
* @return search request * @return search request
*/ */
public SearchRequestBuilder setPagingBuilder(Pagination paging) public SearchRequestBuilder setPagingBuilder(Pagination paging)
@@ -85,8 +82,7 @@ public class SearchRequestBuilder extends SearchRequest
/** /**
* Set the requested fields for the SearchRequest * Set the requested fields for the SearchRequest
* *
* @param fields * @param fields requested fields
* requested fields
* @return search request * @return search request
*/ */
public SearchRequestBuilder setFieldsBuilder(List<String> fields) public SearchRequestBuilder setFieldsBuilder(List<String> fields)

View File

@@ -26,12 +26,12 @@
*/ */
package org.alfresco.rest.core.v0; package org.alfresco.rest.core.v0;
import jakarta.json.Json;
import jakarta.json.JsonReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder; import java.time.format.DateTimeFormatterBuilder;
import jakarta.json.Json;
import jakarta.json.JsonReader;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
@@ -52,20 +52,20 @@ public class APIUtils
{ {
/** Logger for this class. */ /** Logger for this class. */
private static final Logger LOGGER = LoggerFactory.getLogger(APIUtils.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'
* 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 * similar with {@link DateTimeFormatter#ISO_INSTANT}, but with only 3 nanoseconds*/
*/ public static final DateTimeFormatter ISO_INSTANT_FORMATTER =
public static final DateTimeFormatter ISO_INSTANT_FORMATTER = new DateTimeFormatterBuilder().appendInstant(3).toFormatter(); new DateTimeFormatterBuilder().appendInstant(3).toFormatter();
/** Private constructor for helper class. */ /** Private constructor for helper class. */
private APIUtils() private APIUtils()
{} {
}
/** /**
* Extract the body of a HTTP response as a JSON object. * Extract the body of a HTTP response as a JSON object.
* *
* @param httpResponse * @param httpResponse The HTTP response.
* The HTTP response.
* @return A JSON representation of the object. * @return A JSON representation of the object.
*/ */
public static JSONObject convertHTTPResponseToJSON(HttpResponse httpResponse) public static JSONObject convertHTTPResponseToJSON(HttpResponse httpResponse)
@@ -86,8 +86,7 @@ public class APIUtils
/** /**
* Util method to extract the message string from the HTTP response * Util method to extract the message string from the HTTP response
* *
* @param httpResponse * @param httpResponse http response
* http response
* @return error message from the http response * @return error message from the http response
*/ */
public static String extractErrorMessageFromHttpResponse(HttpResponse httpResponse) public static String extractErrorMessageFromHttpResponse(HttpResponse httpResponse)

View File

@@ -39,6 +39,9 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; 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.client.api.CmisObject;
import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException; import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
@@ -61,10 +64,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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 * 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. * Helper method to extract list of properties values from result.
* *
* @param result * @param result the response
* the response
* @return list of specified property values in result * @return list of specified property values in result
* @throws RuntimeException * @throws RuntimeException for malformed response
* for malformed response
*/ */
protected List<String> getPropertyValues(JSONObject result, String propertyName) protected List<String> getPropertyValues(JSONObject result, String propertyName)
{ {
@@ -142,7 +139,7 @@ public abstract class BaseAPI
for (int i = 0; i < items.length(); i++) for (int i = 0; i < items.length(); i++)
{ {
JSONObject item = items.getJSONObject(i); JSONObject item = items.getJSONObject(i);
if (nodeRef.equals(item.getString("nodeRef"))) if(nodeRef.equals(item.getString("nodeRef")))
{ {
propertyValue = item.getJSONObject("properties").getString(propertyName); propertyValue = item.getJSONObject("properties").getString(propertyName);
} }
@@ -159,11 +156,9 @@ public abstract class BaseAPI
/** /**
* Helper method to extract property values from request result and put them in map as a list that corresponds to a unique property value. * 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 * @param requestResult the request response
* the request response
* @return a map containing information about multiple properties values that correspond to a unique one * @return a map containing information about multiple properties values that correspond to a unique one
* @throws RuntimeException * @throws RuntimeException for malformed response
* for malformed response
*/ */
protected Map<String, List<String>> getPropertyValuesByUniquePropertyValue(JSONObject requestResult, String uniqueProperty, List<String> otherProperties) 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 * Retrieves the nodeRef of an item (category, folder or record) with the given path
* *
* @param username * @param username the username
* the username * @param password the password
* @param password * @param path the path to the container eg. in case of a category it would be the category name,
* the password * in case of a folder it would be /categoryName/folderName
* @param path * when trying to get File Plan, the path would be ""
* 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 * @return the container nodeRef
*/ */
public String getItemNodeRef(String username, String password, String path) public String getItemNodeRef(String username, String password, String path)
@@ -210,12 +204,9 @@ public abstract class BaseAPI
/** /**
* Retrieve a Cmis object by its path * Retrieve a Cmis object by its path
* *
* @param username * @param username the user's username
* the user's username * @param password its password
* @param password * @param path the object path
* its password
* @param path
* the object path
* @return the object in case it exists, null if its does not exist * @return the object in case it exists, null if its does not exist
*/ */
protected CmisObject getObjectByPath(String username, String password, String path) protected CmisObject getObjectByPath(String username, String password, String path)
@@ -224,8 +215,7 @@ public abstract class BaseAPI
try try
{ {
object = contentService.getCMISSession(username, password).getObjectByPath(path); object = contentService.getCMISSession(username, password).getObjectByPath(path);
} } catch (CmisObjectNotFoundException notFoundError)
catch (CmisObjectNotFoundException notFoundError)
{ {
return null; return null;
} }
@@ -235,12 +225,9 @@ public abstract class BaseAPI
/** /**
* Generic faceted request. * Generic faceted request.
* *
* @param username * @param username the username
* the username * @param password the password
* @param password * @param parameters if the request has parameters
* the password
* @param parameters
* if the request has parameters
* @return result object (see API reference for more details), null for any errors * @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) 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()) if (parameters == null || parameters.isEmpty())
{ {
requestURL = MessageFormat.format( requestURL = MessageFormat.format(
requestURI, requestURI,
client.getAlfrescoUrl()); client.getAlfrescoUrl());
} }
else else
{ {
requestURL = MessageFormat.format( requestURL = MessageFormat.format(
requestURI, requestURI,
client.getAlfrescoUrl(), client.getAlfrescoUrl(),
URLEncodedUtils.format(parameters, "UTF-8")); URLEncodedUtils.format(parameters, "UTF-8"));
@@ -268,26 +255,21 @@ public abstract class BaseAPI
/** /**
* Helper method for GET requests * Helper method for GET requests
* * @param adminUser user with administrative privileges
* @param adminUser * @param adminPassword password for adminUser
* user with administrative privileges * @param urlTemplate request URL template
* @param adminPassword * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* password for adminUser
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
*/ */
protected JSONObject doGetRequest(String adminUser, protected JSONObject doGetRequest(String adminUser,
String adminPassword, String adminPassword,
String urlTemplate, String urlTemplate,
String... urlTemplateParams) String ... urlTemplateParams)
{ {
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
String requestUrl = MessageFormat.format( String requestUrl = MessageFormat.format(
urlTemplate, urlTemplate,
client.getApiUrl(), client.getApiUrl(),
urlTemplateParams); urlTemplateParams);
client.close(); client.close();
try try
@@ -302,26 +284,21 @@ public abstract class BaseAPI
/** /**
* Helper method for Delete requests * Helper method for Delete requests
* * @param adminUser user with administrative privileges
* @param adminUser * @param adminPassword password for adminUser
* user with administrative privileges * @param urlTemplate request URL template
* @param adminPassword * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* password for adminUser
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
*/ */
protected JSONObject doDeleteRequest(String adminUser, protected JSONObject doDeleteRequest(String adminUser,
String adminPassword, String adminPassword,
String urlTemplate, String urlTemplate,
String... urlTemplateParams) String ... urlTemplateParams)
{ {
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
String requestUrl = MessageFormat.format( String requestUrl = MessageFormat.format(
urlTemplate, urlTemplate,
client.getApiUrl(), client.getApiUrl(),
urlTemplateParams); urlTemplateParams);
client.close(); client.close();
try try
@@ -336,29 +313,23 @@ public abstract class BaseAPI
/** /**
* Helper method for PUT requests * Helper method for PUT requests
* * @param adminUser user with administrative privileges
* @param adminUser * @param adminPassword password for adminUser
* user with administrative privileges * @param requestParams zero or more endpoint specific request parameters
* @param adminPassword * @param urlTemplate request URL template
* password for adminUser * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @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, protected JSONObject doPutRequest(String adminUser,
String adminPassword, String adminPassword,
JSONObject requestParams, JSONObject requestParams,
String urlTemplate, String urlTemplate,
String... urlTemplateParams) String ... urlTemplateParams)
{ {
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
String requestUrl = MessageFormat.format( String requestUrl = MessageFormat.format(
urlTemplate, urlTemplate,
client.getApiUrl(), client.getApiUrl(),
urlTemplateParams); urlTemplateParams);
client.close(); client.close();
try try
@@ -374,25 +345,19 @@ public abstract class BaseAPI
/** /**
* Helper method for PUT requests * Helper method for PUT requests
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param requestParams zero or more endpoint specific request parameters
* @param expectedStatusCode * @param urlTemplate request URL template
* The expected return status code. * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @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, protected HttpResponse doPutJsonRequest(String adminUser,
String adminPassword, String adminPassword,
int expectedStatusCode, int expectedStatusCode,
JSONObject requestParams, JSONObject requestParams,
String urlTemplate, String urlTemplate,
String... urlTemplateParams) String... urlTemplateParams)
{ {
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
return doPutJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getApiUrl(), requestParams, urlTemplate, urlTemplateParams); return doPutJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getApiUrl(), requestParams, urlTemplate, urlTemplateParams);
@@ -401,30 +366,22 @@ public abstract class BaseAPI
/** /**
* Helper method for PUT requests * Helper method for PUT requests
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param urlStart the start of the URL (for example "alfresco/s/slingshot").
* @param expectedStatusCode * @param requestParams zero or more endpoint specific request parameters
* The expected return status code. * @param urlTemplate request URL template
* @param urlStart * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* the start of the URL (for example "alfresco/s/slingshot"). * @throws AssertionError if the returned status code is not as expected.
* @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, private HttpResponse doPutJsonRequest(String adminUser,
String adminPassword, String adminPassword,
int expectedStatusCode, int expectedStatusCode,
String urlStart, String urlStart,
JSONObject requestParams, JSONObject requestParams,
String urlTemplate, String urlTemplate,
String... urlTemplateParams) String... urlTemplateParams)
{ {
String requestUrl = formatRequestUrl(urlStart, urlTemplate, urlTemplateParams); String requestUrl = formatRequestUrl(urlStart, urlTemplate, urlTemplateParams);
try try
@@ -442,12 +399,9 @@ public abstract class BaseAPI
/** /**
* Fill in the parameters for a URL template. * Fill in the parameters for a URL template.
* *
* @param urlStart * @param urlStart The start of the URL.
* The start of the URL. * @param urlTemplate The template.
* @param urlTemplate * @param urlTemplateParams Any parameters that need to be filled into the URL template.
* The template.
* @param urlTemplateParams
* Any parameters that need to be filled into the URL template.
* @return The resultant URL. * @return The resultant URL.
*/ */
private String formatRequestUrl(String urlStart, String urlTemplate, String[] urlTemplateParams) private String formatRequestUrl(String urlStart, String urlTemplate, String[] urlTemplateParams)
@@ -462,29 +416,23 @@ public abstract class BaseAPI
/** /**
* Helper method for POST requests * Helper method for POST requests
* * @param adminUser user with administrative privileges
* @param adminUser * @param adminPassword password for adminUser
* user with administrative privileges * @param requestParams zero or more endpoint specific request parameters
* @param adminPassword * @param urlTemplate request URL template
* password for adminUser * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @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, protected JSONObject doPostRequest(String adminUser,
String adminPassword, String adminPassword,
JSONObject requestParams, JSONObject requestParams,
String urlTemplate, String urlTemplate,
String... urlTemplateParams) String ... urlTemplateParams)
{ {
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
String requestUrl = MessageFormat.format( String requestUrl = MessageFormat.format(
urlTemplate, urlTemplate,
client.getApiUrl(), client.getApiUrl(),
urlTemplateParams); urlTemplateParams);
client.close(); client.close();
try try
@@ -500,25 +448,19 @@ public abstract class BaseAPI
/** /**
* Helper method for POST requests * Helper method for POST requests
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param requestParams zero or more endpoint specific request parameters
* @param expectedStatusCode * @param urlTemplate request URL template
* The expected return status code. * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @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, protected HttpResponse doPostJsonRequest(String adminUser,
String adminPassword, String adminPassword,
int expectedStatusCode, int expectedStatusCode,
JSONObject requestParams, JSONObject requestParams,
String urlTemplate, String urlTemplate,
String... urlTemplateParams) String... urlTemplateParams)
{ {
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
return doPostJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getApiUrl(), requestParams, urlTemplate, urlTemplateParams); 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. * Helper method for POST requests to slingshot.
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param requestParams zero or more endpoint specific request parameters
* @param expectedStatusCode * @param urlTemplate request URL template
* The expected return status code. * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @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, protected HttpResponse doSlingshotPostJsonRequest(String adminUser,
String adminPassword, String adminPassword,
int expectedStatusCode, int expectedStatusCode,
JSONObject requestParams, JSONObject requestParams,
String urlTemplate, String urlTemplate,
String... urlTemplateParams) String... urlTemplateParams)
{ {
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
return doPostJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getAlfrescoUrl() + SLINGSHOT_PREFIX, requestParams, urlTemplate, urlTemplateParams); return doPostJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getAlfrescoUrl() + SLINGSHOT_PREFIX, requestParams, urlTemplate, urlTemplateParams);
@@ -554,30 +490,22 @@ public abstract class BaseAPI
/** /**
* Helper method for POST requests * Helper method for POST requests
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param urlStart the start of the URL (for example "alfresco/s/slingshot").
* @param expectedStatusCode * @param requestParams zero or more endpoint specific request parameters
* The expected return status code. * @param urlTemplate request URL template
* @param urlStart * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* the start of the URL (for example "alfresco/s/slingshot"). * @throws AssertionError if the returned status code is not as expected.
* @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, private HttpResponse doPostJsonRequest(String adminUser,
String adminPassword, String adminPassword,
int expectedStatusCode, int expectedStatusCode,
String urlStart, String urlStart,
JSONObject requestParams, JSONObject requestParams,
String urlTemplate, String urlTemplate,
String... urlTemplateParams) String... urlTemplateParams)
{ {
String requestUrl; String requestUrl;
requestUrl = formatRequestUrl(urlStart, urlTemplate, urlTemplateParams); requestUrl = formatRequestUrl(urlStart, urlTemplate, urlTemplateParams);
@@ -601,8 +529,7 @@ public abstract class BaseAPI
/** /**
* Try to convert the response body to a JSON object. * Try to convert the response body to a JSON object.
* *
* @param response * @param response The response.
* The response.
* @return The JSON object or null if it was not possible to convert the response. * @return The JSON object or null if it was not possible to convert the response.
*/ */
private JSONObject responseBodyToJson(HttpResponse response) private JSONObject responseBodyToJson(HttpResponse response)
@@ -627,29 +554,21 @@ public abstract class BaseAPI
/** /**
* Helper method for handling generic HTTP requests * Helper method for handling generic HTTP requests
* * @param requestType request type (a subclass of {@link HttpRequestBase})
* @param requestType * @param requestUrl URL the request is to be sent to
* request type (a subclass of {@link HttpRequestBase}) * @param adminUser user with administrative privileges
* @param requestUrl * @param adminPassword password for adminUser
* URL the request is to be sent to * @param requestParams endpoint specific request parameters
* @param adminUser
* user with administrative privileges
* @param adminPassword
* password for adminUser
* @param requestParams
* endpoint specific request parameters
* @return response body * @return response body
* @throws IllegalAccessException * @throws IllegalAccessException for invalid <i>requestType</i>
* for invalid <i>requestType</i> * @throws InstantiationException for invalid <i>requestType</i>
* @throws InstantiationException
* for invalid <i>requestType</i>
*/ */
private <T extends HttpRequestBase> JSONObject doRequest( private <T extends HttpRequestBase> JSONObject doRequest(
Class<T> requestType, Class<T> requestType,
String requestUrl, String requestUrl,
String adminUser, String adminUser,
String adminPassword, String adminPassword,
JSONObject requestParams) throws InstantiationException, IllegalAccessException JSONObject requestParams) throws InstantiationException, IllegalAccessException
{ {
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
T request = requestType.newInstance(); T request = requestType.newInstance();
@@ -674,34 +593,34 @@ public abstract class BaseAPI
switch (response.getStatusLine().getStatusCode()) switch (response.getStatusLine().getStatusCode())
{ {
case HttpStatus.SC_OK: case HttpStatus.SC_OK:
case HttpStatus.SC_CREATED: case HttpStatus.SC_CREATED:
// request successful // request successful
if (responseBody != null) if (responseBody != null)
{ {
returnValues = responseBody; returnValues = responseBody;
} }
break; break;
case HttpStatus.SC_INTERNAL_SERVER_ERROR: case HttpStatus.SC_INTERNAL_SERVER_ERROR:
if (responseBody != null && responseBody.has(EXCEPTION_KEY)) if (responseBody != null && responseBody.has(EXCEPTION_KEY))
{ {
LOGGER.error("Request failed with error message: {}", responseBody.getString(MESSAGE_KEY)); LOGGER.error("Request failed with error message: {}", responseBody.getString(MESSAGE_KEY));
returnValues = responseBody; returnValues = responseBody;
} }
break; break;
case HttpStatus.SC_BAD_REQUEST: case HttpStatus.SC_BAD_REQUEST:
case HttpStatus.SC_UNPROCESSABLE_ENTITY: case HttpStatus.SC_UNPROCESSABLE_ENTITY:
if (responseBody != null && responseBody.has(EXCEPTION_KEY)) if (responseBody != null && responseBody.has(EXCEPTION_KEY))
{ {
LOGGER.error("Request failed: {}", responseBody.getString(EXCEPTION_KEY)); LOGGER.error("Request failed: {}", responseBody.getString(EXCEPTION_KEY));
returnValues = responseBody; returnValues = responseBody;
} }
break; break;
default: default:
LOGGER.error("Request returned unexpected HTTP status {}", response.getStatusLine().getStatusCode()); LOGGER.error("Request returned unexpected HTTP status {}", response.getStatusLine().getStatusCode());
break; break;
} }
} }
catch (JSONException error) catch (JSONException error)
@@ -767,16 +686,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 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 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 +727,14 @@ public abstract class BaseAPI
*/ */
public enum RM_ACTIONS 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; String action;
private RM_ACTIONS(String action) private RM_ACTIONS(String action)
@@ -801,16 +750,17 @@ public abstract class BaseAPI
public enum PermissionType 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 * Util to return the property value from a map
* *
* @param properties * @param properties the map containing properties
* the map containing properties * @param property to get value for
* @param property
* to get value for
* @return the property value * @return the property value
*/ */
public <K extends Enum<?>> String getPropertyValue(Map<K, String> properties, Enum<?> property) public <K extends Enum<?>> String getPropertyValue(Map<K, String> properties, Enum<?> property)
@@ -826,14 +776,10 @@ public abstract class BaseAPI
/** /**
* Retrieves the property value and decides if that gets to be added to the request * Retrieves the property value and decides if that gets to be added to the request
* *
* @param requestParams * @param requestParams the request parameters
* the request parameters * @param propertyRequestValue the property name in the request, eg. "prop_cm_name"
* @param propertyRequestValue * @param itemProperties map of item's properties values
* the property name in the request, eg. "prop_cm_name" * @param property the property in the property map to check value for
* @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 * @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 protected <K extends Enum<?>> JSONObject addPropertyToRequest(JSONObject requestParams, String propertyRequestValue, Map<K, String> itemProperties, Enum<?> property) throws JSONException
@@ -850,14 +796,12 @@ public abstract class BaseAPI
/** /**
* Deletes the category, folder or record given as parameter * Deletes the category, folder or record given as parameter
* *
* @param username * @param username the username with whom the delete is performed
* the username with whom the delete is performed * @param password the user's password
* @param password * @param itemPath the path to the item eg. in case of a category it would be the "/" + category name,
* the user's password * in case of a folder or subCategory it would be /categoryName/folderName or /categoryName/subCategoryName/
* @param itemPath * in case of a record /categoryName/folderName/recordName
* 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.
* @throws AssertionError
* if the delete was not successful.
*/ */
protected void deleteItem(String username, String password, String itemPath) protected void deleteItem(String username, String password, String itemPath)
{ {

View File

@@ -28,8 +28,13 @@ package org.alfresco.rest.core.v0;
public enum RMEvents 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; private String eventName;
RMEvents(String eventName) RMEvents(String eventName)

View File

@@ -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)
{}

View File

@@ -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)
{}

View File

@@ -30,11 +30,11 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
/** /**
@@ -47,43 +47,43 @@ import org.alfresco.utility.model.TestModel;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties (ignoreUnknown = true)
public class AuditEntry extends TestModel public class AuditEntry extends TestModel
{ {
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeName; private String nodeName;
@JsonProperty(required = true) @JsonProperty (required = true)
private List<Object> changedValues; private List<Object> changedValues;
@JsonProperty(required = true) @JsonProperty (required = true)
private String identifier; private String identifier;
@JsonProperty(required = true) @JsonProperty (required = true)
private String path; private String path;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeRef; private String nodeRef;
@JsonProperty(required = true) @JsonProperty (required = true)
private String fullName; private String fullName;
@JsonProperty @JsonProperty
private String createPerson; private String createPerson;
@JsonProperty(required = true) @JsonProperty (required = true)
private String userName; private String userName;
@JsonProperty(required = true) @JsonProperty (required = true)
private String userRole; private String userRole;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String event; private String event;
@JsonProperty(required = true) @JsonProperty (required = true)
private String timestamp; private String timestamp;
} }

View File

@@ -29,13 +29,24 @@ package org.alfresco.rest.rm.community.model.audit;
/** /**
* Enumerates the list of events audited * Enumerates the list of events audited
* *
* @author Rodica Sutu * @author Rodica Sutu
* @since 2.7 * @since 2.7
* *
*/ */
public enum AuditEvents 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 */ /** event audited */
public final String event; public final String event;

View File

@@ -29,6 +29,7 @@ package org.alfresco.rest.rm.community.model.common;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@@ -46,15 +47,15 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
public class IdNamePair public class IdNamePair
{ {
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private List<String> aspectNames; private List<String> aspectNames;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
} }

View File

@@ -27,10 +27,10 @@
package org.alfresco.rest.rm.community.model.common; package org.alfresco.rest.rm.community.model.common;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
/** /**
@@ -42,9 +42,9 @@ import org.alfresco.utility.model.TestModel;
@Builder @Builder
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
// @NoArgsConstructor //@NoArgsConstructor
// @AllArgsConstructor //@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties (ignoreUnknown = true)
public class Owner extends TestModel public class Owner extends TestModel
{ {

View File

@@ -29,14 +29,15 @@ package org.alfresco.rest.rm.community.model.common;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for path parameter * POJO for path parameter
* *
@@ -50,12 +51,12 @@ import org.alfresco.utility.model.TestModel;
@AllArgsConstructor @AllArgsConstructor
public class Path extends TestModel public class Path extends TestModel
{ {
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private Boolean isComplete; private Boolean isComplete;
@JsonProperty(required = true) @JsonProperty (required = true)
private List<IdNamePair> elements; private List<IdNamePair> elements;
} }

View File

@@ -27,6 +27,7 @@
package org.alfresco.rest.rm.community.model.common; package org.alfresco.rest.rm.community.model.common;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@@ -44,9 +45,9 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
public class ReviewPeriod public class ReviewPeriod
{ {
@JsonProperty(required = true) @JsonProperty (required = true)
private String periodType; private String periodType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String expression; private String expression;
} }

View File

@@ -34,8 +34,10 @@ package org.alfresco.rest.rm.community.model.custom;
*/ */
public enum CustomDefinitions 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. * The name of custom reference.
*/ */

View File

@@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.fileplan;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; 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.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; 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 * POJO for file plan
* *
@@ -57,34 +58,34 @@ public class FilePlan extends TestModel
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
@JsonProperty(required = true) @JsonProperty (required = true)
private List<String> aspectNames; private List<String> aspectNames;
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private FilePlanProperties properties; private FilePlanProperties properties;
/************************/ /************************/

View File

@@ -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 static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for file plan properties * POJO for file plan properties
* *
@@ -58,24 +59,24 @@ public class FilePlanProperties extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
@JsonProperty(required = true, value = PROPERTIES_COMPONENT_ID) @JsonProperty (required = true, value = PROPERTIES_COMPONENT_ID)
private String componentd; private String componentd;
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
/************************/ /************************/
/** Optional parameters */ /** Optional parameters */
/************************/ /************************/
@JsonProperty(PROPERTIES_COUNT) @JsonProperty (PROPERTIES_COUNT)
private Integer count; private Integer count;
@JsonProperty(PROPERTIES_TITLE) @JsonProperty (PROPERTIES_TITLE)
private String title; private String title;
@JsonProperty(PROPERTIES_DESCRIPTION) @JsonProperty (PROPERTIES_DESCRIPTION)
private String description; private String description;
} }

View File

@@ -36,15 +36,16 @@ public class FilePlanComponentAspects
{ {
/** Private constructor to prevent instantiation. */ /** Private constructor to prevent instantiation. */
private FilePlanComponentAspects() private FilePlanComponentAspects()
{} {
}
// aspect present on completed records // aspect present on completed records
public static final String ASPECTS_COMPLETED_RECORD = "rma:declaredRecord"; public static final String ASPECTS_COMPLETED_RECORD = "rma:declaredRecord";
// aspect present on record folders/categories with vital records // aspect present on record folders/categories with vital records
public static final String ASPECTS_VITAL_RECORD_DEFINITION = "rma:vitalRecordDefinition"; 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"; public static final String ASPECTS_VITAL_RECORD = "rma:vitalRecord";
// Frozen aspect // Frozen aspect

View File

@@ -47,7 +47,7 @@ public class FilePlanComponentFields
public static final String PROPERTIES_VITAL_RECORD_INDICATOR = "rma:vitalRecordIndicator"; public static final String PROPERTIES_VITAL_RECORD_INDICATOR = "rma:vitalRecordIndicator";
public static final String PROPERTIES_REVIEW_PERIOD = "rma:reviewPeriod"; public static final String PROPERTIES_REVIEW_PERIOD = "rma:reviewPeriod";
public static final String PROPERTIES_OWNER = "cm:owner"; 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 */ /** Common properties for record folders and records */
public static final String PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE = "rma:recordSearchHasDispositionSchedule"; public static final String PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE = "rma:recordSearchHasDispositionSchedule";

View File

@@ -29,11 +29,11 @@ package org.alfresco.rest.rm.community.model.hold;
import java.util.Objects; import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
/** /**
@@ -72,7 +72,7 @@ public class Hold extends TestModel
} }
Hold hold = (Hold) o; Hold hold = (Hold) o;
return Objects.equals(id, hold.id) && Objects.equals(name, hold.name) return Objects.equals(id, hold.id) && Objects.equals(name, hold.name)
&& Objects.equals(description, hold.description) && Objects.equals(reason, hold.reason); && Objects.equals(description, hold.description) && Objects.equals(reason, hold.reason);
} }
@Override @Override

View File

@@ -27,11 +27,11 @@
package org.alfresco.rest.rm.community.model.hold; package org.alfresco.rest.rm.community.model.hold;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.search.RestRequestQueryModel; import org.alfresco.rest.search.RestRequestQueryModel;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;

View File

@@ -26,6 +26,8 @@
*/ */
package org.alfresco.rest.rm.community.model.hold; package org.alfresco.rest.rm.community.model.hold;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;

View File

@@ -30,7 +30,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
/** /**

View File

@@ -34,4 +34,5 @@ import org.alfresco.rest.core.RestModels;
* @author Damian Ujma * @author Damian Ujma
*/ */
public class HoldBulkStatusCollection extends RestModels<HoldBulkStatusEntry, HoldBulkStatusCollection> public class HoldBulkStatusCollection extends RestModels<HoldBulkStatusEntry, HoldBulkStatusCollection>
{} {
}

View File

@@ -26,12 +26,13 @@
*/ */
package org.alfresco.rest.rm.community.model.hold; package org.alfresco.rest.rm.community.model.hold;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
@Builder @Builder

View File

@@ -27,12 +27,12 @@
package org.alfresco.rest.rm.community.model.hold; package org.alfresco.rest.rm.community.model.hold;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
/** /**

View File

@@ -34,4 +34,5 @@ import org.alfresco.rest.core.RestModels;
* @author Damian Ujma * @author Damian Ujma
*/ */
public class HoldChildCollection extends RestModels<HoldChildEntry, HoldChildCollection> public class HoldChildCollection extends RestModels<HoldChildEntry, HoldChildCollection>
{} {
}

View File

@@ -27,12 +27,12 @@
package org.alfresco.rest.rm.community.model.hold; package org.alfresco.rest.rm.community.model.hold;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
/** /**

View File

@@ -34,4 +34,5 @@ import org.alfresco.rest.core.RestModels;
* @author Damian Ujma * @author Damian Ujma
*/ */
public class HoldCollection extends RestModels<HoldEntry, HoldCollection> public class HoldCollection extends RestModels<HoldEntry, HoldCollection>
{} {
}

View File

@@ -27,12 +27,12 @@
package org.alfresco.rest.rm.community.model.hold; package org.alfresco.rest.rm.community.model.hold;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
/** /**

View File

@@ -27,12 +27,12 @@
package org.alfresco.rest.rm.community.model.hold; package org.alfresco.rest.rm.community.model.hold;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
/** /**

View File

@@ -27,12 +27,12 @@
package org.alfresco.rest.rm.community.model.hold; package org.alfresco.rest.rm.community.model.hold;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
/** /**

View File

@@ -28,11 +28,11 @@ package org.alfresco.rest.rm.community.model.hold.v0;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
/** /**
@@ -45,12 +45,12 @@ import org.alfresco.utility.model.TestModel;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties (ignoreUnknown = true)
public class HoldEntry extends TestModel public class HoldEntry extends TestModel
{ {
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeRef; private String nodeRef;
} }

View File

@@ -29,11 +29,6 @@ package org.alfresco.rest.rm.community.model.record;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; 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.IRestModel;
import org.alfresco.rest.core.assertion.ModelAssertion; 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.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/** /**
* POJO for record * POJO for record
* *
@@ -60,28 +61,28 @@ public class Record extends TestModel implements IRestModel<RestNodeModel>
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
/************************/ /************************/
@@ -117,7 +118,7 @@ public class Record extends TestModel implements IRestModel<RestNodeModel>
return assertThat(); return assertThat();
} }
@JsonProperty(value = "entry") @JsonProperty (value = "entry")
RestNodeModel model; RestNodeModel model;
@Override @Override

View File

@@ -27,14 +27,15 @@
package org.alfresco.rest.rm.community.model.record; package org.alfresco.rest.rm.community.model.record;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for File records * POJO for File records
* *

View File

@@ -27,14 +27,15 @@
package org.alfresco.rest.rm.community.model.record; package org.alfresco.rest.rm.community.model.record;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for record content field * POJO for record content field
* *
@@ -49,15 +50,15 @@ import org.alfresco.utility.model.TestModel;
@AllArgsConstructor @AllArgsConstructor
public class RecordContent extends TestModel public class RecordContent extends TestModel
{ {
@JsonProperty(required = true) @JsonProperty (required = true)
private String mimeType; private String mimeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String mimeTypeName; private String mimeTypeName;
@JsonProperty(required = true) @JsonProperty (required = true)
private Integer sizeInBytes; private Integer sizeInBytes;
@JsonProperty(required = true) @JsonProperty (required = true)
private String encoding; private String encoding;
} }

View File

@@ -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;
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_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_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_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_RMV_VERSIONED;
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_ROOT_NODE_REF;
@@ -84,12 +85,12 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner; import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
@@ -110,160 +111,160 @@ public class RecordProperties extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
@JsonProperty(required = true, value = PROPERTIES_DATE_FILED) @JsonProperty (required = true, value = PROPERTIES_DATE_FILED)
private String dateField; private String dateField;
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String 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; private Boolean recordSearchHasDispositionSchedule;
@JsonProperty(required = true, value = PROPERTIES_ORIGINAL_NAME) @JsonProperty (required = true, value = PROPERTIES_ORIGINAL_NAME)
private String originalName; private String originalName;
@JsonProperty(PROPERTIES_CLASSIFICATION) @JsonProperty (PROPERTIES_CLASSIFICATION)
private List<String> classification; private List<String> classification;
/*********************************/ /*********************************/
/** Electronic record parameters */ /** Electronic record parameters */
/*********************************/ /*********************************/
@JsonProperty(PROPERTIES_VERSION_TYPE) @JsonProperty (PROPERTIES_VERSION_TYPE)
private String versionType; private String versionType;
@JsonProperty(PROPERTIES_VERSION_LABEL) @JsonProperty (PROPERTIES_VERSION_LABEL)
private String versionLabel; private String versionLabel;
@JsonProperty(PROPERTIES_VERSIONED_NODEREF) @JsonProperty(PROPERTIES_VERSIONED_NODEREF)
private String versionedNodeRef; private String versionedNodeRef;
@JsonProperty(PROPERTIES_RMV_VERSIONED) @JsonProperty (PROPERTIES_RMV_VERSIONED)
private String recordVersionLabel; private String recordVersionLabel;
@JsonProperty(PROPERTIES_DATE_TIME_ORIGINAL) @JsonProperty (PROPERTIES_DATE_TIME_ORIGINAL)
private String dateTimeOriginal; private String dateTimeOriginal;
@JsonProperty(PROPERTIES_EXPOSURE_TIME) @JsonProperty (PROPERTIES_EXPOSURE_TIME)
private Double exposureTime; private Double exposureTime;
@JsonProperty(PROPERTIES_FLASH) @JsonProperty (PROPERTIES_FLASH)
private Boolean flash; private Boolean flash;
@JsonProperty(PROPERTIES_F_NUMBER) @JsonProperty (PROPERTIES_F_NUMBER)
private Double fNumber; private Double fNumber;
@JsonProperty(PROPERTIES_FOCAL_LENGTH) @JsonProperty (PROPERTIES_FOCAL_LENGTH)
private Double focalLength; private Double focalLength;
@JsonProperty(PROPERTIES_ISO_SPEED_RATINGS) @JsonProperty (PROPERTIES_ISO_SPEED_RATINGS)
private Integer isoSpeedRatings; private Integer isoSpeedRatings;
@JsonProperty(PROPERTIES_MANUFACTURER) @JsonProperty (PROPERTIES_MANUFACTURER)
private String manufacturer; private String manufacturer;
@JsonProperty(PROPERTIES_MODEL) @JsonProperty (PROPERTIES_MODEL)
private String model; private String model;
@JsonProperty(PROPERTIES_ORIENTATION) @JsonProperty (PROPERTIES_ORIENTATION)
private Integer orientation; private Integer orientation;
@JsonProperty(PROPERTIES_PIXEL_X_DIMENSION) @JsonProperty (PROPERTIES_PIXEL_X_DIMENSION)
private Integer pixelXDimension; private Integer pixelXDimension;
@JsonProperty(PROPERTIES_PIXEL_Y_DIMENSION) @JsonProperty (PROPERTIES_PIXEL_Y_DIMENSION)
private Integer pixelYDimension; private Integer pixelYDimension;
@JsonProperty(PROPERTIES_RESOLUTION_UNIT) @JsonProperty (PROPERTIES_RESOLUTION_UNIT)
private String resolutionUnit; private String resolutionUnit;
@JsonProperty(PROPERTIES_SOFTWARE) @JsonProperty (PROPERTIES_SOFTWARE)
private String software; private String software;
@JsonProperty(PROPERTIES_X_RESOLUTION) @JsonProperty (PROPERTIES_X_RESOLUTION)
private Double xResolution; private Double xResolution;
@JsonProperty(PROPERTIES_Y_RESOLUTION) @JsonProperty (PROPERTIES_Y_RESOLUTION)
private Double yResolution; private Double yResolution;
@JsonProperty(PROPERTIES_RECORD_ORIGINATING_LOCATION) @JsonProperty (PROPERTIES_RECORD_ORIGINATING_LOCATION)
private String originatingLocation; private String originatingLocation;
@JsonProperty(PROPERTIES_RECORD_ORIGINATING_USER_ID) @JsonProperty (PROPERTIES_RECORD_ORIGINATING_USER_ID)
private String originatingUserId; private String originatingUserId;
@JsonProperty(PROPERTIES_RECORD_ORIGINATING_CREATION_DATE) @JsonProperty (PROPERTIES_RECORD_ORIGINATING_CREATION_DATE)
private String originatingCreationDate; private String originatingCreationDate;
/*************************************/ /*************************************/
/** Non-electronic record parameters */ /** Non-electronic record parameters */
/*************************************/ /*************************************/
@JsonProperty(PROPERTIES_TITLE) @JsonProperty (PROPERTIES_TITLE)
private String title; private String title;
@JsonProperty(PROPERTIES_SHELF) @JsonProperty (PROPERTIES_SHELF)
private String shelf; private String shelf;
@JsonProperty(PROPERTIES_STORAGE_LOCATION) @JsonProperty (PROPERTIES_STORAGE_LOCATION)
private String storageLocation; private String storageLocation;
@JsonProperty(PROPERTIES_FILE) @JsonProperty (PROPERTIES_FILE)
private String file; private String file;
@JsonProperty(PROPERTIES_BOX) @JsonProperty (PROPERTIES_BOX)
private String box; private String box;
@JsonProperty(PROPERTIES_DESCRIPTION) @JsonProperty (PROPERTIES_DESCRIPTION)
private String description; private String description;
@JsonProperty(PROPERTIES_NUMBER_OF_COPIES) @JsonProperty (PROPERTIES_NUMBER_OF_COPIES)
private Integer numberOfCopies; private Integer numberOfCopies;
@JsonProperty(PROPERTIES_PHYSICAL_SIZE) @JsonProperty (PROPERTIES_PHYSICAL_SIZE)
private Integer physicalSize; private Integer physicalSize;
@JsonProperty(PROPERTIES_OWNER) @JsonProperty (PROPERTIES_OWNER)
private Owner owner; private Owner owner;
@JsonProperty(PROPERTIES_AUTHOR) @JsonProperty(PROPERTIES_AUTHOR)
private String author; private String author;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION)
private String recordSearchDispositionPeriodExpression; private String recordSearchDispositionPeriodExpression;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY)
private String recordSearchDispositionAuthority; private String recordSearchDispositionAuthority;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF)
private Date recordSearchDispositionActionAsOf; private Date recordSearchDispositionActionAsOf;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD)
private String recordSearchDispositionPeriod; private String recordSearchDispositionPeriod;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME)
private String recordSearchDispositionActionName; private String recordSearchDispositionActionName;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE)
private Boolean recordSearchDispositionEventsEligible; private Boolean recordSearchDispositionEventsEligible;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS)
private List<String> recordSearchDispositionEvents; private List<String> recordSearchDispositionEvents;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS)
private String recordSearchDispositionInstructions; private String recordSearchDispositionInstructions;
@JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD) @JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD)
private String recordSearchVitalRecordReviewPeriod; private String recordSearchVitalRecordReviewPeriod;
@JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION) @JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION)
private String recordSearchVitalRecordReviewPeriodExpression; private String recordSearchVitalRecordReviewPeriodExpression;
@JsonProperty(PROPERTIES_REVIEW_AS_OF) @JsonProperty(PROPERTIES_REVIEW_AS_OF)
private Date reviewAsOf; private Date reviewAsOf;
@JsonProperty(PROPERTIES_STORE) @JsonProperty (PROPERTIES_STORE)
private String store; private String store;
@JsonProperty(PROPERTIES_WORM_UNLOCK_DATE) @JsonProperty(PROPERTIES_WORM_UNLOCK_DATE)

View File

@@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.recordcategory;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; 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.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; 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 * POJO for record category
* *
@@ -58,34 +59,34 @@ public class RecordCategory extends TestModel
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
@JsonProperty(required = true) @JsonProperty (required = true)
private List<String> aspectNames; private List<String> aspectNames;
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private RecordCategoryProperties properties; private RecordCategoryProperties properties;
/************************/ /************************/

View File

@@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.recordcategory;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; 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.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; 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 * POJO for record category child
* *
@@ -57,28 +58,28 @@ public class RecordCategoryChild extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
/************************/ /************************/

View File

@@ -27,11 +27,12 @@
package org.alfresco.rest.rm.community.model.recordcategory; package org.alfresco.rest.rm.community.model.recordcategory;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
import lombok.Data;
import lombok.EqualsAndHashCode;
/** /**
* POJO for record category child entry * POJO for record category child entry
* *

View File

@@ -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_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_LOCATION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER; 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_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_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_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_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_ROOT_NODE_REF;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE; 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.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; 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.Owner;
import org.alfresco.rest.rm.community.model.common.ReviewPeriod; import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
import org.alfresco.utility.model.TestModel; 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 * POJO for record category child properties
* *
@@ -78,65 +79,65 @@ public class RecordCategoryChildProperties extends TestModel
/**************************************************************************/ /**************************************************************************/
/** Mandatory parameters - Shared by record categories and record folders */ /** Mandatory parameters - Shared by record categories and record folders */
/**************************************************************************/ /**************************************************************************/
@JsonProperty(required = true, value = PROPERTIES_TITLE) @JsonProperty (required = true, value = PROPERTIES_TITLE)
private String title; private String title;
@JsonProperty(required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR) @JsonProperty (required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR)
private Boolean vitalRecordIndicator; private Boolean vitalRecordIndicator;
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
@JsonProperty(required = true, value = PROPERTIES_REVIEW_PERIOD) @JsonProperty (required = true, value = PROPERTIES_REVIEW_PERIOD)
@JsonSerialize(using = ReviewPeriodSerializer.class) @JsonSerialize (using = ReviewPeriodSerializer.class)
private ReviewPeriod reviewPeriod; private ReviewPeriod reviewPeriod;
@JsonProperty(required = true, value = PROPERTIES_DESCRIPTION) @JsonProperty (required = true, value = PROPERTIES_DESCRIPTION)
private String description; private String description;
/*********************************************************/ /*********************************************************/
/** Optional parameters - Applies only to record folders */ /** Optional parameters - Applies only to record folders */
/*********************************************************/ /*********************************************************/
@JsonProperty(PROPERTIES_HELD_CHILDREN_COUNT) @JsonProperty (PROPERTIES_HELD_CHILDREN_COUNT)
private Integer heldChildrenCount; private Integer heldChildrenCount;
@JsonProperty(PROPERTIES_LOCATION) @JsonProperty (PROPERTIES_LOCATION)
private String location; private String location;
@JsonProperty(PROPERTIES_IS_CLOSED) @JsonProperty (PROPERTIES_IS_CLOSED)
private Boolean isClosed; private Boolean isClosed;
@JsonProperty(PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) @JsonProperty (PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
private Boolean recordSearchHasDispositionSchedule; private Boolean recordSearchHasDispositionSchedule;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION)
private String recordSearchDispositionPeriodExpression; private String recordSearchDispositionPeriodExpression;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY)
private String recordSearchDispositionAuthority; private String recordSearchDispositionAuthority;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF)
private Date recordSearchDispositionActionAsOf; private Date recordSearchDispositionActionAsOf;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD)
private String recordSearchDispositionPeriod; private String recordSearchDispositionPeriod;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME)
private String recordSearchDispositionActionName; private String recordSearchDispositionActionName;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE)
private Boolean recordSearchDispositionEventsEligible; private Boolean recordSearchDispositionEventsEligible;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS)
private String recordSearchDispositionInstructions; private String recordSearchDispositionInstructions;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS)
private List<String> recordSearchDispositionEvents; private List<String> recordSearchDispositionEvents;
@JsonProperty(PROPERTIES_OWNER) @JsonProperty (PROPERTIES_OWNER)
private Owner owner; private Owner owner;
} }

View File

@@ -27,12 +27,13 @@
package org.alfresco.rest.rm.community.model.recordcategory; package org.alfresco.rest.rm.community.model.recordcategory;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
import org.alfresco.rest.rm.community.model.fileplan.FilePlan; import org.alfresco.rest.rm.community.model.fileplan.FilePlan;
import lombok.Data;
import lombok.EqualsAndHashCode;
/** /**
* POJO for file plan entry * POJO for file plan entry
* *

View File

@@ -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_TITLE;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_VITAL_RECORD_INDICATOR; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_VITAL_RECORD_INDICATOR;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; 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.Owner;
import org.alfresco.rest.rm.community.model.common.ReviewPeriod; import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
import org.alfresco.utility.model.TestModel; 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 * POJO for record category properties
* *
@@ -62,37 +64,37 @@ import org.alfresco.utility.model.TestModel;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties (ignoreUnknown = true)
public class RecordCategoryProperties extends TestModel public class RecordCategoryProperties extends TestModel
{ {
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
@JsonProperty(required = true, value = PROPERTIES_REVIEW_PERIOD) @JsonProperty (required = true, value = PROPERTIES_REVIEW_PERIOD)
@JsonSerialize(using = ReviewPeriodSerializer.class) @JsonSerialize (using = ReviewPeriodSerializer.class)
private ReviewPeriod reviewPeriod; private ReviewPeriod reviewPeriod;
@JsonProperty(required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR) @JsonProperty (required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR)
private Boolean vitalRecordIndicator; private Boolean vitalRecordIndicator;
/************************/ /************************/
/** Optional parameters */ /** Optional parameters */
/************************/ /************************/
@JsonProperty(PROPERTIES_TITLE) @JsonProperty (PROPERTIES_TITLE)
private String title; private String title;
@JsonProperty(PROPERTIES_ROOT_NODE_REF) @JsonProperty (PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
@JsonProperty(PROPERTIES_DESCRIPTION) @JsonProperty (PROPERTIES_DESCRIPTION)
private String description; private String description;
@JsonProperty(PROPERTIES_OWNER) @JsonProperty (PROPERTIES_OWNER)
private Owner owner; private Owner owner;
@JsonProperty(PROPERTIES_CLASSIFICATION) @JsonProperty (PROPERTIES_CLASSIFICATION)
private List<String> classification; private List<String> classification;
} }

View File

@@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.recordfolder;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; 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.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; 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 * POJO for record folder
* *
@@ -55,34 +56,34 @@ public class RecordFolder extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
@JsonProperty(required = true) @JsonProperty (required = true)
private List<String> aspectNames; private List<String> aspectNames;
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private RecordFolderProperties properties; private RecordFolderProperties properties;
/************************/ /************************/

View File

@@ -27,15 +27,16 @@
package org.alfresco.rest.rm.community.model.recordfolder; package org.alfresco.rest.rm.community.model.recordfolder;
import com.fasterxml.jackson.annotation.JsonProperty; 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.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels;
import org.alfresco.rest.rm.community.model.record.Record;
/** /**
* POJO for record folder entry * POJO for record folder entry
* *

View File

@@ -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_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_LOCATION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER; 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
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS; .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_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;
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_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.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; 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.Owner;
import org.alfresco.rest.rm.community.model.common.ReviewPeriod; import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
import org.alfresco.utility.model.TestModel; 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 * POJO for record folder properties
* *
@@ -70,62 +73,62 @@ import org.alfresco.utility.model.TestModel;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties (ignoreUnknown = true)
public class RecordFolderProperties extends TestModel public class RecordFolderProperties extends TestModel
{ {
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true, value = PROPERTIES_IS_CLOSED) @JsonProperty (required = true, value = PROPERTIES_IS_CLOSED)
private Boolean isClosed; private Boolean isClosed;
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
@JsonProperty(required = true, value = PROPERTIES_HELD_CHILDREN_COUNT) @JsonProperty (required = true, value = PROPERTIES_HELD_CHILDREN_COUNT)
private Integer heldChildrenCount; private Integer heldChildrenCount;
/************************/ /************************/
/** Optional parameters */ /** Optional parameters */
/************************/ /************************/
@JsonProperty(PROPERTIES_TITLE) @JsonProperty (PROPERTIES_TITLE)
private String title; private String title;
@JsonProperty(PROPERTIES_VITAL_RECORD_INDICATOR) @JsonProperty (PROPERTIES_VITAL_RECORD_INDICATOR)
private Boolean vitalRecordIndicator; private Boolean vitalRecordIndicator;
@JsonProperty(PROPERTIES_ROOT_NODE_REF) @JsonProperty (PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
@JsonProperty(PROPERTIES_LOCATION) @JsonProperty (PROPERTIES_LOCATION)
private String location; private String location;
@JsonProperty(PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) @JsonProperty (PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
private Boolean recordSearchHasDispositionSchedule; private Boolean recordSearchHasDispositionSchedule;
@JsonProperty(PROPERTIES_REVIEW_PERIOD) @JsonProperty (PROPERTIES_REVIEW_PERIOD)
@JsonSerialize(using = ReviewPeriodSerializer.class) @JsonSerialize (using = ReviewPeriodSerializer.class)
private ReviewPeriod reviewPeriod; private ReviewPeriod reviewPeriod;
@JsonProperty(PROPERTIES_CLASSIFICATION) @JsonProperty (PROPERTIES_CLASSIFICATION)
private List<String> classification; private List<String> classification;
@JsonProperty(PROPERTIES_DESCRIPTION) @JsonProperty (PROPERTIES_DESCRIPTION)
private String description; private String description;
@JsonProperty(PROPERTIES_OWNER) @JsonProperty (PROPERTIES_OWNER)
private Owner owner; private Owner owner;
@JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD) @JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD)
private String recordSearchVitalRecordReviewPeriod; private String recordSearchVitalRecordReviewPeriod;
@JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION) @JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION)
private String recordSearchVitalRecordReviewPeriodExpression; private String recordSearchVitalRecordReviewPeriodExpression;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY)
private String recordSearchDispositionAuthority; private String recordSearchDispositionAuthority;
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS) @JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS)
private String recordSearchDispositionInstructions; private String recordSearchDispositionInstructions;
} }

View File

@@ -26,12 +26,11 @@
*/ */
package org.alfresco.rest.rm.community.model.retentionschedule; package org.alfresco.rest.rm.community.model.retentionschedule;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
import lombok.Data;
import java.util.List;
/** /**
* retention schedule * retention schedule
@@ -40,7 +39,7 @@ import org.alfresco.utility.model.TestModel;
@Data @Data
public class RetentionSchedule extends TestModel public class RetentionSchedule extends TestModel
{ {
private String id; private String id ;
private String parentId; private String parentId;
private String authority; private String authority;
private String instructions; private String instructions;
@@ -53,8 +52,7 @@ public class RetentionSchedule extends TestModel
return isRecordLevel; return isRecordLevel;
} }
public void setIsRecordLevel(boolean recordLevel) public void setIsRecordLevel(boolean recordLevel) {
{
isRecordLevel = recordLevel; isRecordLevel = recordLevel;
} }
} }

View File

@@ -27,7 +27,6 @@
package org.alfresco.rest.rm.community.model.retentionschedule; package org.alfresco.rest.rm.community.model.retentionschedule;
import java.util.List; import java.util.List;
import lombok.Data; import lombok.Data;
/** /**

View File

@@ -27,6 +27,6 @@
package org.alfresco.rest.rm.community.model.retentionschedule; package org.alfresco.rest.rm.community.model.retentionschedule;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
public class RetentionScheduleCollection extends RestModels<RetentionScheduleEntry, RetentionScheduleCollection> public class RetentionScheduleCollection extends RestModels<RetentionScheduleEntry, RetentionScheduleCollection>
{} {
}

View File

@@ -28,9 +28,7 @@ package org.alfresco.rest.rm.community.model.retentionschedule;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
@Data @Data
public class RetentionScheduleEntry extends RestModels<RetentionSchedule, RetentionScheduleEntry> public class RetentionScheduleEntry extends RestModels<RetentionSchedule, RetentionScheduleEntry>
{ {

View File

@@ -29,4 +29,5 @@ package org.alfresco.rest.rm.community.model.retentionschedule;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
public class RetentionScheduleStepCollection extends RestModels<RetentionScheduleStepEntry, RetentionScheduleStepCollection> public class RetentionScheduleStepCollection extends RestModels<RetentionScheduleStepEntry, RetentionScheduleStepCollection>
{} {
}

View File

@@ -28,7 +28,6 @@ package org.alfresco.rest.rm.community.model.retentionschedule;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
@Data @Data

View File

@@ -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);
}
}

View File

@@ -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>
{}

View File

@@ -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;
}

View File

@@ -31,7 +31,26 @@ package org.alfresco.rest.rm.community.model.rules;
*/ */
public enum ActionsOnRule 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; private String actionValue;

View File

@@ -31,17 +31,18 @@ package org.alfresco.rest.rm.community.model.rules;
*/ */
public enum ConditionsOnRule public enum ConditionsOnRule
{ {
UPDATE("update"), ADDED("inbound"), REMOVED("outbound"); UPDATE("update"),
ADDED("inbound"),
REMOVED("outbound");
private String whenConditionValue; private String whenConditionValue;
ConditionsOnRule(String value) ConditionsOnRule(String value)
{ {
this.whenConditionValue = value; this.whenConditionValue = value;
} }
public String getWhenConditionValue() public String getWhenConditionValue()
{ {
return whenConditionValue; return whenConditionValue;
} }
} }

View File

@@ -200,3 +200,4 @@ public class RuleDefinition
return this; return this;
} }
} }

View File

@@ -27,14 +27,15 @@
package org.alfresco.rest.rm.community.model.site; package org.alfresco.rest.rm.community.model.site;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestSiteModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestSiteModel;
/** /**
* POJO for RM Site component * POJO for RM Site component
* *
@@ -47,7 +48,7 @@ import org.alfresco.rest.model.RestSiteModel;
@AllArgsConstructor @AllArgsConstructor
public class RMSite extends RestSiteModel public class RMSite extends RestSiteModel
{ {
@JsonProperty(required = true) @JsonProperty (required = true)
private RMSiteCompliance compliance; private RMSiteCompliance compliance;
/** Private constructor allowing Lombok to include superclass fields in the builder. */ /** Private constructor allowing Lombok to include superclass fields in the builder. */

View File

@@ -34,5 +34,6 @@ package org.alfresco.rest.rm.community.model.site;
*/ */
public enum RMSiteCompliance public enum RMSiteCompliance
{ {
STANDARD, DOD5015 STANDARD,
DOD5015
} }

View File

@@ -27,8 +27,16 @@
package org.alfresco.rest.rm.community.model.site; 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 Tuna Aksoy
* @author Rodica Sutu * @author Rodica Sutu
* @since 2.6 * @since 2.6
@@ -39,6 +47,6 @@ public class RMSiteFields
public static final String COMPLIANCE = "compliance"; public static final String COMPLIANCE = "compliance";
public static final String TITLE = "title"; public static final String TITLE = "title";
public static final String DESCRIPTION = "description"; public static final String DESCRIPTION = "description";
public static final String VISIBILITY = "visibility"; public static final String VISIBILITY ="visibility";
public static final String ROLE = "role"; public static final String ROLE = "role";
} }

View File

@@ -30,15 +30,16 @@ package org.alfresco.rest.rm.community.model.transfer;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for Transfer * POJO for Transfer
* *
@@ -55,28 +56,28 @@ public class Transfer extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
@JsonProperty(required = true) @JsonProperty (required = true)
private List<String> aspectNames; private List<String> aspectNames;
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private TransferProperties properties; private TransferProperties properties;
/************************/ /************************/

View File

@@ -30,16 +30,17 @@ package org.alfresco.rest.rm.community.model.transfer;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; 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.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; 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 * POJO for transfer child
* *
@@ -56,28 +57,28 @@ public class TransferChild extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
/************************/ /************************/

View File

@@ -31,7 +31,6 @@ import org.alfresco.rest.core.RestModels;
/** /**
* Handle collection of {@link TransferChildEntry} * Handle collection of {@link TransferChildEntry}
*
* @author Silviu Dinuta * @author Silviu Dinuta
* @since 2.6 * @since 2.6
*/ */

View File

@@ -27,15 +27,16 @@
package org.alfresco.rest.rm.community.model.transfer; package org.alfresco.rest.rm.community.model.transfer;
import org.alfresco.rest.core.RestModels;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels;
/** /**
* POJO for transfer child entry * POJO for transfer child entry
* *

View File

@@ -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_X_RESOLUTION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_Y_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.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; 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 * POJO for transfer child properties
* *
@@ -91,127 +92,128 @@ import org.alfresco.utility.model.TestModel;
public class TransferChildProperties extends 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; private String title;
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
@JsonProperty(PROPERTIES_DESCRIPTION) @JsonProperty (PROPERTIES_DESCRIPTION)
private String description; private String description;
/*********************************************************/ /*********************************************************/
/** Optional parameters - Applies only to record folders */ /** Optional parameters - Applies only to record folders */
/*********************************************************/ /*********************************************************/
@JsonProperty(PROPERTIES_VITAL_RECORD_INDICATOR) @JsonProperty (PROPERTIES_VITAL_RECORD_INDICATOR)
private Boolean vitalRecordIndicator; private Boolean vitalRecordIndicator;
@JsonProperty(PROPERTIES_REVIEW_PERIOD) @JsonProperty (PROPERTIES_REVIEW_PERIOD)
@JsonSerialize(using = ReviewPeriodSerializer.class) @JsonSerialize (using = ReviewPeriodSerializer.class)
private ReviewPeriod reviewPeriod; private ReviewPeriod reviewPeriod;
@JsonProperty(PROPERTIES_HELD_CHILDREN_COUNT) @JsonProperty (PROPERTIES_HELD_CHILDREN_COUNT)
private Integer heldChildrenCount; private Integer heldChildrenCount;
@JsonProperty(PROPERTIES_LOCATION) @JsonProperty (PROPERTIES_LOCATION)
private String location; private String location;
@JsonProperty(PROPERTIES_IS_CLOSED) @JsonProperty (PROPERTIES_IS_CLOSED)
private Boolean isClosed; private Boolean isClosed;
/*********************************************************/ /*********************************************************/
/** Optional parameters - Applies only to records */ /** Optional parameters - Applies only to records */
/*********************************************************/ /*********************************************************/
@JsonProperty(PROPERTIES_DATE_FILED) @JsonProperty (PROPERTIES_DATE_FILED)
private String dateField; private String dateField;
@JsonProperty(PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) @JsonProperty (PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
private Boolean recordSearchHasDispositionSchedule; private Boolean recordSearchHasDispositionSchedule;
@JsonProperty(PROPERTIES_ORIGINAL_NAME) @JsonProperty (PROPERTIES_ORIGINAL_NAME)
private String originalName; private String originalName;
/*********************************/ /*********************************/
/** Electronic record parameters */ /** Electronic record parameters */
/*********************************/ /*********************************/
@JsonProperty(PROPERTIES_VERSION_TYPE) @JsonProperty (PROPERTIES_VERSION_TYPE)
private String versionType; private String versionType;
@JsonProperty(PROPERTIES_VERSION_LABEL) @JsonProperty (PROPERTIES_VERSION_LABEL)
private String versionLabel; private String versionLabel;
@JsonProperty(PROPERTIES_DATE_TIME_ORIGINAL) @JsonProperty (PROPERTIES_DATE_TIME_ORIGINAL)
private String dateTimeOriginal; private String dateTimeOriginal;
@JsonProperty(PROPERTIES_EXPOSURE_TIME) @JsonProperty (PROPERTIES_EXPOSURE_TIME)
private Double exposureTime; private Double exposureTime;
@JsonProperty(PROPERTIES_FLASH) @JsonProperty (PROPERTIES_FLASH)
private Boolean flash; private Boolean flash;
@JsonProperty(PROPERTIES_F_NUMBER) @JsonProperty (PROPERTIES_F_NUMBER)
private Double fNumber; private Double fNumber;
@JsonProperty(PROPERTIES_FOCAL_LENGTH) @JsonProperty (PROPERTIES_FOCAL_LENGTH)
private Double focalLength; private Double focalLength;
@JsonProperty(PROPERTIES_ISO_SPEED_RATINGS) @JsonProperty (PROPERTIES_ISO_SPEED_RATINGS)
private Integer isoSpeedRatings; private Integer isoSpeedRatings;
@JsonProperty(PROPERTIES_MANUFACTURER) @JsonProperty (PROPERTIES_MANUFACTURER)
private String manufacturer; private String manufacturer;
@JsonProperty(PROPERTIES_MODEL) @JsonProperty (PROPERTIES_MODEL)
private String model; private String model;
@JsonProperty(PROPERTIES_ORIENTATION) @JsonProperty (PROPERTIES_ORIENTATION)
private Integer orientation; private Integer orientation;
@JsonProperty(PROPERTIES_PIXEL_X_DIMENSION) @JsonProperty (PROPERTIES_PIXEL_X_DIMENSION)
private Integer pixelXDimension; private Integer pixelXDimension;
@JsonProperty(PROPERTIES_PIXEL_Y_DIMENSION) @JsonProperty (PROPERTIES_PIXEL_Y_DIMENSION)
private Integer pixelYDimension; private Integer pixelYDimension;
@JsonProperty(PROPERTIES_RESOLUTION_UNIT) @JsonProperty (PROPERTIES_RESOLUTION_UNIT)
private String resolutionUnit; private String resolutionUnit;
@JsonProperty(PROPERTIES_SOFTWARE) @JsonProperty (PROPERTIES_SOFTWARE)
private String software; private String software;
@JsonProperty(PROPERTIES_X_RESOLUTION) @JsonProperty (PROPERTIES_X_RESOLUTION)
private Double xResolution; private Double xResolution;
@JsonProperty(PROPERTIES_Y_RESOLUTION) @JsonProperty (PROPERTIES_Y_RESOLUTION)
private Double yResolution; private Double yResolution;
/*************************************/ /*************************************/
/** Non-electronic record parameters */ /** Non-electronic record parameters */
/*************************************/ /*************************************/
@JsonProperty(PROPERTIES_SHELF) @JsonProperty (PROPERTIES_SHELF)
private String shelf; private String shelf;
@JsonProperty(PROPERTIES_STORAGE_LOCATION) @JsonProperty (PROPERTIES_STORAGE_LOCATION)
private String storageLocation; private String storageLocation;
@JsonProperty(PROPERTIES_FILE) @JsonProperty (PROPERTIES_FILE)
private String file; private String file;
@JsonProperty(PROPERTIES_BOX) @JsonProperty (PROPERTIES_BOX)
private String box; private String box;
@JsonProperty(PROPERTIES_NUMBER_OF_COPIES) @JsonProperty (PROPERTIES_NUMBER_OF_COPIES)
private Integer numberOfCopies; private Integer numberOfCopies;
@JsonProperty(PROPERTIES_PHYSICAL_SIZE) @JsonProperty (PROPERTIES_PHYSICAL_SIZE)
private Integer physicalSize; private Integer physicalSize;
@JsonProperty(PROPERTIES_OWNER) @JsonProperty (PROPERTIES_OWNER)
private Owner owner; private Owner owner;
} }

View File

@@ -31,7 +31,6 @@ import org.alfresco.rest.core.RestModels;
/** /**
* Handle collection of {@link TransferEntry} * Handle collection of {@link TransferEntry}
*
* @author Silviu Dinuta * @author Silviu Dinuta
* @since 2.6 * @since 2.6
*/ */

View File

@@ -27,16 +27,17 @@
package org.alfresco.rest.rm.community.model.transfer; 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 com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels;
import org.alfresco.rest.rm.community.model.transfercontainer.TransferContainer;
/** /**
* POJO for transfer entry * POJO for transfer entry
* *

View File

@@ -27,23 +27,24 @@
package org.alfresco.rest.rm.community.model.transfer; 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_IDENTIFIER;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER; 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_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_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 com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for Transfer properties * POJO for Transfer properties
* *
@@ -60,24 +61,24 @@ public class TransferProperties extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
/************************/ /************************/
/** Optional parameters */ /** Optional parameters */
/************************/ /************************/
@JsonProperty(PROPERTIES_ROOT_NODE_REF) @JsonProperty (PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
@JsonProperty(PROPERTIES_OWNER) @JsonProperty (PROPERTIES_OWNER)
private Owner owner; private Owner owner;
@JsonProperty(PROPERTIES_PDF_INDICATOR) @JsonProperty (PROPERTIES_PDF_INDICATOR)
private Boolean pdfIndicator; private Boolean pdfIndicator;
@JsonProperty(PROPERTIES_TRANSFER_LOCATION) @JsonProperty (PROPERTIES_TRANSFER_LOCATION)
private String transferLocation; private String transferLocation;
@JsonProperty(PROPERTIES_ACCESSION_INDICATOR) @JsonProperty (PROPERTIES_ACCESSION_INDICATOR)
private Boolean accessionIndicator; private Boolean accessionIndicator;
} }

View File

@@ -30,15 +30,16 @@ package org.alfresco.rest.rm.community.model.transfercontainer;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for Transfer Container * POJO for Transfer Container
* *
@@ -55,34 +56,34 @@ public class TransferContainer extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
@JsonProperty(required = true) @JsonProperty (required = true)
private List<String> aspectNames; private List<String> aspectNames;
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private TransferContainerProperties properties; private TransferContainerProperties properties;
/************************/ /************************/

View File

@@ -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_IDENTIFIER;
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_ROOT_NODE_REF;
import org.alfresco.utility.model.TestModel;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for Transfer Container properties * POJO for Transfer Container properties
* *
@@ -56,16 +57,16 @@ public class TransferContainerProperties extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
/************************/ /************************/
/** Optional parameters */ /** Optional parameters */
/************************/ /************************/
@JsonProperty(PROPERTIES_ROOT_NODE_REF) @JsonProperty (PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
@JsonProperty(PROPERTIES_COUNT) @JsonProperty (PROPERTIES_COUNT)
private Integer count; private Integer count;
} }

View File

@@ -28,17 +28,18 @@ package org.alfresco.rest.rm.community.model.unfiledcontainer;
import java.util.List; 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 com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; 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 * POJO for unfiled container
* *
@@ -55,34 +56,34 @@ public class UnfiledContainer extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
@JsonProperty(required = true) @JsonProperty (required = true)
private List<String> aspectNames; private List<String> aspectNames;
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private UnfiledContainerProperties properties; private UnfiledContainerProperties properties;
/************************/ /************************/

View File

@@ -28,19 +28,20 @@ package org.alfresco.rest.rm.community.model.unfiledcontainer;
import java.util.List; 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.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; 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 * POJO for record category child
* *
@@ -52,40 +53,40 @@ import org.alfresco.utility.model.TestModel;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties (ignoreUnknown = true)
public class UnfiledContainerChild extends TestModel public class UnfiledContainerChild extends TestModel
{ {
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private Boolean isUnfiledRecordFolder; private Boolean isUnfiledRecordFolder;
@JsonProperty(required = true) @JsonProperty (required = true)
private Boolean isRecord; private Boolean isRecord;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
/************************/ /************************/

View File

@@ -27,11 +27,12 @@
package org.alfresco.rest.rm.community.model.unfiledcontainer; package org.alfresco.rest.rm.community.model.unfiledcontainer;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
import lombok.Data;
import lombok.EqualsAndHashCode;
/** /**
* POJO for record category child entry * POJO for record category child entry
* *

View File

@@ -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.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; 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.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for record category child properties * POJO for record category child properties
* *
@@ -82,112 +83,112 @@ import org.alfresco.utility.model.TestModel;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties (ignoreUnknown = true)
public class UnfiledContainerChildProperties extends TestModel public class UnfiledContainerChildProperties extends TestModel
{ {
/**************************************************************************/ /**************************************************************************/
/** Mandatory parameters - Shared by unfiled record folder and records */ /** Mandatory parameters - Shared by unfiled record folder and records */
/**************************************************************************/ /**************************************************************************/
@JsonProperty(required = true, value = PROPERTIES_TITLE) @JsonProperty (required = true, value = PROPERTIES_TITLE)
private String title; private String title;
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
@JsonProperty(required = true, value = PROPERTIES_DESCRIPTION) @JsonProperty (required = true, value = PROPERTIES_DESCRIPTION)
private String description; private String description;
@JsonProperty(value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE) @JsonProperty (value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
private Boolean recordSearchHasDispositionSchedule; private Boolean recordSearchHasDispositionSchedule;
/*********************************/ /*********************************/
/** Electronic record parameters */ /** Electronic record parameters */
/*********************************/ /*********************************/
@JsonProperty(PROPERTIES_VERSION_TYPE) @JsonProperty (PROPERTIES_VERSION_TYPE)
private String versionType; private String versionType;
@JsonProperty(PROPERTIES_VERSION_LABEL) @JsonProperty (PROPERTIES_VERSION_LABEL)
private String versionLabel; private String versionLabel;
@JsonProperty(PROPERTIES_VERSIONED_NODEREF) @JsonProperty(PROPERTIES_VERSIONED_NODEREF)
private String versionedNodeRef; private String versionedNodeRef;
@JsonProperty(PROPERTIES_RMV_VERSIONED) @JsonProperty (PROPERTIES_RMV_VERSIONED)
private String recordVersionLabel; private String recordVersionLabel;
@JsonProperty(PROPERTIES_DATE_TIME_ORIGINAL) @JsonProperty (PROPERTIES_DATE_TIME_ORIGINAL)
private String dateTimeOriginal; private String dateTimeOriginal;
@JsonProperty(PROPERTIES_EXPOSURE_TIME) @JsonProperty (PROPERTIES_EXPOSURE_TIME)
private Double exposureTime; private Double exposureTime;
@JsonProperty(PROPERTIES_FLASH) @JsonProperty (PROPERTIES_FLASH)
private Boolean flash; private Boolean flash;
@JsonProperty(PROPERTIES_F_NUMBER) @JsonProperty (PROPERTIES_F_NUMBER)
private Double fNumber; private Double fNumber;
@JsonProperty(PROPERTIES_FOCAL_LENGTH) @JsonProperty (PROPERTIES_FOCAL_LENGTH)
private Double focalLength; private Double focalLength;
@JsonProperty(PROPERTIES_ISO_SPEED_RATINGS) @JsonProperty (PROPERTIES_ISO_SPEED_RATINGS)
private Integer isoSpeedRatings; private Integer isoSpeedRatings;
@JsonProperty(PROPERTIES_MANUFACTURER) @JsonProperty (PROPERTIES_MANUFACTURER)
private String manufacturer; private String manufacturer;
@JsonProperty(PROPERTIES_MODEL) @JsonProperty (PROPERTIES_MODEL)
private String model; private String model;
@JsonProperty(PROPERTIES_ORIENTATION) @JsonProperty (PROPERTIES_ORIENTATION)
private Integer orientation; private Integer orientation;
@JsonProperty(PROPERTIES_PIXEL_X_DIMENSION) @JsonProperty (PROPERTIES_PIXEL_X_DIMENSION)
private Integer pixelXDimension; private Integer pixelXDimension;
@JsonProperty(PROPERTIES_PIXEL_Y_DIMENSION) @JsonProperty (PROPERTIES_PIXEL_Y_DIMENSION)
private Integer pixelYDimension; private Integer pixelYDimension;
@JsonProperty(PROPERTIES_RESOLUTION_UNIT) @JsonProperty (PROPERTIES_RESOLUTION_UNIT)
private String resolutionUnit; private String resolutionUnit;
@JsonProperty(PROPERTIES_SOFTWARE) @JsonProperty (PROPERTIES_SOFTWARE)
private String software; private String software;
@JsonProperty(PROPERTIES_X_RESOLUTION) @JsonProperty (PROPERTIES_X_RESOLUTION)
private Double xResolution; private Double xResolution;
@JsonProperty(PROPERTIES_Y_RESOLUTION) @JsonProperty (PROPERTIES_Y_RESOLUTION)
private Double yResolution; private Double yResolution;
@JsonProperty(PROPERTIES_ORIGINAL_NAME) @JsonProperty (PROPERTIES_ORIGINAL_NAME)
private String originalName; private String originalName;
/*************************************/ /*************************************/
/** Non-electronic record parameters */ /** Non-electronic record parameters */
/*************************************/ /*************************************/
@JsonProperty(PROPERTIES_SHELF) @JsonProperty (PROPERTIES_SHELF)
private String shelf; private String shelf;
@JsonProperty(PROPERTIES_STORAGE_LOCATION) @JsonProperty (PROPERTIES_STORAGE_LOCATION)
private String storageLocation; private String storageLocation;
@JsonProperty(PROPERTIES_FILE) @JsonProperty (PROPERTIES_FILE)
private String file; private String file;
@JsonProperty(PROPERTIES_BOX) @JsonProperty (PROPERTIES_BOX)
private String box; private String box;
@JsonProperty(PROPERTIES_NUMBER_OF_COPIES) @JsonProperty (PROPERTIES_NUMBER_OF_COPIES)
private Integer numberOfCopies; private Integer numberOfCopies;
@JsonProperty(PROPERTIES_PHYSICAL_SIZE) @JsonProperty (PROPERTIES_PHYSICAL_SIZE)
private Integer physicalSize; private Integer physicalSize;
@JsonProperty(PROPERTIES_OWNER) @JsonProperty (PROPERTIES_OWNER)
private Owner owner; private Owner owner;
} }

View File

@@ -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.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for file plan properties * POJO for file plan properties
* *
@@ -50,15 +51,15 @@ import org.alfresco.utility.model.TestModel;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties (ignoreUnknown = true)
public class UnfiledContainerProperties extends TestModel public class UnfiledContainerProperties extends TestModel
{ {
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF) @JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
} }

View File

@@ -28,18 +28,19 @@ package org.alfresco.rest.rm.community.model.unfiledcontainer;
import java.util.List; 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 com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; 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 * POJO for unfiled container
* *
@@ -56,28 +57,28 @@ public class UnfiledRecordFolder extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty(required = true) @JsonProperty (required = true)
private String createdAt; private String createdAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel createdByUser; private RestByUserModel createdByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String modifiedAt; private String modifiedAt;
@JsonProperty(required = true) @JsonProperty (required = true)
private RestByUserModel modifiedByUser; private RestByUserModel modifiedByUser;
@JsonProperty(required = true) @JsonProperty (required = true)
private String name; private String name;
@JsonProperty(required = true) @JsonProperty (required = true)
private String id; private String id;
@JsonProperty(required = true) @JsonProperty (required = true)
private String nodeType; private String nodeType;
@JsonProperty(required = true) @JsonProperty (required = true)
private String parentId; private String parentId;
/************************/ /************************/

View File

@@ -34,7 +34,9 @@ package org.alfresco.rest.rm.community.model.user;
*/ */
public enum UserPermissions 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; public final String permissionId;

View File

@@ -35,7 +35,12 @@ package org.alfresco.rest.rm.community.model.user;
*/ */
public enum UserRoles 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 roleId;
public final String displayName; public final String displayName;
@@ -46,4 +51,5 @@ public enum UserRoles
this.displayName = displayName; this.displayName = displayName;
} }
} }

View File

@@ -29,12 +29,12 @@ package org.alfresco.rest.rm.community.requests;
import static lombok.AccessLevel.PRIVATE; import static lombok.AccessLevel.PRIVATE;
import static lombok.AccessLevel.PROTECTED; import static lombok.AccessLevel.PROTECTED;
import lombok.Getter;
import lombok.Setter;
import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.requests.ModelRequest; import org.alfresco.rest.requests.ModelRequest;
import lombok.Getter;
import lombok.Setter;
/** /**
* Extends {@link ModelRequest} to set {@link RMRestWrapper} * 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> public abstract class RMModelRequest<Request> extends ModelRequest<Request>
{ {
@Getter(value = PROTECTED) @Getter (value = PROTECTED)
@Setter(value = PRIVATE) @Setter (value = PRIVATE)
private RMRestWrapper rmRestWrapper; private RMRestWrapper rmRestWrapper;
/** /**

View File

@@ -33,8 +33,8 @@ import io.restassured.RestAssured;
import org.alfresco.rest.core.RMRestProperties; import org.alfresco.rest.core.RMRestProperties;
import org.alfresco.rest.core.RMRestWrapper; 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.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.FilePlanAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.FilesAPI; 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.HoldsAPI;
@@ -43,14 +43,15 @@ 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.RecordCategoryAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RecordFolderAPI; 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.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.TransferAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.TransferContainerAPI; 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.UnfiledContainerAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI; import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RetentionScheduleAPI;
/** /**
* 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 * @author Tuna Aksoy
* @since 2.6 * @since 2.6
@@ -60,10 +61,8 @@ public class GSCoreAPI extends RMModelRequest
/** /**
* Constructor * Constructor
* *
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper * @param rmRestProperties RM REST Properties
* @param rmRestProperties
* RM REST Properties
*/ */
public GSCoreAPI(RMRestWrapper rmRestWrapper, RMRestProperties rmRestProperties) public GSCoreAPI(RMRestWrapper rmRestWrapper, RMRestProperties rmRestProperties)
{ {
@@ -81,7 +80,7 @@ public class GSCoreAPI extends RMModelRequest
*/ */
public RMSiteAPI usingRMSite() public RMSiteAPI usingRMSite()
{ {
return new RMSiteAPI(getRmRestWrapper()); return new RMSiteAPI(getRmRestWrapper());
} }
/** /**
@@ -194,10 +193,7 @@ public class GSCoreAPI extends RMModelRequest
return new ActionsExecutionAPI(getRmRestWrapper()); return new ActionsExecutionAPI(getRmRestWrapper());
} }
public HoldsAPI usingHoldsAPI() public HoldsAPI usingHoldsAPI() { return new HoldsAPI(getRmRestWrapper()); }
{
return new HoldsAPI(getRmRestWrapper());
}
public RetentionScheduleAPI usingRetentionScheduleAPI() public RetentionScheduleAPI usingRetentionScheduleAPI()
{ {

View File

@@ -27,13 +27,13 @@
package org.alfresco.rest.rm.community.requests.gscore.api; package org.alfresco.rest.rm.community.requests.gscore.api;
import com.google.common.collect.ImmutableMap; 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.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.rules.ActionsOnRule; import org.alfresco.rest.rm.community.model.rules.ActionsOnRule;
import org.alfresco.rest.rm.community.requests.RMModelRequest; import org.alfresco.rest.rm.community.requests.RMModelRequest;
import org.alfresco.utility.model.RepoTestModel; import org.alfresco.utility.model.RepoTestModel;
import org.json.JSONObject;
/** /**
* Produces processed results from Core Actions API calls * Produces processed results from Core Actions API calls
@@ -44,8 +44,7 @@ import org.alfresco.utility.model.RepoTestModel;
public class ActionsExecutionAPI extends RMModelRequest public class ActionsExecutionAPI extends RMModelRequest
{ {
/** /**
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper
*/ */
public ActionsExecutionAPI(RMRestWrapper rmRestWrapper) 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 * Declares and files a document as record to a record folder using v1 actions api
* *
* @param targetNode * @param targetNode the node on which the action is executed
* the node on which the action is executed * @param destinationPath the path to the record folder
* @param destinationPath
* the path to the record folder
* @throws Exception * @throws Exception
*/ */
public JSONObject declareAndFile(RepoTestModel targetNode, String destinationPath) throws Exception public JSONObject declareAndFile(RepoTestModel targetNode, String destinationPath) throws Exception
{ {
return getRmRestWrapper().withCoreAPI().usingActions() return getRmRestWrapper().withCoreAPI().usingActions()
.executeAction(ActionsOnRule.DECLARE_AS_RECORD.getActionValue(), targetNode, .executeAction(ActionsOnRule.DECLARE_AS_RECORD.getActionValue(), targetNode,
ImmutableMap.of("path", destinationPath)); ImmutableMap.of("path", destinationPath));
} }
/** /**
* Declares a document as record using v1 actions api * Declares a document as record using v1 actions api
* *
* @param targetNode * @param targetNode the node on which the action is executed
* the node on which the action is executed
* @throws Exception * @throws Exception
*/ */
public JSONObject declareAsRecord(RepoTestModel targetNode) throws Exception public JSONObject declareAsRecord(RepoTestModel targetNode) throws Exception
{ {
return getRmRestWrapper().withCoreAPI().usingActions() 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 * Declares and file a document version as record to a record folder using v1 actions api
* *
* @param targetNode * @param targetNode the node on which the action is executed
* the node on which the action is executed * @param destinationPath the path to the record folder
* @param destinationPath
* the path to the record folder
* @throws Exception * @throws Exception
*/ */
public JSONObject declareAndFileVersionAsRecord(RepoTestModel targetNode, String destinationPath) throws Exception public JSONObject declareAndFileVersionAsRecord(RepoTestModel targetNode, String destinationPath) throws Exception
{ {
return getRmRestWrapper().withCoreAPI().usingActions() return getRmRestWrapper().withCoreAPI().usingActions()
.executeAction(ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(), targetNode, .executeAction(ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(), targetNode,
ImmutableMap.of("path", destinationPath)); ImmutableMap.of("path", destinationPath));
} }
/** /**
* Declares a document version as record using v1 actions api * Declares a document version as record using v1 actions api
* *
* @param targetNode * @param targetNode the node on which the action is executed
* the node on which the action is executed
* @throws Exception * @throws Exception
*/ */
public JSONObject declareVersionAsRecord(RepoTestModel targetNode) throws Exception public JSONObject declareVersionAsRecord(RepoTestModel targetNode) throws Exception
{ {
return getRmRestWrapper().withCoreAPI().usingActions() 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 * Add WORM lock to a node using v1 actions api
* *
* @param targetNode * @param targetNode the node on which the action is executed
* the node on which the action is executed
* @throws Exception * @throws Exception
*/ */
@SneakyThrows @SneakyThrows
public JSONObject addWORMLock(RepoTestModel targetNode) public JSONObject addWORMLock(RepoTestModel targetNode)
{ {
return getRmRestWrapper().withCoreAPI().usingActions() 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 * WORM lock a node for a period of days
* *
* @param targetNode * @param targetNode the node on which the action is executed
* the node on which the action is executed * @param retentionPeriod the retention period in days for the WORM lock
* @param retentionPeriod
* the retention period in days for the WORM lock
* @throws Exception * @throws Exception
*/ */
@SneakyThrows @SneakyThrows
public JSONObject addWORMLock(RepoTestModel targetNode, int retentionPeriod) public JSONObject addWORMLock(RepoTestModel targetNode, int retentionPeriod)
{ {
return getRmRestWrapper().withCoreAPI().usingActions() return getRmRestWrapper().withCoreAPI().usingActions()
.executeAction(ActionsOnRule.WORM_LOCK.getActionValue(), targetNode, .executeAction(ActionsOnRule.WORM_LOCK.getActionValue(), targetNode,
ImmutableMap.of("retentionPeriod", String.valueOf(retentionPeriod))); ImmutableMap.of("retentionPeriod", String.valueOf(retentionPeriod)));
} }
} }

View File

@@ -26,16 +26,15 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; 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.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest; 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.mandatoryObject;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString; import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson; 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.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.fileplan.FilePlan; import org.alfresco.rest.rm.community.model.fileplan.FilePlan;
@@ -43,7 +42,6 @@ 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.hold.HoldCollection;
import org.alfresco.rest.rm.community.model.recordcategory.RecordCategory; 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.recordcategory.RecordCategoryCollection;
import org.alfresco.rest.rm.community.model.role.RoleCollection;
import org.alfresco.rest.rm.community.requests.RMModelRequest; import org.alfresco.rest.rm.community.requests.RMModelRequest;
/** /**
@@ -58,8 +56,7 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Constructor. * Constructor.
* *
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper
*/ */
public FilePlanAPI(RMRestWrapper rmRestWrapper) public FilePlanAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -79,19 +76,16 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Gets a file plan. * Gets a file plan.
* *
* @param filePlanId * @param filePlanId The identifier of a file plan
* The identifier of a file plan * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link FilePlan} for the given {@code filePlanId} * @return The {@link FilePlan} for the given {@code filePlanId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code filePlanId} is not a valid format</li>
* <li>{@code filePlanId} is not a valid format</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code filePlanId}</li>
* <li>current user does not have permission to read {@code filePlanId}</li> * <li>{@code filePlanId} does not exist</li>
* <li>{@code filePlanId} does not exist</li> * </ul>
* </ul>
*/ */
public FilePlan getFilePlan(String filePlanId, String parameters) public FilePlan getFilePlan(String filePlanId, String parameters)
{ {
@@ -101,7 +95,8 @@ public class FilePlanAPI extends RMModelRequest
GET, GET,
"/file-plans/{filePlanId}?{parameters}", "/file-plans/{filePlanId}?{parameters}",
filePlanId, filePlanId,
parameters)); parameters
));
} }
/** /**
@@ -117,28 +112,26 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Gets the children (root categories) of a file plan. * Gets the children (root categories) of a file plan.
* *
* @param filePlanId * @param filePlanId The identifier of a file plan
* The identifier of a file plan * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link RecordCategoryCollection} for the given {@code filePlanId} * @return The {@link RecordCategoryCollection} for the given {@code filePlanId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code filePlanId}</li>
* <li>current user does not have permission to read {@code filePlanId}</li> * <li>{@code filePlanId} does not exist</li>
* <li>{@code filePlanId} does not exist</li> *</ul>
* </ul>
*/ */
public RecordCategoryCollection getRootRecordCategories(String filePlanId, String parameters) public RecordCategoryCollection getRootRecordCategories(String filePlanId, String parameters)
{ {
mandatoryString("filePlanId", filePlanId); mandatoryString("filePlanId", filePlanId);
return getRmRestWrapper().processModels(RecordCategoryCollection.class, simpleRequest( return getRmRestWrapper().processModels(RecordCategoryCollection.class, simpleRequest(
GET, GET,
"file-plans/{filePlanId}/categories?{parameters}", "file-plans/{filePlanId}/categories?{parameters}",
filePlanId, filePlanId,
parameters)); parameters
));
} }
/** /**
@@ -155,23 +148,19 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Creates a root record category. * Creates a root record category.
* *
* @param recordCategoryModel * @param recordCategoryModel The record category model which holds the information
* The record category model which holds the information * @param filePlanId The identifier of a file plan
* @param filePlanId * @param parameters The URL parameters to add
* The identifier of a file plan
* @param parameters
* The URL parameters to add
* @return The created {@link RecordCategory} * @return The created {@link RecordCategory}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code filePlanId} is not a valid format or {@code filePlanId} is invalid</li>
* <li>{@code filePlanId} is not a valid format or {@code filePlanId} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to add children to {@code filePlanId}</li>
* <li>current user does not have permission to add children to {@code filePlanId}</li> * <li>{@code filePlanIds} does not exist</li>
* <li>{@code filePlanIds} does not exist</li> * <li>new name clashes with an existing node in the current parent container</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>
* <li>model integrity exception, including node name with invalid characters</li> * </ul>
* </ul>
*/ */
public RecordCategory createRootRecordCategory(RecordCategory recordCategoryModel, String filePlanId, String parameters) public RecordCategory createRootRecordCategory(RecordCategory recordCategoryModel, String filePlanId, String parameters)
{ {
@@ -183,7 +172,8 @@ public class FilePlanAPI extends RMModelRequest
toJson(recordCategoryModel), toJson(recordCategoryModel),
"file-plans/{filePlanId}/categories?{parameters}", "file-plans/{filePlanId}/categories?{parameters}",
filePlanId, filePlanId,
parameters)); parameters
));
} }
/** /**
@@ -200,21 +190,17 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Updates a file plan. * Updates a file plan.
* *
* @param filePlanModel * @param filePlanModel The file plan model which holds the information
* The file plan model which holds the information * @param filePlanId The identifier of the file plan
* @param filePlanId * @param parameters The URL parameters to add
* The identifier of the file plan * @throws RuntimeException for the following cases:
* @param parameters * <ul>
* The URL parameters to add * <li>the update request is invalid or {@code filePlanId} is not a valid format or {@code filePlanModel} is invalid</li>
* @throws RuntimeException * <li>authentication fails</li>
* for the following cases: * <li>current user does not have permission to update {@code filePlanId}</li>
* <ul> * <li>{@code filePlanId} does not exist</li>
* <li>the update request is invalid or {@code filePlanId} is not a valid format or {@code filePlanModel} is invalid</li> * <li>model integrity exception, including file name with invalid characters</li>
* <li>authentication fails</li> * </ul>
* <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) public FilePlan updateFilePlan(FilePlan filePlanModel, String filePlanId, String parameters)
{ {
@@ -232,22 +218,18 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Creates a hold. * Creates a hold.
* *
* @param holdModel * @param holdModel The hold model
* The hold model * @param filePlanId The identifier of a file plan
* @param filePlanId * @param parameters The URL parameters to add
* The identifier of a file plan
* @param parameters
* The URL parameters to add
* @return The created {@link Hold} * @return The created {@link Hold}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code filePlanId} is not a valid format or {@code filePlanId} is invalid</li>
* <li>{@code filePlanId} is not a valid format or {@code filePlanId} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to add children to {@code filePlanId}</li>
* <li>current user does not have permission to add children to {@code filePlanId}</li> * <li>{@code filePlanIds} does not exist</li>
* <li>{@code filePlanIds} does not exist</li> * <li>new name clashes with an existing node in the current parent container</li>
* <li>new name clashes with an existing node in the current parent container</li> * </ul>
* </ul>
*/ */
public Hold createHold(Hold holdModel, String filePlanId, String parameters) public Hold createHold(Hold holdModel, String filePlanId, String parameters)
{ {
@@ -255,11 +237,12 @@ public class FilePlanAPI extends RMModelRequest
mandatoryObject("holdModel", holdModel); mandatoryObject("holdModel", holdModel);
return getRmRestWrapper().processModel(Hold.class, requestWithBody( return getRmRestWrapper().processModel(Hold.class, requestWithBody(
POST, POST,
toJson(holdModel), toJson(holdModel),
"file-plans/{filePlanId}/holds", "file-plans/{filePlanId}/holds",
filePlanId, filePlanId,
parameters)); parameters
));
} }
/** /**
@@ -273,28 +256,26 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Gets the holds of a file plan. * Gets the holds of a file plan.
* *
* @param filePlanId * @param filePlanId The identifier of a file plan
* The identifier of a file plan * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link HoldCollection} for the given {@code filePlanId} * @return The {@link HoldCollection} for the given {@code filePlanId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code filePlanId}</li>
* <li>current user does not have permission to read {@code filePlanId}</li> * <li>{@code filePlanId} does not exist</li>
* <li>{@code filePlanId} does not exist</li> *</ul>
* </ul>
*/ */
public HoldCollection getHolds(String filePlanId, String parameters) public HoldCollection getHolds(String filePlanId, String parameters)
{ {
mandatoryString("filePlanId", filePlanId); mandatoryString("filePlanId", filePlanId);
return getRmRestWrapper().processModels(HoldCollection.class, simpleRequest( return getRmRestWrapper().processModels(HoldCollection.class, simpleRequest(
GET, GET,
"file-plans/{filePlanId}/holds?{parameters}", "file-plans/{filePlanId}/holds?{parameters}",
filePlanId, filePlanId,
parameters)); parameters
));
} }
/** /**
@@ -304,39 +285,4 @@ public class FilePlanAPI extends RMModelRequest
{ {
return getHolds(filePlanId, EMPTY); 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);
}
} }

View File

@@ -26,10 +26,9 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; 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.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString; 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.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.record.Record; 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"; public static final String PARENT_ID_PARAM = "parentId";
/** /**
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper
*/ */
public FilesAPI(RMRestWrapper rmRestWrapper) public FilesAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -57,20 +55,20 @@ public class FilesAPI extends RMModelRequest<FilesAPI>
/** /**
* Declare file as record * Declare file as record
* *
* @param fileId * @param fileId The Id of a file to declare as record
* The Id of a file to declare as record
* @return The {@link Record} for created record * @return The {@link Record} for created record
* @throws RuntimeException * @throws RuntimeException for malformed JSON responses
* for malformed JSON responses
*/ */
public Record declareAsRecord(String fileId) public Record declareAsRecord(String fileId)
{ {
mandatoryString("fileId", fileId); mandatoryString("fileId", fileId);
return getRmRestWrapper().processModel(Record.class, simpleRequest( return getRmRestWrapper().processModel(Record.class, simpleRequest(
POST, POST,
"/files/{fileId}/declare?{parameters}", "/files/{fileId}/declare?{parameters}",
fileId, fileId,
getRmRestWrapper().getParameters())); getRmRestWrapper().getParameters()
));
} }
} }

View File

@@ -26,17 +26,16 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; 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.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest; 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.mandatoryObject;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString; import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson; import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.DELETE;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT;
import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.hold.BulkBodyCancel; import org.alfresco.rest.rm.community.model.hold.BulkBodyCancel;
@@ -69,29 +68,27 @@ public class HoldsAPI extends RMModelRequest
/** /**
* Gets a hold. * Gets a hold.
* *
* @param holdId * @param holdId The identifier of a hold
* The identifier of a hold * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link Hold} for the given {@code holdId} * @return The {@link Hold} for the given {@code holdId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code holdId} is not a valid format</li>
* <li>{@code holdId} is not a valid format</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code holdId}</li>
* <li>current user does not have permission to read {@code holdId}</li> * <li>{@code holdId} does not exist</li>
* <li>{@code holdId} does not exist</li> * </ul>
* </ul>
*/ */
public Hold getHold(String holdId, String parameters) public Hold getHold(String holdId, String parameters)
{ {
mandatoryString("holdId", holdId); mandatoryString("holdId", holdId);
return getRmRestWrapper().processModel(Hold.class, simpleRequest( return getRmRestWrapper().processModel(Hold.class, simpleRequest(
GET, GET,
"holds/{holdId}?{parameters}", "holds/{holdId}?{parameters}",
holdId, holdId,
parameters)); parameters
));
} }
/** /**
@@ -107,20 +104,16 @@ public class HoldsAPI extends RMModelRequest
/** /**
* Updates a hold. * Updates a hold.
* *
* @param holdModel * @param holdModel The hold model which holds the information
* The hold model which holds the information * @param holdId The identifier of the hold
* @param holdId * @param parameters The URL parameters to add
* The identifier of the hold * @throws RuntimeException for the following cases:
* @param parameters * <ul>
* The URL parameters to add * <li>the update request is invalid or {@code holdId} is not a valid format or {@code holdModel} is invalid</li>
* @throws RuntimeException * <li>authentication fails</li>
* for the following cases: * <li>current user does not have permission to update {@code holdId}</li>
* <ul> * <li>{@code holdId} does not exist</li>
* <li>the update request is invalid or {@code holdId} is not a valid format or {@code holdModel} is invalid</li> * </ul>
* <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) public Hold updateHold(Hold holdModel, String holdId, String parameters)
{ {
@@ -128,11 +121,12 @@ public class HoldsAPI extends RMModelRequest
mandatoryString("holdId", holdId); mandatoryString("holdId", holdId);
return getRmRestWrapper().processModel(Hold.class, requestWithBody( return getRmRestWrapper().processModel(Hold.class, requestWithBody(
PUT, PUT,
toJson(holdModel), toJson(holdModel),
"holds/{holdId}?{parameters}", "holds/{holdId}?{parameters}",
holdId, holdId,
parameters)); parameters
));
} }
/** /**
@@ -149,42 +143,38 @@ public class HoldsAPI extends RMModelRequest
/** /**
* Deletes a hold. * Deletes a hold.
* *
* @param holdId * @param holdId The identifier of a hold
* The identifier of a hold * @throws RuntimeException for the following cases:
* @throws RuntimeException * <ul>
* for the following cases: * <li>{@code holdId} is not a valid format</li>
* <ul> * <li>authentication fails</li>
* <li>{@code holdId} is not a valid format</li> * <li>current user does not have permission to delete {@code holdId}</li>
* <li>authentication fails</li> * <li>{@code holdId} does not exist</li>
* <li>current user does not have permission to delete {@code holdId}</li> * </ul>
* <li>{@code holdId} does not exist</li>
* </ul>
*/ */
public void deleteHold(String holdId) public void deleteHold(String holdId)
{ {
mandatoryString("holdId", holdId); mandatoryString("holdId", holdId);
getRmRestWrapper().processEmptyModel(simpleRequest( getRmRestWrapper().processEmptyModel(simpleRequest(
DELETE, DELETE,
"holds/{holdId}", "holds/{holdId}",
holdId)); holdId
));
} }
/** /**
* Deletes a hold and stores a reason for deletion in the audit log. * Deletes a hold and stores a reason for deletion in the audit log.
* *
* @param reason * @param reason The reason for hold deletion
* The reason for hold deletion * @param holdId The identifier of a hold
* @param holdId * @throws RuntimeException for the following cases:
* The identifier of a hold * <ul>
* @throws RuntimeException * <li>{@code holdId} is not a valid format or {@code reason} is invalid</li>
* for the following cases: * <li>authentication fails</li>
* <ul> * <li>current user does not have permission to delete {@code holdId}</li>
* <li>{@code holdId} is not a valid format or {@code reason} is invalid</li> * <li>{@code holdId} does not exist</li>
* <li>authentication fails</li> * </ul>
* <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) public HoldDeletionReason deleteHoldWithReason(HoldDeletionReason reason, String holdId)
{ {
@@ -192,41 +182,38 @@ public class HoldsAPI extends RMModelRequest
mandatoryString("holdId", holdId); mandatoryString("holdId", holdId);
return getRmRestWrapper().processModel(HoldDeletionReason.class, requestWithBody( return getRmRestWrapper().processModel(HoldDeletionReason.class, requestWithBody(
POST, POST,
toJson(reason), toJson(reason),
"holds/{holdId}/delete", "holds/{holdId}/delete",
holdId)); holdId
));
} }
/** /**
* Adds the relationship between a child and a parent hold. * Adds the relationship between a child and a parent hold.
* *
* @param holdChild * @param holdChild The hold child model
* The hold child model * @param holdId The identifier of a hold
* @param holdId * @param parameters The URL parameters to add
* The identifier of a hold
* @param parameters
* The URL parameters to add
* @return The created {@link Hold} * @return The created {@link Hold}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code holdId} is not a valid format or {@code holdId} is invalid</li>
* <li>{@code holdId} is not a valid format or {@code holdId} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to add children to {@code holdId}</li>
* <li>current user does not have permission to add children to {@code holdId}</li> * <li>{@code holdId} does not exist</li>
* <li>{@code holdId} does not exist</li> * </ul>
* </ul>
*/ */
public HoldChild addChildToHold(HoldChild holdChild, String holdId, String parameters) public HoldChild addChildToHold(HoldChild holdChild, String holdId, String parameters)
{ {
mandatoryObject("holdId", holdId); mandatoryObject("holdId", holdId);
return getRmRestWrapper().processModel(HoldChild.class, requestWithBody( return getRmRestWrapper().processModel(HoldChild.class, requestWithBody(
POST, POST,
toJson(holdChild), toJson(holdChild),
"holds/{holdId}/children", "holds/{holdId}/children",
holdId, holdId,
parameters)); parameters));
} }
/** /**
@@ -240,28 +227,26 @@ public class HoldsAPI extends RMModelRequest
/** /**
* Gets the children of a hold. * Gets the children of a hold.
* *
* @param holdId * @param holdId The identifier of a hold
* The identifier of a hold * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link HoldChildCollection} for the given {@code holdId} * @return The {@link HoldChildCollection} for the given {@code holdId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code holdId}</li>
* <li>current user does not have permission to read {@code holdId}</li> * <li>{@code holdId} does not exist</li>
* <li>{@code holdId} does not exist</li> *</ul>
* </ul>
*/ */
public HoldChildCollection getChildren(String holdId, String parameters) public HoldChildCollection getChildren(String holdId, String parameters)
{ {
mandatoryString("holdId", holdId); mandatoryString("holdId", holdId);
return getRmRestWrapper().processModels(HoldChildCollection.class, simpleRequest( return getRmRestWrapper().processModels(HoldChildCollection.class, simpleRequest(
GET, GET,
"holds/{holdId}/children", "holds/{holdId}/children",
holdId, holdId,
parameters)); parameters
));
} }
/** /**
@@ -275,20 +260,16 @@ public class HoldsAPI extends RMModelRequest
/** /**
* Deletes the relationship between a child and a parent hold. * Deletes the relationship between a child and a parent hold.
* *
* @param holdChildId * @param holdChildId The identifier of hold child
* The identifier of hold child * @param holdId The identifier of a hold
* @param holdId * @param parameters The URL parameters to add
* The identifier of a hold * @throws RuntimeException for the following cases:
* @param parameters * <ul>
* The URL parameters to add * <li>{@code holdId} or {@code holdChildId} is invalid</li>
* @throws RuntimeException * <li>authentication fails</li>
* for the following cases: * <li>current user does not have permission to delete children from {@code holdId}</li>
* <ul> * <li>{@code holdId} does not exist</li>
* <li>{@code holdId} or {@code holdChildId} is invalid</li> * </ul>
* <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) public void deleteHoldChild(String holdId, String holdChildId, String parameters)
{ {
@@ -296,11 +277,12 @@ public class HoldsAPI extends RMModelRequest
mandatoryString("holdChildId", holdChildId); mandatoryString("holdChildId", holdChildId);
getRmRestWrapper().processEmptyModel(simpleRequest( getRmRestWrapper().processEmptyModel(simpleRequest(
DELETE, DELETE,
"holds/{holdId}/children/{holdChildId}", "holds/{holdId}/children/{holdChildId}",
holdId, holdId,
holdChildId, holdChildId,
parameters)); parameters
));
} }
/** /**
@@ -314,21 +296,17 @@ public class HoldsAPI extends RMModelRequest
/** /**
* Starts a bulk process for a hold. * Starts a bulk process for a hold.
* *
* @param holdBulkOperation * @param holdBulkOperation The bulk operation details
* The bulk operation details * @param hold The identifier of a hold
* @param hold * @param parameters The URL parameters to add
* The identifier of a hold
* @param parameters
* The URL parameters to add
* @return The {@link HoldBulkOperationEntry} for the started bulk process * @return The {@link HoldBulkOperationEntry} for the started bulk process
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code hold} or {@code holdBulkOperation} is invalid</li>
* <li>{@code hold} or {@code holdBulkOperation} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to start a bulk process for {@code hold}</li>
* <li>current user does not have permission to start a bulk process for {@code hold}</li> * <li>{@code hold} does not exist</li>
* <li>{@code hold} does not exist</li> * </ul>
* </ul>
*/ */
public HoldBulkOperationEntry startBulkProcess(HoldBulkOperation holdBulkOperation, String hold, String parameters) public HoldBulkOperationEntry startBulkProcess(HoldBulkOperation holdBulkOperation, String hold, String parameters)
{ {
@@ -336,11 +314,12 @@ public class HoldsAPI extends RMModelRequest
mandatoryString("hold", hold); mandatoryString("hold", hold);
return getRmRestWrapper().processModel(HoldBulkOperationEntry.class, requestWithBody( return getRmRestWrapper().processModel(HoldBulkOperationEntry.class, requestWithBody(
POST, POST,
toJson(holdBulkOperation), toJson(holdBulkOperation),
"holds/{hold}/bulk", "holds/{hold}/bulk",
hold, hold,
parameters)); parameters
));
} }
/** /**
@@ -354,21 +333,17 @@ public class HoldsAPI extends RMModelRequest
/** /**
* Gets the status of a bulk process for a hold. * Gets the status of a bulk process for a hold.
* *
* @param holdId * @param holdId The identifier of a hold
* The identifier of a hold * @param holdBulkStatusId The identifier of a bulk status operation
* @param holdBulkStatusId * @param parameters The URL parameters to add
* 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} * @return The {@link HoldBulkStatus} for the given {@code holdId} and {@code holdBulkStatusId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code holdId} or {@code holdBulkStatusId} is invalid</li>
* <li>{@code holdId} or {@code holdBulkStatusId} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to get the bulk status for {@code holdId}</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>
* <li>{@code holdId} or {@code holdBulkStatusId} does not exist</li> * </ul>
* </ul>
*/ */
public HoldBulkStatus getBulkStatus(String holdId, String holdBulkStatusId, String parameters) public HoldBulkStatus getBulkStatus(String holdId, String holdBulkStatusId, String parameters)
{ {
@@ -376,11 +351,12 @@ public class HoldsAPI extends RMModelRequest
mandatoryString("holdBulkStatusId", holdBulkStatusId); mandatoryString("holdBulkStatusId", holdBulkStatusId);
return getRmRestWrapper().processModel(HoldBulkStatus.class, simpleRequest( return getRmRestWrapper().processModel(HoldBulkStatus.class, simpleRequest(
GET, GET,
"holds/{holdId}/bulk-statuses/{holdBulkStatusId}", "holds/{holdId}/bulk-statuses/{holdBulkStatusId}",
holdId, holdId,
holdBulkStatusId, holdBulkStatusId,
parameters)); parameters
));
} }
/** /**
@@ -394,29 +370,27 @@ public class HoldsAPI extends RMModelRequest
/** /**
* Gets the statuses of all bulk processes for a hold. * Gets the statuses of all bulk processes for a hold.
* *
* @param holdId * @param holdId The identifier of a hold
* The identifier of a hold * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link HoldBulkStatusCollection} for the given {@code holdId} * @return The {@link HoldBulkStatusCollection} for the given {@code holdId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code holdId} is invalid</li>
* <li>{@code holdId} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to get the bulk statuses for {@code holdId}</li>
* <li>current user does not have permission to get the bulk statuses for {@code holdId}</li> * <li>{@code holdId} does not exist</li>
* <li>{@code holdId} does not exist</li> * </ul>
* </ul>
*/ */
public HoldBulkStatusCollection getBulkStatuses(String holdId, String parameters) public HoldBulkStatusCollection getBulkStatuses(String holdId, String parameters)
{ {
mandatoryString("holdId", holdId); mandatoryString("holdId", holdId);
return getRmRestWrapper().processModels(HoldBulkStatusCollection.class, simpleRequest( return getRmRestWrapper().processModels(HoldBulkStatusCollection.class, simpleRequest(
GET, GET,
"holds/{holdId}/bulk-statuses", "holds/{holdId}/bulk-statuses",
holdId, holdId,
parameters)); parameters
));
} }
/** /**
@@ -430,22 +404,17 @@ public class HoldsAPI extends RMModelRequest
/** /**
* Cancels a bulk operation for a hold. * Cancels a bulk operation for a hold.
* *
* @param holdId * @param holdId The identifier of a hold
* The identifier of a hold * @param bulkStatusId The identifier of a bulk status operation
* @param bulkStatusId * @param bulkBodyCancel The bulk body cancel model
* The identifier of a bulk status operation * @param parameters The URL parameters to add
* @param bulkBodyCancel * @throws RuntimeException for the following cases:
* The bulk body cancel model * <ul>
* @param parameters * <li>{@code holdId}, {@code bulkStatusId} or {@code bulkBodyCancel} is invalid</li>
* The URL parameters to add * <li>authentication fails</li>
* @throws RuntimeException * <li>current user does not have permission to cancel the bulk operation for {@code bulkStatusId}</li>
* for the following cases: * <li>{@code holdId} or {@code bulkStatusId} does not exist</li>
* <ul> * </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) public void cancelBulkOperation(String holdId, String bulkStatusId, BulkBodyCancel bulkBodyCancel, String parameters)
{ {
@@ -454,12 +423,13 @@ public class HoldsAPI extends RMModelRequest
mandatoryObject("bulkBodyCancel", bulkBodyCancel); mandatoryObject("bulkBodyCancel", bulkBodyCancel);
getRmRestWrapper().processEmptyModel(requestWithBody( getRmRestWrapper().processEmptyModel(requestWithBody(
POST, POST,
toJson(bulkBodyCancel), toJson(bulkBodyCancel),
"holds/{holdId}/bulk-statuses/{bulkStatusId}/cancel", "holds/{holdId}/bulk-statuses/{bulkStatusId}/cancel",
holdId, holdId,
bulkStatusId, bulkStatusId,
parameters)); parameters
));
} }
/** /**

View File

@@ -26,17 +26,16 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; 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.DELETE;
import static org.springframework.http.HttpMethod.GET; import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST; import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT; import static org.springframework.http.HttpMethod.PUT;
import static org.springframework.http.HttpStatus.OK; 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.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.site.RMSite; import org.alfresco.rest.rm.community.model.site.RMSite;
import org.alfresco.rest.rm.community.requests.RMModelRequest; import org.alfresco.rest.rm.community.requests.RMModelRequest;
@@ -52,8 +51,7 @@ public class RMSiteAPI extends RMModelRequest
/** /**
* Constructor * Constructor
* *
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper
*/ */
public RMSiteAPI(RMRestWrapper rmRestWrapper) public RMSiteAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -64,35 +62,34 @@ public class RMSiteAPI extends RMModelRequest
* Get the RM site * Get the RM site
* *
* @return The {@link RMSite} for the given file plan component id * @return The {@link RMSite} for the given file plan component id
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>Api Response code 400 Invalid parameter: GET request is supported only for the RM site</li>
* <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 401 If authentication failed</li> * <li>Api Response code 409 If RM Site does not exist</li>
* <li>Api Response code 409 If RM Site does not exist</li> * <li>Api Response code default Unexpected error</li>
* <li>Api Response code default Unexpected error</li> * </ul>
* </ul>
*/ */
public RMSite getSite() public RMSite getSite()
{ {
return getRmRestWrapper().processModel(RMSite.class, simpleRequest( return getRmRestWrapper().processModel(RMSite.class, simpleRequest(
GET, GET,
"gs-sites/rm")); "gs-sites/rm"
));
} }
/** /**
* Create the RM site * Create the RM site
* *
* @param rmSiteModel * @param rmSiteModel The properties of the rm site to be created
* The properties of the rm site to be created
* @return The {@link RMSite} with the given properties * @return The {@link RMSite} with the given properties
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>Api Response code 400 Invalid parameter: title, or description exceed the maximum length; or siteBodyCreate invalid</li>
* <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 401 If authentication failed</<li>Api Response code 409 RM Site already exists</li> * <li>Api Response code 409 RM Site already exists</li>
* <li>Api Response code default Unexpected error</li> * <li>Api Response code default Unexpected error</li>
* </ul> * </ul>
*/ */
public RMSite createRMSite(RMSite rmSiteModel) public RMSite createRMSite(RMSite rmSiteModel)
{ {
@@ -101,43 +98,42 @@ public class RMSiteAPI extends RMModelRequest
return getRmRestWrapper().processModel(RMSite.class, requestWithBody( return getRmRestWrapper().processModel(RMSite.class, requestWithBody(
POST, POST,
toJson(rmSiteModel), toJson(rmSiteModel),
"gs-sites")); "gs-sites"
));
} }
/** /**
* Delete RM site * Delete RM site
* * @throws RuntimeException for the following cases:
* @throws RuntimeException * <ul>
* for the following cases: * <li>Api Response code 400 Invalid parameter: DELETE request is supported only for the RM site</li>
* <ul> * <li>Api Response code 401 If authentication failed</
* <li>Api Response code 400 Invalid parameter: DELETE request is supported only for the RM site</li> * <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 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 404 RM site does not exist</li> * <li>Api Response code default Unexpected error</li>
* <li>Api Response code default Unexpected error</li> * </ul>
* </ul>
*/ */
public void deleteRMSite() public void deleteRMSite()
{ {
getRmRestWrapper().processEmptyModel(simpleRequest( getRmRestWrapper().processEmptyModel(simpleRequest(
DELETE, DELETE,
"gs-sites/rm")); "gs-sites/rm"
));
} }
/** /**
* Update RM site * Update RM site
* *
* @param rmSiteModel * @param rmSiteModel The properties to be updated
* The properties to be updated
* @return The updated {@link RMSite} * @return The updated {@link RMSite}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>Api Response code 400 the update request is invalid {@code rmSiteModel} is invalid</li>
* <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 401 If authentication fails</li> * <li>Api Response code 403 does not have permission to update {@code RMSite}</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 404 {@code RMSiteModel} does not exist</li> * <li>Api Response code default Unexpected error,model integrity exception</li>
* <li>Api Response code default Unexpected error,model integrity exception</li> * </ul>
* </ul>
*/ */
public RMSite updateRMSite(RMSite rmSiteModel) public RMSite updateRMSite(RMSite rmSiteModel)
{ {
@@ -146,21 +142,21 @@ public class RMSiteAPI extends RMModelRequest
return getRmRestWrapper().processModel(RMSite.class, requestWithBody( return getRmRestWrapper().processModel(RMSite.class, requestWithBody(
PUT, PUT,
toJson(rmSiteModel), toJson(rmSiteModel),
"gs-sites/rm")); "gs-sites/rm"
));
} }
/** /**
* Checks if the RM site exists or not * Checks if the RM site exists or not
* *
* @return <code>true</code> if the RM site exists, <code>false</code> otherwise * @return <code>true</code> if the RM site exists, <code>false</code> otherwise
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>Api Response code 400 Invalid parameter: GET request is supported only for the RM site</li>
* <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 401 If authentication failed</li> * <li>Api Response code 409 If RM Site does not exist</li>
* <li>Api Response code 409 If RM Site does not exist</li> * <li>Api Response code default Unexpected error</li>
* <li>Api Response code default Unexpected error</li> * </ul>
* </ul>
*/ */
public boolean existsRMSite() public boolean existsRMSite()
{ {

View File

@@ -26,16 +26,17 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; package org.alfresco.rest.rm.community.requests.gscore.api;
import static io.restassured.RestAssured.basic;
import static io.restassured.RestAssured.given;
import static org.jglue.fluentjson.JsonBuilderFactory.buildObject; import static org.jglue.fluentjson.JsonBuilderFactory.buildObject;
import static org.springframework.http.HttpStatus.OK; import static org.springframework.http.HttpStatus.OK;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import io.restassured.builder.RequestSpecBuilder; import io.restassured.builder.RequestSpecBuilder;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
import io.restassured.response.Response; import io.restassured.response.Response;
import io.restassured.specification.RequestSpecification; import io.restassured.specification.RequestSpecification;
import static io.restassured.RestAssured.basic;
import static io.restassured.RestAssured.given;
import org.alfresco.dataprep.AlfrescoHttpClient; import org.alfresco.dataprep.AlfrescoHttpClient;
import org.alfresco.dataprep.AlfrescoHttpClientFactory; import org.alfresco.dataprep.AlfrescoHttpClientFactory;
@@ -58,8 +59,7 @@ import org.alfresco.utility.model.UserModel;
public class RMUserAPI extends RMModelRequest public class RMUserAPI extends RMModelRequest
{ {
/** /**
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper
*/ */
public RMUserAPI(RMRestWrapper rmRestWrapper) public RMUserAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -68,7 +68,6 @@ public class RMUserAPI extends RMModelRequest
/** /**
* Helper method to obtain {@link AlfrescoHttpClient} * Helper method to obtain {@link AlfrescoHttpClient}
*
* @return Initialized {@link AlfrescoHttpClient} instance * @return Initialized {@link AlfrescoHttpClient} instance
*/ */
private AlfrescoHttpClient getAlfrescoHttpClient() private AlfrescoHttpClient getAlfrescoHttpClient()
@@ -86,12 +85,9 @@ public class RMUserAPI extends RMModelRequest
/** /**
* Assign RM role to user * Assign RM role to user
* *
* @param userName * @param userName User's username
* User's username * @param userRole User's RM role, one of {@link UserRoles} roles
* @param userRole * @throws RuntimeException for failed requests
* User's RM role, one of {@link UserRoles} roles
* @throws RuntimeException
* for failed requests
*/ */
public void assignRoleToUser(String userName, String userRole) public void assignRoleToUser(String userName, String userRole)
{ {
@@ -122,13 +118,9 @@ public class RMUserAPI extends RMModelRequest
/** /**
* Helper method to add permission on a component to user * Helper method to add permission on a component to user
* * @param filePlanComponentId The id of the file plan component on which permission should be given
* @param filePlanComponentId * @param user {@link UserModel} for a user to be granted permission
* The id of the file plan component on which permission should be given * @param permission {@link UserPermissions} to be granted
* @param user
* {@link UserModel} for a user to be granted permission
* @param permission
* {@link UserPermissions} to be granted
*/ */
public void addUserPermission(String filePlanComponentId, UserModel user, UserPermissions permission) public void addUserPermission(String filePlanComponentId, UserModel user, UserPermissions permission)
{ {
@@ -169,10 +161,9 @@ public class RMUserAPI extends RMModelRequest
/** /**
* Helper method to set permission inheritance on a file plan component * Helper method to set permission inheritance on a file plan component
* *
* @param filePlanComponentId * @param filePlanComponentId The id of the file plan component on which inherited permission should be set
* The id of the file plan component on which inherited permission should be set * @param isInherited true if the permission is inherited
* @param isInherited * false if the permission inheritance is disabled
* true if the permission is inherited false if the permission inheritance is disabled
*/ */
public void setUserPermissionInheritance(String filePlanComponentId, Boolean isInherited) public void setUserPermissionInheritance(String filePlanComponentId, Boolean isInherited)
{ {
@@ -208,15 +199,13 @@ public class RMUserAPI extends RMModelRequest
getRmRestWrapper().setStatusCode(Integer.toString(response.getStatusCode())); getRmRestWrapper().setStatusCode(Integer.toString(response.getStatusCode()));
} }
/** /**
* Creates a user with the given name using the old APIs * Creates a user with the given name using the old APIs
* *
* @param userName * @param userName The user name
* The user name * @param userPassword The user's password
* @param userPassword * @param userEmail The user's e-mail address
* The user's password
* @param userEmail
* The user's e-mail address
* @return <code>true</code> if the user was created successfully, <code>false</code> otherwise. * @return <code>true</code> if the user was created successfully, <code>false</code> otherwise.
*/ */
public boolean createUser(String userName, String userPassword, String userEmail) public boolean createUser(String userName, String userPassword, String userEmail)
@@ -225,29 +214,29 @@ public class RMUserAPI extends RMModelRequest
final AlfrescoHttpClient client = getAlfrescoHttpClient(); final AlfrescoHttpClient client = getAlfrescoHttpClient();
JsonObject body = buildObject() JsonObject body = buildObject()
.add("userName", userName) .add("userName", userName)
.add("firstName", userName) .add("firstName", userName)
.add("lastName", userName) .add("lastName", userName)
.add("password", userPassword) .add("password", userPassword)
.add("email", userEmail) .add("email", userEmail)
.getJson(); .getJson();
final RequestSpecification spec = new RequestSpecBuilder() final RequestSpecification spec = new RequestSpecBuilder()
.setBaseUri(client.getApiUrl()) .setBaseUri(client.getApiUrl())
.setBasePath("/") .setBasePath("/")
.setAuth(basic(adminUser.getUsername(), adminUser.getPassword())) .setAuth(basic(adminUser.getUsername(), adminUser.getPassword()))
.setContentType(ContentType.JSON) .setContentType(ContentType.JSON)
.setBody(body.toString()) .setBody(body.toString())
.build(); .build();
// create POST request to "people" endpoint // create POST request to "people" endpoint
Response response = given() Response response = given()
.spec(spec) .spec(spec)
.log().all() .log().all()
.when() .when()
.post("people") .post("people")
.prettyPeek() .prettyPeek()
.andReturn(); .andReturn();
return (response.getStatusCode() == OK.value()); return (response.getStatusCode() == OK.value());
} }

View File

@@ -26,17 +26,16 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; 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.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest; 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.mandatoryObject;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString; import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson; import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.DELETE;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT;
import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.recordcategory.RecordCategory; import org.alfresco.rest.rm.community.model.recordcategory.RecordCategory;
@@ -55,8 +54,7 @@ public class RecordCategoryAPI extends RMModelRequest
/** /**
* Constructor. * Constructor.
* *
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper
*/ */
public RecordCategoryAPI(RMRestWrapper rmRestWrapper) public RecordCategoryAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -66,17 +64,15 @@ public class RecordCategoryAPI extends RMModelRequest
/** /**
* Deletes a record category. * Deletes a record category.
* *
* @param recordCategoryId * @param recordCategoryId The identifier of a record category
* The identifier of a record category * @throws RuntimeException for the following cases:
* @throws RuntimeException * <ul>
* for the following cases: * <li>{@code recordCategoryId} is not a valid format</li>
* <ul> * <li>authentication fails</li>
* <li>{@code recordCategoryId} is not a valid format</li> * <li>current user does not have permission to delete {@code recordCategoryId}</li>
* <li>authentication fails</li> * <li>{@code recordCategoryId} does not exist</li>
* <li>current user does not have permission to delete {@code recordCategoryId}</li> * <li>{@code recordCategoryId} is locked and cannot be deleted</li>
* <li>{@code recordCategoryId} does not exist</li> * </ul>
* <li>{@code recordCategoryId} is locked and cannot be deleted</li>
* </ul>
*/ */
public void deleteRecordCategory(String recordCategoryId) public void deleteRecordCategory(String recordCategoryId)
{ {
@@ -85,7 +81,8 @@ public class RecordCategoryAPI extends RMModelRequest
getRmRestWrapper().processEmptyModel(simpleRequest( getRmRestWrapper().processEmptyModel(simpleRequest(
DELETE, DELETE,
"record-categories/{recordCategoryId}", "record-categories/{recordCategoryId}",
recordCategoryId)); recordCategoryId
));
} }
/** /**
@@ -101,19 +98,16 @@ public class RecordCategoryAPI extends RMModelRequest
/** /**
* Gets a record category. * Gets a record category.
* *
* @param recordCategoryId * @param recordCategoryId The identifier of a record category
* The identifier of a record category * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link RecordCategory} for the given {@code recordCategoryId} * @return The {@link RecordCategory} for the given {@code recordCategoryId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code recordCategoryId} is not a valid format</li>
* <li>{@code recordCategoryId} is not a valid format</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code recordCategoryId}</li>
* <li>current user does not have permission to read {@code recordCategoryId}</li> * <li>{@code recordCategoryId} does not exist</li>
* <li>{@code recordCategoryId} does not exist</li> * </ul>
* </ul>
*/ */
public RecordCategory getRecordCategory(String recordCategoryId, String parameters) public RecordCategory getRecordCategory(String recordCategoryId, String parameters)
{ {
@@ -123,7 +117,8 @@ public class RecordCategoryAPI extends RMModelRequest
GET, GET,
"record-categories/{recordCategoryId}?{parameters}", "record-categories/{recordCategoryId}?{parameters}",
recordCategoryId, recordCategoryId,
parameters)); parameters
));
} }
/** /**
@@ -140,24 +135,19 @@ public class RecordCategoryAPI extends RMModelRequest
/** /**
* Updates a record category. * Updates a record category.
* *
* @param recordCategoryModel * @param recordCategoryModel The record category model which holds the information
* The record category model which holds the information * @param recordCategoryId The identifier of a record category
* @param recordCategoryId * @param parameters The URL parameters to add
* The identifier of a record category * @param returns The updated {@link RecordCategory}
* @param parameters * @throws RuntimeException for the following cases:
* The URL parameters to add * <ul>
* @param returns * <li>the update request is invalid or {@code recordCategoryId} is not a valid format or {@code recordCategoryModel} is invalid</li>
* The updated {@link RecordCategory} * <li>authentication fails</li>
* @throws RuntimeException * <li>current user does not have permission to update {@code recordCategoryId}</li>
* for the following cases: * <li>{@code recordCategoryId} does not exist</li>
* <ul> * <li>the updated name clashes with an existing record category in the current parent category</li>
* <li>the update request is invalid or {@code recordCategoryId} is not a valid format or {@code recordCategoryModel} is invalid</li> * <li>model integrity exception, including file name with invalid characters</li>
* <li>authentication fails</li> * </ul>
* <li>current user does not have permission to update {@code recordCategoryId}</li>
* <li>{@code recordCategoryId} does not exist</li>
* <li>the updated name clashes with an existing record category in the current parent category</li>
* <li>model integrity exception, including file name with invalid characters</li>
* </ul>
*/ */
public RecordCategory updateRecordCategory(RecordCategory recordCategoryModel, String recordCategoryId, String parameters) public RecordCategory updateRecordCategory(RecordCategory recordCategoryModel, String recordCategoryId, String parameters)
{ {
@@ -169,7 +159,8 @@ public class RecordCategoryAPI extends RMModelRequest
toJson(recordCategoryModel), toJson(recordCategoryModel),
"record-categories/{recordCategoryId}?{parameters}", "record-categories/{recordCategoryId}?{parameters}",
recordCategoryId, recordCategoryId,
parameters)); parameters
));
} }
/** /**
@@ -185,28 +176,26 @@ public class RecordCategoryAPI extends RMModelRequest
/** /**
* Gets the children of a record category. * Gets the children of a record category.
* *
* @param recordCategoryId * @param recordCategoryId The identifier of a record category
* The identifier of a record category * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link RecordCategoryChildCollection} for the given {@code recordCategoryId} * @return The {@link RecordCategoryChildCollection} for the given {@code recordCategoryId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code recordCategoryId}</li>
* <li>current user does not have permission to read {@code recordCategoryId}</li> * <li>{@code recordCategoryId} does not exist</li>
* <li>{@code recordCategoryId} does not exist</li> *</ul>
* </ul>
*/ */
public RecordCategoryChildCollection getRecordCategoryChildren(String recordCategoryId, String parameters) public RecordCategoryChildCollection getRecordCategoryChildren(String recordCategoryId, String parameters)
{ {
mandatoryString("recordCategoryId", recordCategoryId); mandatoryString("recordCategoryId", recordCategoryId);
return getRmRestWrapper().processModels(RecordCategoryChildCollection.class, simpleRequest( return getRmRestWrapper().processModels(RecordCategoryChildCollection.class, simpleRequest(
GET, GET,
"record-categories/{recordCategoryId}/children?{parameters}", "record-categories/{recordCategoryId}/children?{parameters}",
recordCategoryId, recordCategoryId,
parameters)); parameters
));
} }
/** /**
@@ -223,23 +212,19 @@ public class RecordCategoryAPI extends RMModelRequest
/** /**
* Creates a record category child. Can be a record category or a record folder. * Creates a record category child. Can be a record category or a record folder.
* *
* @param recordCategoryChildModel * @param recordCategoryChildModel The record category child model which holds the information
* The record category child model which holds the information * @param recordCategoryId The identifier of a record category
* @param recordCategoryId * @param parameters The URL parameters to add
* The identifier of a record category
* @param parameters
* The URL parameters to add
* @return The created {@link RecordCategoryChild} * @return The created {@link RecordCategoryChild}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code recordCategoryId} is not a valid format or {@code recordCategoryChildModel} is invalid</li>
* <li>{@code recordCategoryId} is not a valid format or {@code recordCategoryChildModel} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to add children to {@code recordCategoryId}</li>
* <li>current user does not have permission to add children to {@code recordCategoryId}</li> * <li>{@code recordCategoryId} does not exist</li>
* <li>{@code recordCategoryId} does not exist</li> * <li>new name clashes with an existing node in the current parent container</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>
* <li>model integrity exception, including node name with invalid characters</li> * </ul>
* </ul>
*/ */
public RecordCategoryChild createRecordCategoryChild(RecordCategoryChild recordCategoryChildModel, String recordCategoryId, String parameters) public RecordCategoryChild createRecordCategoryChild(RecordCategoryChild recordCategoryChildModel, String recordCategoryId, String parameters)
{ {
@@ -251,6 +236,7 @@ public class RecordCategoryAPI extends RMModelRequest
toJson(recordCategoryChildModel), toJson(recordCategoryChildModel),
"record-categories/{recordCategoryId}/children?{parameters}", "record-categories/{recordCategoryId}/children?{parameters}",
recordCategoryId, recordCategoryId,
parameters)); parameters
));
} }
} }

View File

@@ -26,19 +26,18 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; 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.testng.Assert.fail;
import static org.alfresco.rest.core.RestRequest.requestWithBody; import static org.alfresco.rest.core.RestRequest.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest; import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentType.CONTENT_TYPE; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentType.CONTENT_TYPE;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject; 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.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson; import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.DELETE;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT;
import static org.testng.Assert.fail;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -67,8 +66,7 @@ public class RecordFolderAPI extends RMModelRequest
/** /**
* Constructor. * Constructor.
* *
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper
*/ */
public RecordFolderAPI(RMRestWrapper rmRestWrapper) public RecordFolderAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -78,17 +76,15 @@ public class RecordFolderAPI extends RMModelRequest
/** /**
* Deletes a record folder. * Deletes a record folder.
* *
* @param recordFolderId * @param recordFolderId The identifier of a record folder
* The identifier of a record folder * @throws RuntimeException for the following cases:
* @throws RuntimeException * <ul>
* for the following cases: * <li>{@code recordFolderId} is not a valid format</li>
* <ul> * <li>authentication fails</li>
* <li>{@code recordFolderId} is not a valid format</li> * <li>current user does not have permission to delete {@code recordFolderId}</li>
* <li>authentication fails</li> * <li>{@code recordFolderId} does not exist</li>
* <li>current user does not have permission to delete {@code recordFolderId}</li> * <li>{@code recordFolderId} is locked and cannot be deleted</li>
* <li>{@code recordFolderId} does not exist</li> * </ul>
* <li>{@code recordFolderId} is locked and cannot be deleted</li>
* </ul>
*/ */
public void deleteRecordFolder(String recordFolderId) public void deleteRecordFolder(String recordFolderId)
{ {
@@ -97,7 +93,8 @@ public class RecordFolderAPI extends RMModelRequest
getRmRestWrapper().processEmptyModel(simpleRequest( getRmRestWrapper().processEmptyModel(simpleRequest(
DELETE, DELETE,
"record-folders/{recordFolderId}", "record-folders/{recordFolderId}",
recordFolderId)); recordFolderId
));
} }
/** /**
@@ -113,19 +110,16 @@ public class RecordFolderAPI extends RMModelRequest
/** /**
* Gets a record folder. * Gets a record folder.
* *
* @param recordFolderId * @param recordFolderId The identifier of a record folder
* The identifier of a record folder * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link RecordFolder} for the given {@code recordFolderId} * @return The {@link RecordFolder} for the given {@code recordFolderId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code recordFolderId} is not a valid format</li>
* <li>{@code recordFolderId} is not a valid format</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code recordFolderId}</li>
* <li>current user does not have permission to read {@code recordFolderId}</li> * <li>{@code recordFolderId} does not exist</li>
* <li>{@code recordFolderId} does not exist</li> * </ul>
* </ul>
*/ */
public RecordFolder getRecordFolder(String recordFolderId, String parameters) public RecordFolder getRecordFolder(String recordFolderId, String parameters)
{ {
@@ -135,7 +129,8 @@ public class RecordFolderAPI extends RMModelRequest
GET, GET,
"record-folders/{recordFolderId}?{parameters}", "record-folders/{recordFolderId}?{parameters}",
recordFolderId, recordFolderId,
parameters)); parameters
));
} }
/** /**
@@ -152,24 +147,19 @@ public class RecordFolderAPI extends RMModelRequest
/** /**
* Updates a record folder. * Updates a record folder.
* *
* @param recordFolderModel * @param recordFolderModel The record folder model which holds the information
* The record folder model which holds the information * @param recordFolderId The identifier of a record folder
* @param recordFolderId * @param parameters The URL parameters to add
* The identifier of a record folder * @param returns The updated {@link RecordFolder}
* @param parameters * @throws RuntimeException for the following cases:
* The URL parameters to add * <ul>
* @param returns * <li>the update request is invalid or {@code recordFolderId} is not a valid format or {@code recordFolderModel} is invalid</li>
* The updated {@link RecordFolder} * <li>authentication fails</li>
* @throws RuntimeException * <li>current user does not have permission to update {@code recordFolderId}</li>
* for the following cases: * <li>{@code recordFolderId} does not exist</li>
* <ul> * <li>the updated name clashes with an existing record folder in the current parent category</li>
* <li>the update request is invalid or {@code recordFolderId} is not a valid format or {@code recordFolderModel} is invalid</li> * <li>model integrity exception, including file name with invalid characters</li>
* <li>authentication fails</li> * </ul>
* <li>current user does not have permission to update {@code recordFolderId}</li>
* <li>{@code recordFolderId} does not exist</li>
* <li>the updated name clashes with an existing record folder in the current parent category</li>
* <li>model integrity exception, including file name with invalid characters</li>
* </ul>
*/ */
public RecordFolder updateRecordFolder(RecordFolder recordFolderModel, String recordFolderId, String parameters) public RecordFolder updateRecordFolder(RecordFolder recordFolderModel, String recordFolderId, String parameters)
{ {
@@ -181,7 +171,8 @@ public class RecordFolderAPI extends RMModelRequest
toJson(recordFolderModel), toJson(recordFolderModel),
"record-folders/{recordFolderId}?{parameters}", "record-folders/{recordFolderId}?{parameters}",
recordFolderId, recordFolderId,
parameters)); parameters
));
} }
/** /**
@@ -197,28 +188,26 @@ public class RecordFolderAPI extends RMModelRequest
/** /**
* Gets the children of a record folder. * Gets the children of a record folder.
* *
* @param recordFolderId * @param recordFolderId The identifier of a record folder
* The identifier of a record folder * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link RecordFolderCollection} for the given {@code recordFolderId} * @return The {@link RecordFolderCollection} for the given {@code recordFolderId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code recordFolderId}</li>
* <li>current user does not have permission to read {@code recordFolderId}</li> * <li>{@code recordFolderId} does not exist</li>
* <li>{@code recordFolderId} does not exist</li> *</ul>
* </ul>
*/ */
public RecordFolderCollection getRecordFolderChildren(String recordFolderId, String parameters) public RecordFolderCollection getRecordFolderChildren(String recordFolderId, String parameters)
{ {
mandatoryString("recordFolderId", recordFolderId); mandatoryString("recordFolderId", recordFolderId);
return getRmRestWrapper().processModels(RecordFolderCollection.class, simpleRequest( return getRmRestWrapper().processModels(RecordFolderCollection.class, simpleRequest(
GET, GET,
"record-folders/{recordFolderId}/records?{parameters}", "record-folders/{recordFolderId}/records?{parameters}",
recordFolderId, recordFolderId,
parameters)); parameters
));
} }
/** /**
@@ -235,15 +224,11 @@ public class RecordFolderAPI extends RMModelRequest
/** /**
* Create a record from file resource * Create a record from file resource
* *
* @param recordModel * @param recordModel {@link Record} for electronic record to be created
* {@link Record} for electronic record to be created * @param recordContent {@link File} pointing to the content of the electronic record to be created
* @param recordContent * @param recordFolderId The identifier of a record folder
* {@link File} pointing to the content of the electronic record to be created
* @param recordFolderId
* The identifier of a record folder
* @return newly created {@link Record} * @return newly created {@link Record}
* @throws RuntimeException * @throws RuntimeException for invalid recordModel JSON strings
* for invalid recordModel JSON strings
*/ */
public Record createRecord(Record recordModel, String recordFolderId, File recordContent) throws RuntimeException public Record createRecord(Record recordModel, String recordFolderId, File recordContent) throws RuntimeException
{ {
@@ -256,7 +241,10 @@ public class RecordFolderAPI extends RMModelRequest
fail("Only electronic records are supported"); fail("Only electronic records are supported");
} }
/* For file uploads nodeBodyCreate is ignored hence can't be used. Append all Record fields to the request. */ /*
* For file uploads nodeBodyCreate is ignored hence can't be used. Append all Record fields
* to the request.
*/
RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec(); RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec();
JsonNode root; JsonNode root;
try try
@@ -283,22 +271,18 @@ public class RecordFolderAPI extends RMModelRequest
/** /**
* Creates a record in a record folder child, i.e. a record. * Creates a record in a record folder child, i.e. a record.
* *
* @param recordModel * @param recordModel The record model which holds the information
* The record model which holds the information * @param recordFolderId The identifier of a record folder
* @param recordFolderId * @param parameters The URL parameters to add
* The identifier of a record folder
* @param parameters
* The URL parameters to add
* @return The created {@link Record} * @return The created {@link Record}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code recordFolderId is not a valid format or {@code recordModel} is invalid</li>
* <li>{@code recordFolderId is not a valid format or {@code recordModel} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to add children to {@code recordFolderId}</li>
* <li>current user does not have permission to add children to {@code recordFolderId}</li> * <li>{@code recordFolderId} does not exist</li>
* <li>{@code recordFolderId} does not exist</li> * <li>model integrity exception, including node name with invalid characters</li>
* <li>model integrity exception, including node name with invalid characters</li> * </ul>
* </ul>
*/ */
public Record createRecord(Record recordModel, String recordFolderId, String parameters) public Record createRecord(Record recordModel, String recordFolderId, String parameters)
{ {
@@ -310,6 +294,7 @@ public class RecordFolderAPI extends RMModelRequest
toJson(recordModel), toJson(recordModel),
"record-folders/{recordFolderId}/records?{parameters}", "record-folders/{recordFolderId}/records?{parameters}",
recordFolderId, recordFolderId,
parameters)); parameters
));
} }
} }

View File

@@ -26,25 +26,25 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; package org.alfresco.rest.rm.community.requests.gscore.api;
import static org.alfresco.rest.core.RestRequest.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import static org.apache.commons.lang3.StringUtils.EMPTY; import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.DELETE; import static org.springframework.http.HttpMethod.DELETE;
import static org.springframework.http.HttpMethod.GET; import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST; import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT; 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 io.restassured.response.ResponseBody;
import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.record.Record; import org.alfresco.rest.rm.community.model.record.Record;
import org.alfresco.rest.rm.community.model.record.RecordBodyFile; import org.alfresco.rest.rm.community.model.record.RecordBodyFile;
import org.alfresco.rest.rm.community.requests.RMModelRequest; import org.alfresco.rest.rm.community.requests.RMModelRequest;
import io.restassured.response.ResponseBody;
/** /**
* Records REST API Wrapper * Records REST API Wrapper
* *
@@ -54,8 +54,7 @@ import org.alfresco.rest.rm.community.requests.RMModelRequest;
public class RecordsAPI extends RMModelRequest public class RecordsAPI extends RMModelRequest
{ {
/** /**
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper
*/ */
public RecordsAPI(RMRestWrapper rmRestWrapper) public RecordsAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -65,46 +64,41 @@ public class RecordsAPI extends RMModelRequest
/** /**
* Get the content for the electronic record * Get the content for the electronic record
* *
* @param recordId * @param recordId The id of the electronic record
* The id of the electronic record
* @return {@link ResponseBody} representing content for the given record id * @return {@link ResponseBody} representing content for the given record id
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code recordId} has no content</li>
* <li>{@code recordId} has no content</li> * <li> {@code recordId} is not a valid format, or is not a record</li>
* <li>{@code recordId} is not a valid format, or is not a record</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>{@code recordId} does not exist</li>
* <li>{@code recordId} does not exist</li> * </ul>
* </ul>
*/ */
public ResponseBody<?> getRecordContent(String recordId) public ResponseBody<?> getRecordContent(String recordId)
{ {
mandatoryString("recordId", recordId); mandatoryString("recordId", recordId);
return getRmRestWrapper() return getRmRestWrapper()
.processHtmlResponse(simpleRequest(GET, "records/{recordId}/content", recordId)) .processHtmlResponse(simpleRequest(GET,"records/{recordId}/content", recordId))
.getBody(); .getBody();
} }
/** /**
* File the record recordId into file plan structure based on the location sent via the request body * File the record recordId into file plan structure based on the location sent via the request body
* *
* @param recordBodyFile * @param recordBodyFile The properties where to file the record
* The properties where to file the record * @param recordId The id of the record to file
* @param recordId
* The id of the record to file
* @return The {@link Record} with the given properties * @return The {@link Record} with the given properties
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>Invalid parameter: {@code recordBodyFile} is not a valid format,{@code recordId} is not a record</li>
* <li>Invalid parameter: {@code recordBodyFile} is not a valid format,{@code recordId} is not a record</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to file to {@code fileplanComponentId}</li>
* <li>current user does not have permission to file to {@code fileplanComponentId}</li> * <li>{@code recordId} does not exist</li>
* <li>{@code recordId} does not exist</li> * <li>targetParentId from recordBodyFile does not exist</li>
* <li>targetParentId from recordBodyFile does not exist</li> * <li>model integrity exception: the action breaks system's integrity restrictions</li>
* <li>model integrity exception: the action breaks system's integrity restrictions</li> * </ul>
* </ul>
* *
*/ */
public Record fileRecord(RecordBodyFile recordBodyFile, String recordId) public Record fileRecord(RecordBodyFile recordBodyFile, String recordId)
@@ -118,21 +112,18 @@ public class RecordsAPI extends RMModelRequest
/** /**
* File the record recordId into file plan structure based on the location sent via the request body * File the record recordId into file plan structure based on the location sent via the request body
* *
* @param recordBodyFile * @param recordBodyFile The properties where to file the record
* The properties where to file the record * @param recordId The id of the record to file
* @param recordId
* The id of the record to file
* @return The {@link Record} with the given properties * @return The {@link Record} with the given properties
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>Invalid parameter: {@code recordBodyFile} is not a valid format,{@code recordId} is not a record</li>
* <li>Invalid parameter: {@code recordBodyFile} is not a valid format,{@code recordId} is not a record</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to file to {@code fileplanComponentId}</li>
* <li>current user does not have permission to file to {@code fileplanComponentId}</li> * <li>{@code recordId} does not exist</li>
* <li>{@code recordId} does not exist</li> * <li>targetParentId from recordBodyFile does not exist</li>
* <li>targetParentId from recordBodyFile does not exist</li> * <li>model integrity exception: the action breaks system's integrity restrictions</li>
* <li>model integrity exception: the action breaks system's integrity restrictions</li> * </ul>
* </ul>
* *
*/ */
public Record fileRecord(RecordBodyFile recordBodyFile, String recordId, String parameters) public Record fileRecord(RecordBodyFile recordBodyFile, String recordId, String parameters)
@@ -141,11 +132,12 @@ public class RecordsAPI extends RMModelRequest
mandatoryString("recordId", recordId); mandatoryString("recordId", recordId);
return getRmRestWrapper().processModel(Record.class, requestWithBody( return getRmRestWrapper().processModel(Record.class, requestWithBody(
POST, POST,
toJson(recordBodyFile), toJson(recordBodyFile),
"/records/{recordId}/file?{parameters}", "/records/{recordId}/file?{parameters}",
recordId, recordId,
parameters)); parameters
));
} }
/** /**
@@ -161,45 +153,41 @@ public class RecordsAPI extends RMModelRequest
/** /**
* Complete the record recordId * Complete the record recordId
* *
* @param recordId * @param recordId The id of the record to complete
* The id of the record to complete
* @return The completed {@link Record} with the given properties * @return The completed {@link Record} with the given properties
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>Invalid parameter: {@code recordId} is not a record</li>
* <li>Invalid parameter: {@code recordId} is not a record</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to complete {@code recordId}</li>
* <li>current user does not have permission to complete {@code recordId}</li> * <li>{@code recordId} does not exist or is frozen</li>
* <li>{@code recordId} does not exist or is frozen</li> * <li>model integrity exception: the record is already completed</li>
* <li>model integrity exception: the record is already completed</li> * <li>model integrity exception: the record has missing meta-data</li>
* <li>model integrity exception: the record has missing meta-data</li> * </ul>
* </ul>
*/ */
public Record completeRecord(String recordId, String parameters) public Record completeRecord(String recordId, String parameters)
{ {
mandatoryString("recordId", recordId); mandatoryString("recordId", recordId);
return getRmRestWrapper().processModel(Record.class, simpleRequest( return getRmRestWrapper().processModel(Record.class, simpleRequest(
POST, POST,
"/records/{recordId}/complete?{parameters}", "/records/{recordId}/complete?{parameters}",
recordId, recordId,
parameters)); parameters
));
} }
/** /**
* Deletes a record. * Deletes a record.
* *
* @param recordId * @param recordId The identifier of a record
* The identifier of a record * @throws RuntimeException for the following cases:
* @throws RuntimeException * <ul>
* for the following cases: * <li>{@code recordId} is not a valid format</li>
* <ul> * <li>authentication fails</li>
* <li>{@code recordId} is not a valid format</li> * <li>current user does not have permission to delete {@code recordId}</li>
* <li>authentication fails</li> * <li>{@code recordId} does not exist</li>
* <li>current user does not have permission to delete {@code recordId}</li> * <li>{@code recordId} is locked and cannot be deleted</li>
* <li>{@code recordId} does not exist</li> * </ul>
* <li>{@code recordId} is locked and cannot be deleted</li>
* </ul>
*/ */
public void deleteRecord(String recordId) public void deleteRecord(String recordId)
{ {
@@ -208,7 +196,8 @@ public class RecordsAPI extends RMModelRequest
getRmRestWrapper().processEmptyModel(simpleRequest( getRmRestWrapper().processEmptyModel(simpleRequest(
DELETE, DELETE,
"records/{recordId}", "records/{recordId}",
recordId)); recordId
));
} }
/** /**
@@ -224,19 +213,16 @@ public class RecordsAPI extends RMModelRequest
/** /**
* Gets a record. * Gets a record.
* *
* @param recordId * @param recordId The identifier of a record
* The identifier of a record * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link Record} for the given {@code recordId} * @return The {@link Record} for the given {@code recordId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code recordId} is not a valid format</li>
* <li>{@code recordId} is not a valid format</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code recordId}</li>
* <li>current user does not have permission to read {@code recordId}</li> * <li>{@code recordId} does not exist</li>
* <li>{@code recordId} does not exist</li> * </ul>
* </ul>
*/ */
public Record getRecord(String recordId, String parameters) public Record getRecord(String recordId, String parameters)
{ {
@@ -246,7 +232,8 @@ public class RecordsAPI extends RMModelRequest
GET, GET,
"records/{recordId}?{parameters}", "records/{recordId}?{parameters}",
recordId, recordId,
parameters)); parameters
));
} }
/** /**
@@ -263,23 +250,19 @@ public class RecordsAPI extends RMModelRequest
/** /**
* Updates a record. * Updates a record.
* *
* @param recordModel * @param recordModel The record model which holds the information
* The record model which holds the information * @param recordId The identifier of a record
* @param recordId * @param parameters The URL parameters to add
* The identifier of a record
* @param parameters
* The URL parameters to add
* @return The updated {@link Record} * @return The updated {@link Record}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>the update request is invalid or {@code recordId} is not a valid format or {@code recordModel} is invalid</li>
* <li>the update request is invalid or {@code recordId} is not a valid format or {@code recordModel} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to update {@code recordId}</li>
* <li>current user does not have permission to update {@code recordId}</li> * <li>{@code recordId} does not exist</li>
* <li>{@code recordId} does not exist</li> * <li>the updated name clashes with an existing record in the current parent folder</li>
* <li>the updated name clashes with an existing record in the current parent folder</li> * <li>model integrity exception, including file name with invalid characters</li>
* <li>model integrity exception, including file name with invalid characters</li> * </ul>
* </ul>
*/ */
public Record updateRecord(Record recordModel, String recordId, String parameters) public Record updateRecord(Record recordModel, String recordId, String parameters)
{ {
@@ -291,6 +274,7 @@ public class RecordsAPI extends RMModelRequest
toJson(recordModel), toJson(recordModel),
"records/{recordId}?{parameters}", "records/{recordId}?{parameters}",
recordId, recordId,
parameters)); parameters
));
} }
} }

View File

@@ -26,16 +26,6 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; 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.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.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.retentionschedule.RetentionSchedule; import org.alfresco.rest.rm.community.model.retentionschedule.RetentionSchedule;
import org.alfresco.rest.rm.community.model.retentionschedule.RetentionScheduleActionDefinition; import org.alfresco.rest.rm.community.model.retentionschedule.RetentionScheduleActionDefinition;
@@ -43,6 +33,15 @@ import org.alfresco.rest.rm.community.model.retentionschedule.RetentionScheduleC
import org.alfresco.rest.rm.community.model.retentionschedule.RetentionScheduleStepCollection; import org.alfresco.rest.rm.community.model.retentionschedule.RetentionScheduleStepCollection;
import org.alfresco.rest.rm.community.requests.RMModelRequest; import org.alfresco.rest.rm.community.requests.RMModelRequest;
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;
public class RetentionScheduleAPI extends RMModelRequest public class RetentionScheduleAPI extends RMModelRequest
{ {
@@ -54,25 +53,22 @@ public class RetentionScheduleAPI extends RMModelRequest
super(rmRestWrapper); super(rmRestWrapper);
} }
/** /**
* Creates a retention schedule. * Creates a retention schedule.
* *
* @param retentionScheduleModel * @param retentionScheduleModel The retentionSchedule model
* The retentionSchedule model * @param recordCategoryId The identifier of a record category
* @param recordCategoryId * @param parameters The URL parameters to add
* The identifier of a record category
* @param parameters
* The URL parameters to add
* @return The created {@link RetentionSchedule} * @return The created {@link RetentionSchedule}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code recordCategoryId} is not a valid format or {@code recordCategoryId} is invalid</li>
* <li>{@code recordCategoryId} is not a valid format or {@code recordCategoryId} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to add children to {@code recordCategoryId}</li>
* <li>current user does not have permission to add children to {@code recordCategoryId}</li> * <li>{@code recordCategoryId} does not exist</li>
* <li>{@code recordCategoryId} does not exist</li> * <li>new name clashes with an existing node in the current parent container</li>
* <li>new name clashes with an existing node in the current parent container</li> * </ul>
* </ul>
*/ */
public RetentionSchedule createRetentionSchedule(RetentionSchedule retentionScheduleModel, String recordCategoryId, String parameters) public RetentionSchedule createRetentionSchedule(RetentionSchedule retentionScheduleModel, String recordCategoryId, String parameters)
{ {
@@ -80,11 +76,12 @@ public class RetentionScheduleAPI extends RMModelRequest
mandatoryObject("retentionScheduleModel", retentionScheduleModel); mandatoryObject("retentionScheduleModel", retentionScheduleModel);
return getRmRestWrapper().processModel(RetentionSchedule.class, requestWithBody( return getRmRestWrapper().processModel(RetentionSchedule.class, requestWithBody(
POST, POST,
toJson(retentionScheduleModel), toJson(retentionScheduleModel),
"record-categories/{recordCategoryId}/retention-schedules", "record-categories/{recordCategoryId}/retention-schedules",
recordCategoryId, recordCategoryId,
parameters)); parameters
));
} }
/** /**
@@ -98,28 +95,26 @@ public class RetentionScheduleAPI extends RMModelRequest
/** /**
* Gets the retentionSchedule of a record category. * Gets the retentionSchedule of a record category.
* *
* @param recordCategoryId * @param recordCategoryId The identifier of a record category
* The identifier of a record category * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link RetentionSchedule} for the given {@code recordCategoryId} * @return The {@link RetentionSchedule} for the given {@code recordCategoryId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code recordCategoryId}</li>
* <li>current user does not have permission to read {@code recordCategoryId}</li> * <li>{@code recordCategoryId} does not exist</li>
* <li>{@code recordCategoryId} does not exist</li> *</ul>
* </ul>
*/ */
public RetentionScheduleCollection getRetentionSchedule(String recordCategoryId, String parameters) public RetentionScheduleCollection getRetentionSchedule(String recordCategoryId, String parameters)
{ {
mandatoryString("recordCategoryId", recordCategoryId); mandatoryString("recordCategoryId", recordCategoryId);
return getRmRestWrapper().processModels(RetentionScheduleCollection.class, simpleRequest( return getRmRestWrapper().processModels(RetentionScheduleCollection.class, simpleRequest(
GET, GET,
"record-categories/{recordCategoryId}/retention-schedules?{parameters}", "record-categories/{recordCategoryId}/retention-schedules?{parameters}",
recordCategoryId, recordCategoryId,
parameters)); parameters
));
} }
/** /**
@@ -133,22 +128,18 @@ public class RetentionScheduleAPI extends RMModelRequest
/** /**
* Creates a step in the retention schedule. * Creates a step in the retention schedule.
* *
* @param retentionScheduleActionDefinition * @param retentionScheduleActionDefinition The retentionScheduleActionDefinition model
* The retentionScheduleActionDefinition model * @param retentionScheduleId The identifier of a retention schedule id
* @param retentionScheduleId * @param parameters The URL parameters to add
* The identifier of a retention schedule id
* @param parameters
* The URL parameters to add
* @return The created {@link RetentionScheduleActionDefinition} * @return The created {@link RetentionScheduleActionDefinition}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>{@code retentionScheduleId} is not a valid format or {@code retentionScheduleId} is invalid</li>
* <li>{@code retentionScheduleId} is not a valid format or {@code retentionScheduleId} is invalid</li> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to add children to {@code retentionScheduleId}</li>
* <li>current user does not have permission to add children to {@code retentionScheduleId}</li> * <li>{@code retentionScheduleId} does not exist</li>
* <li>{@code retentionScheduleId} does not exist</li> * <li>new name clashes with an existing node in the current parent container</li>
* <li>new name clashes with an existing node in the current parent container</li> * </ul>
* </ul>
*/ */
public RetentionScheduleActionDefinition createRetentionScheduleStep(RetentionScheduleActionDefinition retentionScheduleActionDefinition, String retentionScheduleId, String parameters) public RetentionScheduleActionDefinition createRetentionScheduleStep(RetentionScheduleActionDefinition retentionScheduleActionDefinition, String retentionScheduleId, String parameters)
{ {
@@ -156,11 +147,12 @@ public class RetentionScheduleAPI extends RMModelRequest
mandatoryObject("retentionScheduleActionDefinition", retentionScheduleActionDefinition); mandatoryObject("retentionScheduleActionDefinition", retentionScheduleActionDefinition);
return getRmRestWrapper().processModel(RetentionScheduleActionDefinition.class, requestWithBody( return getRmRestWrapper().processModel(RetentionScheduleActionDefinition.class, requestWithBody(
POST, POST,
toJson(retentionScheduleActionDefinition), toJson(retentionScheduleActionDefinition),
"retention-schedules/{retentionScheduleId}/retention-steps", "retention-schedules/{retentionScheduleId}/retention-steps",
retentionScheduleId, retentionScheduleId,
parameters)); parameters
));
} }
/** /**
@@ -174,28 +166,26 @@ public class RetentionScheduleAPI extends RMModelRequest
/** /**
* Gets the retentionSchedule of a record category. * Gets the retentionSchedule of a record category.
* *
* @param retentionScheduleId * @param retentionScheduleId The identifier of a record category
* The identifier of a record category * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link RetentionScheduleActionDefinition} for the given {@code recordCategoryId} * @return The {@link RetentionScheduleActionDefinition} for the given {@code recordCategoryId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases: * <ul>
* <ul> * <li>authentication fails</li>
* <li>authentication fails</li> * <li>current user does not have permission to read {@code recordCategoryId}</li>
* <li>current user does not have permission to read {@code recordCategoryId}</li> * <li>{@code recordCategoryId} does not exist</li>
* <li>{@code recordCategoryId} does not exist</li> *</ul>
* </ul>
*/ */
public RetentionScheduleStepCollection getRetentionScheduleStep(String retentionScheduleId, String parameters) public RetentionScheduleStepCollection getRetentionScheduleStep(String retentionScheduleId, String parameters)
{ {
mandatoryString("retentionScheduleId", retentionScheduleId); mandatoryString("retentionScheduleId", retentionScheduleId);
return getRmRestWrapper().processModels(RetentionScheduleStepCollection.class, simpleRequest( return getRmRestWrapper().processModels(RetentionScheduleStepCollection.class, simpleRequest(
GET, GET,
"retention-schedules/{retentionScheduleId}/retention-steps?{parameters}", "retention-schedules/{retentionScheduleId}/retention-steps?{parameters}",
retentionScheduleId, retentionScheduleId,
parameters)); parameters
));
} }
/** /**

Some files were not shown because too many files have changed in this diff Show More