Compare commits

..

44 Commits

Author SHA1 Message Date
alfresco-build
96a1e64c78 [maven-release-plugin][skip ci] prepare release 23.4.2.12 2025-05-05 06:36:50 +00:00
KushalBanik
02b947e1eb Backport/[MNT-24490] Reference for AlfrescoSQLServerDialect changed to SQLServerDialect 2025-05-05 11:23:31 +05:30
alfresco-build
8918f27b52 [maven-release-plugin][skip ci] prepare for next development iteration 2025-04-22 04:47:24 +00:00
alfresco-build
757ac89e4c [maven-release-plugin][skip ci] prepare release 23.4.2.11 2025-04-22 04:47:22 +00:00
SatyamSah5
fbf330080b [MNT-24623] fix for unzipping zip file having accent characters. (#3320) 2025-04-22 09:32:18 +05:30
alfresco-build
58903cd74f [maven-release-plugin][skip ci] prepare for next development iteration 2025-04-18 05:20:21 +00:00
alfresco-build
332531b73e [maven-release-plugin][skip ci] prepare release 23.4.2.10 2025-04-18 05:20:19 +00:00
tathagta15
53db867f22 Bump org.springframework.security:spring-security to 6.3.8 (#3322) 2025-04-18 09:59:30 +05:30
alfresco-build
d2763f8f7d [maven-release-plugin][skip ci] prepare for next development iteration 2025-04-10 13:19:20 +00:00
alfresco-build
17eb6d7bdf [maven-release-plugin][skip ci] prepare release 23.4.2.9 2025-04-10 13:19:18 +00:00
Belal Ansari
c05b723198 [MNT-24891] backport changes - Skip actionContext to classify as an a… (#3311)
Co-authored-by: Kacper Magdziarz <kacper.magdziarz@hyland.com>
2025-04-10 17:31:10 +05:30
alfresco-build
afbf4dcc23 [maven-release-plugin][skip ci] prepare for next development iteration 2025-04-04 11:22:57 +00:00
alfresco-build
87b04951ae [maven-release-plugin][skip ci] prepare release 23.4.2.8 2025-04-04 11:22:55 +00:00
Kacper Magdziarz
027fcf32af [ACS-9490] Backport: Use FixedThreadPool for ExecutorService (#3301) (#3302) 2025-04-04 12:38:32 +02:00
cezary-witkowski
8822ae27c2 [MNT-24937] Fix EventTableOutbox messages flooding the logs on bootstrap failure (#3286) (#3297)
Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>
2025-04-02 10:29:55 +02:00
alfresco-build
a529fdff46 [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-27 15:16:59 +00:00
alfresco-build
204dab1507 [maven-release-plugin][skip ci] prepare release 23.4.2.7 2025-03-27 15:16:56 +00:00
Belal Ansari
e7967bfe9e Merge pull request #3284 from Alfresco/fix/PRODSEC-10029-UpdateCamelVersion
PRODSEC-10029 - to bumping apache camel and netty to latest safe comp…
2025-03-27 20:02:34 +05:30
Belal Ansari
d8296d4049 PRODSEC-10029 - to bump apache camel and netty to latest safe version along with roundRobin Load Balancer upgrade 2025-03-26 12:19:24 +05:30
Belal Ansari
e5bbb16360 PRODSEC-10029 - to bumping apache camel and netty to latest safe compatible version 2025-03-25 17:32:22 +05:30
alfresco-build
0e82e519ac [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-10 10:06:33 +00:00
alfresco-build
43c0fafe0d [maven-release-plugin][skip ci] prepare release 23.4.2.6 2025-03-10 10:06:31 +00:00
Kacper Magdziarz
717d412159 Bump Alfresco Build Tools (#3246) 2025-03-10 10:18:26 +01:00
Kacper Magdziarz
5091f6c2e8 [PRODSEC-10013] Bump JSON Smart to 2.5.2 2025-03-04 13:37:44 +01:00
alfresco-build
88c4a933ff [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-25 09:40:36 +00:00
alfresco-build
c5d171135b [maven-release-plugin][skip ci] prepare release 23.4.2.5 2025-02-25 09:40:34 +00:00
purusothaman-mm
fad5f7d20e [PRODSEC-9888] Fix for cxf-core and netty-common (#3217) 2025-02-25 14:26:37 +05:30
alfresco-build
3cd6b493d5 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-11 09:40:30 +00:00
alfresco-build
9309f2ab99 [maven-release-plugin][skip ci] prepare release 23.4.2.4 2025-02-11 09:40:28 +00:00
Kacper Magdziarz
07fd5e8389 [ACS-9181] Bump Keycloak to 26.1.0 on ACS 23.4 (#3172)
* [ACS-9181] Bump Keycloak to 26.1.0

* [ACS-9181] Bump Keycloak
2025-02-10 12:25:27 +01:00
alfresco-build
bdf32bffed [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-03 10:33:36 +00:00
alfresco-build
f915e08b3d [maven-release-plugin][skip ci] prepare release 23.4.2.3 2025-02-03 10:33:34 +00:00
Cezary Witkowski
fab4d497e0 [ACS-9206] Backport MNT-24807 to the release/23.4 branch (#3179)
* [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>
(cherry picked from commit 1592f7fa1d)

* [ACS-9206] Apply spotless

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

---------

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>
2025-02-03 10:39:19 +01:00
alfresco-build
76c21e7102 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-17 15:08:54 +00:00
alfresco-build
a855fd7805 [maven-release-plugin][skip ci] prepare release 23.4.2.2 2025-01-17 15:08:52 +00:00
Kacper Magdziarz
eef63bd242 [ACS-9174] Trigger build 2025-01-17 15:24:18 +01:00
Kacper Magdziarz
d9d37470b5 [ACS-9174] Bump Amps header to 2025 (#3156) 2025-01-17 15:19:42 +01:00
alfresco-build
817a89dd6c [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-23 16:51:16 +00:00
alfresco-build
1e55a06512 [maven-release-plugin][skip ci] prepare release 23.4.2.1 2024-12-23 16:51:14 +00:00
Eva Vasques
ad52aac0a4 [skip tests] Prepare version 23.4.2 (#3110) 2024-12-23 16:48:21 +00:00
alfresco-build
535651a682 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-17 18:48:16 +00:00
alfresco-build
9e14db2ee6 [maven-release-plugin][skip ci] prepare release 23.4.1.1 2024-12-17 18:48:14 +00:00
Eva Vasques
2652cdaa98 Revert "[MNT-24137] Audit Issue Internal Server Error fix (#2786)" (#3100)
* Revert "[MNT-24137] Audit Issue Internal Server Error fix (#2786)"

This reverts commit cabc38b386.

* Pre-commit changes
2024-12-17 18:05:46 +00:00
Kacper Magdziarz
b595e41095 Creating hotfix branch release/23.4 for 23.4.0 ACS release [skip ci] 2024-11-20 13:35:21 +01:00
7440 changed files with 999464 additions and 1026717 deletions

File diff suppressed because it is too large Load Diff

View File

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

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.
#### Code Quality
This project uses `spotless` that enforces `alfresco-formatter.xml` to ensure code quality.
The code style definition file is taken always form the `master` branch of `alfresco-community-repo`.
All downstream projects use this code style definition file as well.
This project uses `spotless` that enforces `alfresco-formatter.xml` to ensure code quality.
To check code-style violations you can use:
```bash

View File

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

View File

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

View File

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

View File

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

View File

@@ -27,11 +27,6 @@
package org.alfresco.rest.core;
import io.restassured.builder.RequestSpecBuilder;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.alfresco.rest.exception.EmptyJsonResponseException;
import org.alfresco.rest.model.RestErrorModel;
@@ -43,6 +38,12 @@ import org.alfresco.rest.requests.search.SearchAPI;
import org.alfresco.rest.rm.community.requests.gscore.GSCoreAPI;
import org.alfresco.utility.model.StatusModel;
import org.alfresco.utility.model.UserModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import lombok.Getter;
/**
* Extends {@link RestWrapper} in order to call GS APIs with our own properties
@@ -152,18 +153,15 @@ public class RMRestWrapper
}
/**
* You can handle the request sent to server by calling this method. If for example you want to sent multipart form data you can use:
*
* <pre>
* You can handle the request sent to server by calling this method.
* If for example you want to sent multipart form data you can use: <pre>
* restClient.configureRequestSpec()
* .addMultiPart("filedata", Utility.getResourceTestDataFile("restapi-resource"))
* .addFormParam("renditions", "doclib")
* .addFormParam("autoRename", true);
* .addMultiPart("filedata", Utility.getResourceTestDataFile("restapi-resource"))
* .addFormParam("renditions", "doclib")
* .addFormParam("autoRename", true);
*
* restClient.withCoreAPI().usingNode(ContentModel.my()).createNode();
* </pre>
*
* This will create the node using the multipart data defined.
* </pre> This will create the node using the multipart data defined.
*/
public RequestSpecBuilder configureRequestSpec()
{
@@ -173,8 +171,7 @@ public class RMRestWrapper
/**
* Process a response that returns a html
*
* @throws EmptyJsonResponseException
* If there is no response from the server.
* @throws EmptyJsonResponseException If there is no response from the server.
*/
public RestHtmlResponse processHtmlResponse(RestRequest simpleRequest)
{

View File

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

View File

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

View File

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

View File

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

View File

@@ -28,8 +28,13 @@ package org.alfresco.rest.core.v0;
public enum RMEvents
{
ABOLISHED("abolished"), ALL_ALLOWANCES_GRANTED_ARE_TERMINATED("all_allowances_granted_are_terminated"), CASE_CLOSED("case_closed"), DECLASSIFICATION_REVIEW("declassification_review"), OBSOLETE("obsolete"), NO_LONGER_NEEDED("no_longer_needed"), STUDY_COMPLETE("study_complete");
ABOLISHED("abolished"),
ALL_ALLOWANCES_GRANTED_ARE_TERMINATED("all_allowances_granted_are_terminated"),
CASE_CLOSED("case_closed"),
DECLASSIFICATION_REVIEW("declassification_review"),
OBSOLETE("obsolete"),
NO_LONGER_NEEDED("no_longer_needed"),
STUDY_COMPLETE("study_complete");
private String eventName;
RMEvents(String eventName)

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

View File

@@ -29,13 +29,24 @@ package org.alfresco.rest.rm.community.model.audit;
/**
* Enumerates the list of events audited
*
* @author Rodica Sutu
* @author Rodica Sutu
* @since 2.7
*
*/
public enum AuditEvents
{
CREATE_PERSON("Create Person", "Create User"), DELETE_PERSON("Delete Person", "Delete User"), CREATE_USER_GROUP("Create User Group", "Create User Group"), DELETE_USER_GROUP("Delete User Group", "Delete User Group"), ADD_TO_USER_GROUP("Add To User Group", "Add To User Group"), REMOVE_FROM_USER_GROUP("Remove From User Group", "Remove From User Group"), LOGIN_UNSUCCESSFUL("Login.Failure", "Login Unsuccessful"), LOGIN_SUCCESSFUL("Login.Success", "Login Successful"), CREATE_HOLD("Create Hold", "Create Hold"), DELETE_HOLD("Delete Hold", "Delete Hold"), ADD_TO_HOLD("Add To Hold", "Add To Hold"), REMOVE_FROM_HOLD("Remove From Hold", "Remove From Hold");
CREATE_PERSON("Create Person", "Create User"),
DELETE_PERSON("Delete Person", "Delete User"),
CREATE_USER_GROUP("Create User Group", "Create User Group"),
DELETE_USER_GROUP("Delete User Group", "Delete User Group"),
ADD_TO_USER_GROUP("Add To User Group", "Add To User Group"),
REMOVE_FROM_USER_GROUP("Remove From User Group", "Remove From User Group"),
LOGIN_UNSUCCESSFUL("Login.Failure", "Login Unsuccessful"),
LOGIN_SUCCESSFUL("Login.Success", "Login Successful"),
CREATE_HOLD("Create Hold", "Create Hold"),
DELETE_HOLD("Delete Hold", "Delete Hold"),
ADD_TO_HOLD("Add To Hold", "Add To Hold"),
REMOVE_FROM_HOLD("Remove From Hold", "Remove From Hold");
/** event audited */
public final String event;

View File

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

View File

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

View File

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

View File

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

View File

@@ -34,8 +34,10 @@ package org.alfresco.rest.rm.community.model.custom;
*/
public enum CustomDefinitions
{
ATTACHMENT("Attachment"), MESSAGE("Message"), NEXT_VERSION("Next Version"), RENDITION("Rendition");
ATTACHMENT("Attachment"),
MESSAGE("Message"),
NEXT_VERSION("Next Version"),
RENDITION("Rendition");
/**
* The name of custom reference.
*/

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/**
@@ -45,12 +45,12 @@ import org.alfresco.utility.model.TestModel;
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonIgnoreProperties (ignoreUnknown = true)
public class HoldEntry extends TestModel
{
@JsonProperty(required = true)
@JsonProperty (required = true)
private String name;
@JsonProperty(required = true)
@JsonProperty (required = true)
private String nodeRef;
}

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

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

View File

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

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

View File

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

View File

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

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

View File

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

View File

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

View File

@@ -27,6 +27,6 @@
package org.alfresco.rest.rm.community.model.retentionschedule;
import org.alfresco.rest.core.RestModels;
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 lombok.Data;
import org.alfresco.rest.core.RestModels;
@Data
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;
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 lombok.Data;
import org.alfresco.rest.core.RestModels;
@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
{
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;

View File

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

View File

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

View File

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

View File

@@ -27,8 +27,16 @@
package org.alfresco.rest.rm.community.model.site;
/**
* RM Site properties from the RM Model Schema "entry": { "id": "string", "guid": "string", "title": "string", "description": "string", "visibility": "{@link org.springframework.social.alfresco.api.entities.Site.Visibility}", "compliance": "{@link RMSiteCompliance}", "role": "{@link org.alfresco.utility.constants.UserRole}" }
*
*RM Site properties from the RM Model Schema
*"entry": {
* "id": "string",
* "guid": "string",
* "title": "string",
* "description": "string",
* "visibility": "{@link org.springframework.social.alfresco.api.entities.Site.Visibility}",
* "compliance": "{@link RMSiteCompliance}",
* "role": "{@link org.alfresco.utility.constants.UserRole}"
*}
* @author Tuna Aksoy
* @author Rodica Sutu
* @since 2.6
@@ -39,6 +47,6 @@ public class RMSiteFields
public static final String COMPLIANCE = "compliance";
public static final String TITLE = "title";
public static final String DESCRIPTION = "description";
public static final String VISIBILITY = "visibility";
public static final String VISIBILITY ="visibility";
public static final String ROLE = "role";
}

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

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

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

View File

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

View File

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

View File

@@ -35,7 +35,12 @@ package org.alfresco.rest.rm.community.model.user;
*/
public enum UserRoles
{
IN_PLACE_WRITERS("ExtendedWriters", "In-Place Writers"), ROLE_RM_ADMIN("Administrator", "Records Management Administrator"), ROLE_RM_MANAGER("RecordsManager", "Records Management Manager"), ROLE_RM_POWER_USER("PowerUser", "Records Management Power User"), ROLE_RM_SECURITY_OFFICER("SecurityOfficer", "Records Management Security Officer"), ROLE_RM_USER("User", "Records Management User"), IN_PLACE_READERS("ExtendedReaders", "In-Place Readers");
IN_PLACE_WRITERS("ExtendedWriters", "In-Place Writers"),
ROLE_RM_ADMIN("Administrator", "Records Management Administrator"),
ROLE_RM_MANAGER("RecordsManager", "Records Management Manager"),
ROLE_RM_POWER_USER("PowerUser", "Records Management Power User"),
ROLE_RM_SECURITY_OFFICER("SecurityOfficer", "Records Management Security Officer"),
ROLE_RM_USER("User", "Records Management User");
public final String roleId;
public final String displayName;
@@ -46,4 +51,5 @@ public enum UserRoles
this.displayName = displayName;
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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