Apply Pre-Commit code formatting

This commit is contained in:
alfresco-build
2025-03-17 14:00:58 +00:00
parent 5255760f6e
commit bc8424482b
7038 changed files with 1006771 additions and 982869 deletions

View File

@@ -166,7 +166,7 @@
"filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/TestData.java", "filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/TestData.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 57, "line_number": 58,
"is_secret": false "is_secret": false
} }
], ],
@@ -176,7 +176,7 @@
"filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/retentionschedule/RetentionScheduleStepTests.java", "filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/retentionschedule/RetentionScheduleStepTests.java",
"hashed_secret": "e3557f3b0f2189660980d213f75d1a7828d56af1", "hashed_secret": "e3557f3b0f2189660980d213f75d1a7828d56af1",
"is_verified": false, "is_verified": false,
"line_number": 83, "line_number": 85,
"is_secret": false "is_secret": false
} }
], ],
@@ -247,7 +247,7 @@
"filename": "core/src/main/java/org/alfresco/encryption/AlfrescoKeyStore.java", "filename": "core/src/main/java/org/alfresco/encryption/AlfrescoKeyStore.java",
"hashed_secret": "a718763bca0f328b0e7ce2a98d9e79fc271bf827", "hashed_secret": "a718763bca0f328b0e7ce2a98d9e79fc271bf827",
"is_verified": false, "is_verified": false,
"line_number": 35, "line_number": 34,
"is_secret": false "is_secret": false
} }
], ],
@@ -257,7 +257,7 @@
"filename": "core/src/main/java/org/alfresco/httpclient/HttpClientFactory.java", "filename": "core/src/main/java/org/alfresco/httpclient/HttpClientFactory.java",
"hashed_secret": "5d3c708390e5f51413e414393d4ad2a6d0e59a45", "hashed_secret": "5d3c708390e5f51413e414393d4ad2a6d0e59a45",
"is_verified": false, "is_verified": false,
"line_number": 126, "line_number": 128,
"is_secret": false "is_secret": false
} }
], ],
@@ -423,7 +423,7 @@
"filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java", "filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java",
"hashed_secret": "a28cecdb5056cf30135809b921e38a84deb6c345", "hashed_secret": "a28cecdb5056cf30135809b921e38a84deb6c345",
"is_verified": false, "is_verified": false,
"line_number": 102, "line_number": 100,
"is_secret": false "is_secret": false
}, },
{ {
@@ -431,7 +431,7 @@
"filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java", "filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java",
"hashed_secret": "5e39d8e2991ef9705998de26b33f11be0f3cdcde", "hashed_secret": "5e39d8e2991ef9705998de26b33f11be0f3cdcde",
"is_verified": false, "is_verified": false,
"line_number": 103, "line_number": 101,
"is_secret": false "is_secret": false
} }
], ],
@@ -539,7 +539,7 @@
"filename": "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/model/RestSitePersonMembershipRequestModelsCollection.java", "filename": "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/model/RestSitePersonMembershipRequestModelsCollection.java",
"hashed_secret": "8b30a14989d7b8093ac29462fe29423d836625b4", "hashed_secret": "8b30a14989d7b8093ac29462fe29423d836625b4",
"is_verified": false, "is_verified": false,
"line_number": 39, "line_number": 33,
"is_secret": false "is_secret": false
} }
], ],
@@ -623,7 +623,7 @@
"filename": "remote-api/src/main/java/org/alfresco/repo/web/scripts/tenant/AbstractTenantAdminWebScript.java", "filename": "remote-api/src/main/java/org/alfresco/repo/web/scripts/tenant/AbstractTenantAdminWebScript.java",
"hashed_secret": "889d2688743fdce6115117a5ba7dbc5f33e0ce03", "hashed_secret": "889d2688743fdce6115117a5ba7dbc5f33e0ce03",
"is_verified": false, "is_verified": false,
"line_number": 38, "line_number": 39,
"is_secret": false "is_secret": false
} }
], ],
@@ -633,7 +633,7 @@
"filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java", "filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java",
"hashed_secret": "43d52295ed5cb7e2b772f2b8be9695ddde971c49", "hashed_secret": "43d52295ed5cb7e2b772f2b8be9695ddde971c49",
"is_verified": false, "is_verified": false,
"line_number": 62, "line_number": 60,
"is_secret": false "is_secret": false
}, },
{ {
@@ -641,7 +641,7 @@
"filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java", "filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java",
"hashed_secret": "1bd5147ff91b8b1220d2f1ffde850ebabbc5ec8c", "hashed_secret": "1bd5147ff91b8b1220d2f1ffde850ebabbc5ec8c",
"is_verified": false, "is_verified": false,
"line_number": 63, "line_number": 61,
"is_secret": false "is_secret": false
} }
], ],
@@ -671,7 +671,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/remoteticket/RemoteAlfrescoTicketServiceTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/remoteticket/RemoteAlfrescoTicketServiceTest.java",
"hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55", "hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55",
"is_verified": false, "is_verified": false,
"line_number": 74, "line_number": 73,
"is_secret": false "is_secret": false
} }
], ],
@@ -681,7 +681,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/node/NodeWebScripTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/node/NodeWebScripTest.java",
"hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55", "hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55",
"is_verified": false, "is_verified": false,
"line_number": 95, "line_number": 96,
"is_secret": false "is_secret": false
} }
], ],
@@ -691,7 +691,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/servlet/RemoteAuthenticatorFactoryAdminConsoleAccessTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/servlet/RemoteAuthenticatorFactoryAdminConsoleAccessTest.java",
"hashed_secret": "4ffa743f28fc949c19e65ab045d7906d0609a2c2", "hashed_secret": "4ffa743f28fc949c19e65ab045d7906d0609a2c2",
"is_verified": false, "is_verified": false,
"line_number": 269, "line_number": 268,
"is_secret": false "is_secret": false
} }
], ],
@@ -701,7 +701,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/solr/SOLRAuthenticationFilterTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/solr/SOLRAuthenticationFilterTest.java",
"hashed_secret": "76ed0a056aa77060de25754586440cff390791d0", "hashed_secret": "76ed0a056aa77060de25754586440cff390791d0",
"is_verified": false, "is_verified": false,
"line_number": 63, "line_number": 59,
"is_secret": false "is_secret": false
} }
], ],
@@ -711,7 +711,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/webdav/LockMethodTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/webdav/LockMethodTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 109, "line_number": 108,
"is_secret": false "is_secret": false
} }
], ],
@@ -741,7 +741,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/RepoService.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/RepoService.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 418, "line_number": 412,
"is_secret": false "is_secret": false
} }
], ],
@@ -751,7 +751,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestCMIS.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestCMIS.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 182, "line_number": 175,
"is_secret": false "is_secret": false
} }
], ],
@@ -761,7 +761,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4",
"is_verified": false, "is_verified": false,
"line_number": 592, "line_number": 595,
"is_secret": false "is_secret": false
}, },
{ {
@@ -769,7 +769,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "53dad674827218e94c8fe9c1984c8dd9db512a17", "hashed_secret": "53dad674827218e94c8fe9c1984c8dd9db512a17",
"is_verified": false, "is_verified": false,
"line_number": 728, "line_number": 731,
"is_secret": false "is_secret": false
}, },
{ {
@@ -777,7 +777,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "be66cf01c56d963de61462f37a43df2305367216", "hashed_secret": "be66cf01c56d963de61462f37a43df2305367216",
"is_verified": false, "is_verified": false,
"line_number": 1429, "line_number": 1434,
"is_secret": false "is_secret": false
}, },
{ {
@@ -785,7 +785,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "283d47a9338ed1100b5fe2a5aff2d1f7c799bfd0", "hashed_secret": "283d47a9338ed1100b5fe2a5aff2d1f7c799bfd0",
"is_verified": false, "is_verified": false,
"line_number": 1430, "line_number": 1435,
"is_secret": false "is_secret": false
}, },
{ {
@@ -793,7 +793,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "425a715491af2bbec1eef2def6fa8d79c3050401", "hashed_secret": "425a715491af2bbec1eef2def6fa8d79c3050401",
"is_verified": false, "is_verified": false,
"line_number": 1452, "line_number": 1457,
"is_secret": false "is_secret": false
} }
], ],
@@ -883,7 +883,7 @@
"filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java", "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java",
"hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506", "hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506",
"is_verified": false, "is_verified": false,
"line_number": 60, "line_number": 59,
"is_secret": false "is_secret": false
}, },
{ {
@@ -891,7 +891,7 @@
"filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java", "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java",
"hashed_secret": "fc99e6a90240c45f46ed33a4d96a3dbecef41c60", "hashed_secret": "fc99e6a90240c45f46ed33a4d96a3dbecef41c60",
"is_verified": false, "is_verified": false,
"line_number": 61, "line_number": 60,
"is_secret": false "is_secret": false
} }
], ],
@@ -901,7 +901,7 @@
"filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/NonLockingJob.java", "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/NonLockingJob.java",
"hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506", "hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506",
"is_verified": false, "is_verified": false,
"line_number": 52, "line_number": 54,
"is_secret": false "is_secret": false
} }
], ],
@@ -911,7 +911,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/admin/patch/impl/AdminUserPatch.java", "filename": "repository/src/main/java/org/alfresco/repo/admin/patch/impl/AdminUserPatch.java",
"hashed_secret": "87a754b00f7ee047d496808125d6259104e9382a", "hashed_secret": "87a754b00f7ee047d496808125d6259104e9382a",
"is_verified": false, "is_verified": false,
"line_number": 60, "line_number": 62,
"is_secret": false "is_secret": false
} }
], ],
@@ -931,7 +931,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java",
"hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd", "hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd",
"is_verified": false, "is_verified": false,
"line_number": 204, "line_number": 205,
"is_secret": false "is_secret": false
}, },
{ {
@@ -939,7 +939,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java",
"hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd", "hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd",
"is_verified": false, "is_verified": false,
"line_number": 204, "line_number": 205,
"is_secret": false "is_secret": false
} }
], ],
@@ -949,7 +949,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImpl.java",
"hashed_secret": "e25df0eeed8d8eb4e198c3464c7bf747bc26eff8", "hashed_secret": "e25df0eeed8d8eb4e198c3464c7bf747bc26eff8",
"is_verified": false, "is_verified": false,
"line_number": 92, "line_number": 91,
"is_secret": false "is_secret": false
} }
], ],
@@ -959,7 +959,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/security/authentication/SimpleAcceptOrRejectAllAuthenticationComponentImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/security/authentication/SimpleAcceptOrRejectAllAuthenticationComponentImpl.java",
"hashed_secret": "304de25a3d73b68ad408ca3843356b5cf67f6f14", "hashed_secret": "304de25a3d73b68ad408ca3843356b5cf67f6f14",
"is_verified": false, "is_verified": false,
"line_number": 93, "line_number": 89,
"is_secret": false "is_secret": false
} }
], ],
@@ -969,7 +969,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/transfer/TransferServiceImpl2.java", "filename": "repository/src/main/java/org/alfresco/repo/transfer/TransferServiceImpl2.java",
"hashed_secret": "9ae9f2be7702b726809545808a8a9ba2e5a38410", "hashed_secret": "9ae9f2be7702b726809545808a8a9ba2e5a38410",
"is_verified": false, "is_verified": false,
"line_number": 130, "line_number": 129,
"is_secret": false "is_secret": false
} }
], ],
@@ -1303,7 +1303,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 88, "line_number": 86,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1311,7 +1311,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "c464af817287343305cbd6493c593885695df531", "hashed_secret": "c464af817287343305cbd6493c593885695df531",
"is_verified": false, "is_verified": false,
"line_number": 92, "line_number": 90,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1319,7 +1319,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "8ad8572a0b3fc4cb3afc1baaebc97a2cae58eb8c", "hashed_secret": "8ad8572a0b3fc4cb3afc1baaebc97a2cae58eb8c",
"is_verified": false, "is_verified": false,
"line_number": 93, "line_number": 91,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1327,7 +1327,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "915692b4d7465b0084354173d552ac90145dc315", "hashed_secret": "915692b4d7465b0084354173d552ac90145dc315",
"is_verified": false, "is_verified": false,
"line_number": 94, "line_number": 92,
"is_secret": false "is_secret": false
} }
], ],
@@ -1337,7 +1337,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/repo/ContentDiskDriverTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/repo/ContentDiskDriverTest.java",
"hashed_secret": "8c85434f6f339a24b808810bd95629d0f5856355", "hashed_secret": "8c85434f6f339a24b808810bd95629d0f5856355",
"is_verified": false, "is_verified": false,
"line_number": 1280, "line_number": 1257,
"is_secret": false "is_secret": false
} }
], ],
@@ -1347,7 +1347,7 @@
"filename": "repository/src/test/java/org/alfresco/opencmis/CMISTest.java", "filename": "repository/src/test/java/org/alfresco/opencmis/CMISTest.java",
"hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684", "hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684",
"is_verified": false, "is_verified": false,
"line_number": 4134, "line_number": 4001,
"is_secret": false "is_secret": false
} }
], ],
@@ -1357,7 +1357,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/coci/CheckOutCheckInServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/coci/CheckOutCheckInServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 140, "line_number": 141,
"is_secret": false "is_secret": false
} }
], ],
@@ -1367,7 +1367,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 102, "line_number": 101,
"is_secret": false "is_secret": false
} }
], ],
@@ -1387,7 +1387,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplCacheTest.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplCacheTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 68, "line_number": 66,
"is_secret": false "is_secret": false
} }
], ],
@@ -1397,7 +1397,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 116, "line_number": 111,
"is_secret": false "is_secret": false
} }
], ],
@@ -1407,7 +1407,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/LoadTester.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/LoadTester.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 80, "line_number": 79,
"is_secret": false "is_secret": false
} }
], ],
@@ -1417,7 +1417,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/RemoteLoadTester.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/RemoteLoadTester.java",
"hashed_secret": "678721c0433c8cf5c9069a0e70784cf1839e866b", "hashed_secret": "678721c0433c8cf5c9069a0e70784cf1839e866b",
"is_verified": false, "is_verified": false,
"line_number": 58, "line_number": 55,
"is_secret": false "is_secret": false
} }
], ],
@@ -1427,7 +1427,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/invitation/site/InviteSenderTest.java", "filename": "repository/src/test/java/org/alfresco/repo/invitation/site/InviteSenderTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 109, "line_number": 108,
"is_secret": false "is_secret": false
} }
], ],
@@ -1463,7 +1463,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/model/filefolder/FileFolderServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/model/filefolder/FileFolderServiceImplTest.java",
"hashed_secret": "9e10e28cb9c3e381c13d13fa97dd97148982cdaa", "hashed_secret": "9e10e28cb9c3e381c13d13fa97dd97148982cdaa",
"is_verified": false, "is_verified": false,
"line_number": 595, "line_number": 590,
"is_secret": false "is_secret": false
} }
], ],
@@ -1473,7 +1473,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java", "filename": "repository/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 74, "line_number": 75,
"is_secret": false "is_secret": false
} }
], ],
@@ -1483,7 +1483,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java",
"hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0",
"is_verified": false, "is_verified": false,
"line_number": 61, "line_number": 62,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1491,7 +1491,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java",
"hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0",
"is_verified": false, "is_verified": false,
"line_number": 61, "line_number": 62,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1499,7 +1499,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java",
"hashed_secret": "ad8a621976e9a19cc78af501a84638a04fca9b83", "hashed_secret": "ad8a621976e9a19cc78af501a84638a04fca9b83",
"is_verified": false, "is_verified": false,
"line_number": 65, "line_number": 66,
"is_secret": false "is_secret": false
} }
], ],
@@ -1509,7 +1509,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth2/OAuth2CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth2/OAuth2CredentialsStoreServiceTest.java",
"hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0",
"is_verified": false, "is_verified": false,
"line_number": 70, "line_number": 64,
"is_secret": false "is_secret": false
} }
], ],
@@ -1519,7 +1519,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/rendition2/AbstractRenditionIntegrationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/rendition2/AbstractRenditionIntegrationTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 127, "line_number": 128,
"is_secret": false "is_secret": false
} }
], ],
@@ -1529,7 +1529,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 1328, "line_number": 1317,
"is_secret": false "is_secret": false
} }
], ],
@@ -1539,7 +1539,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 68, "line_number": 69,
"is_secret": false "is_secret": false
} }
], ],
@@ -1549,7 +1549,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java",
"hashed_secret": "607e729c2f77c4e821e68e26b4c1f5a4398624e9", "hashed_secret": "607e729c2f77c4e821e68e26b4c1f5a4398624e9",
"is_verified": false, "is_verified": false,
"line_number": 2129, "line_number": 2121,
"is_secret": false "is_secret": false
} }
], ],
@@ -1559,7 +1559,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthorizationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthorizationTest.java",
"hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684", "hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684",
"is_verified": false, "is_verified": false,
"line_number": 37, "line_number": 36,
"is_secret": false "is_secret": false
} }
], ],
@@ -1569,7 +1569,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/CompositePasswordEncoderTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/CompositePasswordEncoderTest.java",
"hashed_secret": "4360136f24381dcec1d35d79fbf7dac4b54dfe97", "hashed_secret": "4360136f24381dcec1d35d79fbf7dac4b54dfe97",
"is_verified": false, "is_verified": false,
"line_number": 301, "line_number": 310,
"is_secret": false "is_secret": false
} }
], ],
@@ -1579,7 +1579,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java",
"hashed_secret": "c4b66dbe168ad1d2b19119494a0da063801bc3bb", "hashed_secret": "c4b66dbe168ad1d2b19119494a0da063801bc3bb",
"is_verified": false, "is_verified": false,
"line_number": 83, "line_number": 82,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1587,7 +1587,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java",
"hashed_secret": "c5aad1895e1dcff195992938f1bcc9954d575ac9", "hashed_secret": "c5aad1895e1dcff195992938f1bcc9954d575ac9",
"is_verified": false, "is_verified": false,
"line_number": 92, "line_number": 91,
"is_secret": false "is_secret": false
} }
], ],
@@ -1597,7 +1597,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/LazyInstantiatingIdentityServiceFacadeUnitTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/LazyInstantiatingIdentityServiceFacadeUnitTest.java",
"hashed_secret": "12e59296b0d17c1ceb345a7adca98574c835ba24", "hashed_secret": "12e59296b0d17c1ceb345a7adca98574c835ba24",
"is_verified": false, "is_verified": false,
"line_number": 45, "line_number": 46,
"is_secret": false "is_secret": false
} }
], ],
@@ -1607,7 +1607,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/SpringBasedIdentityServiceFacadeUnitTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/SpringBasedIdentityServiceFacadeUnitTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 46, "line_number": 47,
"is_secret": false "is_secret": false
} }
], ],
@@ -1627,7 +1627,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/HttpClientTransmitterImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/HttpClientTransmitterImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 75, "line_number": 73,
"is_secret": false "is_secret": false
} }
], ],
@@ -1637,7 +1637,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 664, "line_number": 658,
"is_secret": false "is_secret": false
} }
], ],
@@ -1647,7 +1647,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 203, "line_number": 202,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1655,7 +1655,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java",
"hashed_secret": "ad782ecdac770fc6eb9a62e44f90873fb97fb26b", "hashed_secret": "ad782ecdac770fc6eb9a62e44f90873fb97fb26b",
"is_verified": false, "is_verified": false,
"line_number": 513, "line_number": 512,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1663,7 +1663,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 3687, "line_number": 3593,
"is_secret": false "is_secret": false
} }
], ],
@@ -1673,7 +1673,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java",
"hashed_secret": "8be3c943b1609fffbfc51aad666d0a04adf83c9d", "hashed_secret": "8be3c943b1609fffbfc51aad666d0a04adf83c9d",
"is_verified": false, "is_verified": false,
"line_number": 2682, "line_number": 2510,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1681,7 +1681,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 3772, "line_number": 3517,
"is_secret": false "is_secret": false
} }
], ],
@@ -1691,7 +1691,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/ManifestIntegrationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/ManifestIntegrationTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 115, "line_number": 114,
"is_secret": false "is_secret": false
} }
], ],
@@ -1701,7 +1701,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/TransferManifestTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/TransferManifestTest.java",
"hashed_secret": "5395ebfd174b0a5617e6f409dfbb3e064e3fdf0a", "hashed_secret": "5395ebfd174b0a5617e6f409dfbb3e064e3fdf0a",
"is_verified": false, "is_verified": false,
"line_number": 127, "line_number": 126,
"is_secret": false "is_secret": false
} }
], ],
@@ -1711,7 +1711,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/version/BaseVersionStoreTest.java", "filename": "repository/src/test/java/org/alfresco/repo/version/BaseVersionStoreTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 149, "line_number": 144,
"is_secret": false "is_secret": false
} }
], ],
@@ -1731,7 +1731,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/version/VersionServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/version/VersionServiceImplTest.java",
"hashed_secret": "dee17075a8c96d9c57c15d56b1f64e5abc1caf0b", "hashed_secret": "dee17075a8c96d9c57c15d56b1f64e5abc1caf0b",
"is_verified": false, "is_verified": false,
"line_number": 122, "line_number": 121,
"is_secret": false "is_secret": false
} }
], ],
@@ -1741,7 +1741,7 @@
"filename": "repository/src/test/java/org/alfresco/util/test/junitrules/AlfrescoTenant.java", "filename": "repository/src/test/java/org/alfresco/util/test/junitrules/AlfrescoTenant.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 67, "line_number": 73,
"is_secret": false "is_secret": false
} }
], ],
@@ -1751,7 +1751,7 @@
"filename": "repository/src/test/java/org/alfresco/util/test/testusers/TestUserComponentImpl.java", "filename": "repository/src/test/java/org/alfresco/util/test/testusers/TestUserComponentImpl.java",
"hashed_secret": "f73e110427648014568f7144031a6d48060eab0a", "hashed_secret": "f73e110427648014568f7144031a6d48060eab0a",
"is_verified": false, "is_verified": false,
"line_number": 55, "line_number": 63,
"is_secret": false "is_secret": false
} }
], ],
@@ -1868,5 +1868,5 @@
} }
] ]
}, },
"generated_at": "2025-03-14T07:37:47Z" "generated_at": "2025-03-17T14:00:53Z"
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -31,26 +31,7 @@ package org.alfresco.rest.rm.community.model.rules;
*/ */
public enum ActionsOnRule public enum ActionsOnRule
{ {
COMPLETE_RECORD("declareRecord"), 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");
REOPEN_RECORD("undeclareRecord"),
OPEN_RECORD_FOLDER("openRecordFolder"),
CLOSE_RECORD_FOLDER("closeRecordFolder"),
FILE_TO("fileTo"),
COPY_TO("copyTo"),
MOVE_TO("moveTo"),
LINK_TO("linkTo"),
REJECT("reject"),
REQUEST_INFORMATION("requestInfo"),
COMPLETE_EVENT("completeEvent"),
ADD_RECORD_TYPES("addRecordTypes"),
EXECUTE_SCRIPT("executeScript"),
SEND_EMAIL("sendEmail"),
SET_PROPERTY_VALUE_COLL_SITE("set-property-value"),
SET_PROPERTY_VALUE_RM("setPropertyValue"),
HIDE_RECORD("hide-record"),
DECLARE_VERSION_AS_RECORD("declare-as-version-record"),
DECLARE_AS_RECORD("create-record"),
WORM_LOCK("wormLock");
private String actionValue; private String actionValue;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -31,16 +31,15 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
import org.alfresco.utility.model.TestModel;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for Transfer Container properties * POJO for Transfer Container properties
* *
@@ -57,16 +56,16 @@ public class TransferContainerProperties extends TestModel
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
/************************/ /************************/
/** Optional parameters */ /** Optional parameters */
/************************/ /************************/
@JsonProperty (PROPERTIES_ROOT_NODE_REF) @JsonProperty(PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
@JsonProperty (PROPERTIES_COUNT) @JsonProperty(PROPERTIES_COUNT)
private Integer count; private Integer count;
} }

View File

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

View File

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

View File

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

View File

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

View File

@@ -31,15 +31,14 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for file plan properties * POJO for file plan properties
* *
@@ -51,15 +50,15 @@ import lombok.NoArgsConstructor;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties (ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class UnfiledContainerProperties extends TestModel public class UnfiledContainerProperties extends TestModel
{ {
/*************************/ /*************************/
/** Mandatory parameters */ /** Mandatory parameters */
/*************************/ /*************************/
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER) @JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
private String identifier; private String identifier;
@JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF) @JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF)
private String rootNodeRef; private String rootNodeRef;
} }

View File

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

View File

@@ -34,9 +34,7 @@ package org.alfresco.rest.rm.community.model.user;
*/ */
public enum UserPermissions public enum UserPermissions
{ {
PERMISSION_FILING("Filing"), PERMISSION_FILING("Filing"), PERMISSION_READ_RECORDS("ReadRecords"), PERMISSION_FILE_RECORDS("FileRecords");
PERMISSION_READ_RECORDS("ReadRecords"),
PERMISSION_FILE_RECORDS("FileRecords");
public final String permissionId; public final String permissionId;

View File

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

View File

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

View File

@@ -33,8 +33,8 @@ import io.restassured.RestAssured;
import org.alfresco.rest.core.RMRestProperties; import org.alfresco.rest.core.RMRestProperties;
import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.rm.community.requests.gscore.api.ActionsExecutionAPI;
import org.alfresco.rest.rm.community.requests.RMModelRequest; import org.alfresco.rest.rm.community.requests.RMModelRequest;
import org.alfresco.rest.rm.community.requests.gscore.api.ActionsExecutionAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.FilePlanAPI; import org.alfresco.rest.rm.community.requests.gscore.api.FilePlanAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.FilesAPI; import org.alfresco.rest.rm.community.requests.gscore.api.FilesAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.HoldsAPI; import org.alfresco.rest.rm.community.requests.gscore.api.HoldsAPI;
@@ -43,15 +43,14 @@ import org.alfresco.rest.rm.community.requests.gscore.api.RMUserAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RecordCategoryAPI; import org.alfresco.rest.rm.community.requests.gscore.api.RecordCategoryAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RecordFolderAPI; import org.alfresco.rest.rm.community.requests.gscore.api.RecordFolderAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RecordsAPI; import org.alfresco.rest.rm.community.requests.gscore.api.RecordsAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RetentionScheduleAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.TransferAPI; import org.alfresco.rest.rm.community.requests.gscore.api.TransferAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.TransferContainerAPI; import org.alfresco.rest.rm.community.requests.gscore.api.TransferContainerAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledContainerAPI; import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledContainerAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI; import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RetentionScheduleAPI;
/** /**
* Defines the entire GS Core API * Defines the entire GS Core API {@link http://host:port/gs-api-explorer} select "GS Core API"
* {@link http://host:port/gs-api-explorer} select "GS Core API"
* *
* @author Tuna Aksoy * @author Tuna Aksoy
* @since 2.6 * @since 2.6
@@ -61,8 +60,10 @@ public class GSCoreAPI extends RMModelRequest
/** /**
* Constructor * Constructor
* *
* @param rmRestWrapper RM REST Wrapper * @param rmRestWrapper
* @param rmRestProperties RM REST Properties * RM REST Wrapper
* @param rmRestProperties
* RM REST Properties
*/ */
public GSCoreAPI(RMRestWrapper rmRestWrapper, RMRestProperties rmRestProperties) public GSCoreAPI(RMRestWrapper rmRestWrapper, RMRestProperties rmRestProperties)
{ {
@@ -80,7 +81,7 @@ public class GSCoreAPI extends RMModelRequest
*/ */
public RMSiteAPI usingRMSite() public RMSiteAPI usingRMSite()
{ {
return new RMSiteAPI(getRmRestWrapper()); return new RMSiteAPI(getRmRestWrapper());
} }
/** /**
@@ -193,7 +194,10 @@ public class GSCoreAPI extends RMModelRequest
return new ActionsExecutionAPI(getRmRestWrapper()); return new ActionsExecutionAPI(getRmRestWrapper());
} }
public HoldsAPI usingHoldsAPI() { return new HoldsAPI(getRmRestWrapper()); } public HoldsAPI usingHoldsAPI()
{
return new HoldsAPI(getRmRestWrapper());
}
public RetentionScheduleAPI usingRetentionScheduleAPI() public RetentionScheduleAPI usingRetentionScheduleAPI()
{ {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -27,11 +27,12 @@
package org.alfresco.rest.rm.community.requests.gscore.api; package org.alfresco.rest.rm.community.requests.gscore.api;
import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.apache.commons.lang3.StringUtils.EMPTY; import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.GET; import static org.springframework.http.HttpMethod.GET;
import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.transfer.Transfer; import org.alfresco.rest.rm.community.model.transfer.Transfer;
import org.alfresco.rest.rm.community.model.transfer.TransferChildCollection; import org.alfresco.rest.rm.community.model.transfer.TransferChildCollection;
@@ -46,7 +47,8 @@ import org.alfresco.rest.rm.community.requests.RMModelRequest;
public class TransferAPI extends RMModelRequest public class TransferAPI extends RMModelRequest
{ {
/** /**
* @param rmRestWrapper RM REST Wrapper * @param rmRestWrapper
* RM REST Wrapper
*/ */
public TransferAPI(RMRestWrapper rmRestWrapper) public TransferAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -66,16 +68,19 @@ public class TransferAPI extends RMModelRequest
/** /**
* Gets a transfer. * Gets a transfer.
* *
* @param transferId The identifier of a transfer * @param transferId
* @param parameters The URL parameters to add * The identifier of a transfer
* @param parameters
* The URL parameters to add
* @return The {@link Transfer} for the given {@code transferId} * @return The {@link Transfer} for the given {@code transferId}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>{@code transferId} is not a valid format</li> * <ul>
* <li>authentication fails</li> * <li>{@code transferId} is not a valid format</li>
* <li>current user does not have permission to read {@code transferId}</li> * <li>authentication fails</li>
* <li>{@code transferId} does not exist</li> * <li>current user does not have permission to read {@code transferId}</li>
* </ul> * <li>{@code transferId} does not exist</li>
* </ul>
*/ */
public Transfer getTransfer(String transferId, String parameters) public Transfer getTransfer(String transferId, String parameters)
{ {
@@ -85,9 +90,9 @@ public class TransferAPI extends RMModelRequest
GET, GET,
"/transfers/{transferId}?{parameters}", "/transfers/{transferId}?{parameters}",
transferId, transferId,
parameters parameters));
));
} }
/** /**
* see {@link #getTransfersChildren(String, String)} * see {@link #getTransfersChildren(String, String)}
*/ */
@@ -101,25 +106,27 @@ public class TransferAPI extends RMModelRequest
/** /**
* Gets the children (record folder or record) of a transfer. * Gets the children (record folder or record) of a transfer.
* *
* @param transferId The identifier of a transfer * @param transferId
* @param parameters The URL parameters to add * The identifier of a transfer
* @param parameters
* The URL parameters to add
* @return The {@link TransferChildCollection} for the given {@code transferId} * @return The {@link TransferChildCollection} for the given {@code transferId}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>authentication fails</li> * <ul>
* <li>current user does not have permission to read {@code transferId}</li> * <li>authentication fails</li>
* <li>{@code filePlanId} does not exist</li> * <li>current user does not have permission to read {@code transferId}</li>
*</ul> * <li>{@code filePlanId} does not exist</li>
* </ul>
*/ */
public TransferChildCollection getTransfersChildren(String transferId, String parameters) public TransferChildCollection getTransfersChildren(String transferId, String parameters)
{ {
mandatoryString("transferId", transferId); mandatoryString("transferId", transferId);
return getRmRestWrapper().processModels(TransferChildCollection.class, simpleRequest( return getRmRestWrapper().processModels(TransferChildCollection.class, simpleRequest(
GET, GET,
"transfers/{filePlanId}/children?{parameters}", "transfers/{filePlanId}/children?{parameters}",
transferId, transferId,
parameters parameters));
));
} }
} }

View File

@@ -27,14 +27,15 @@
package org.alfresco.rest.rm.community.requests.gscore.api; package org.alfresco.rest.rm.community.requests.gscore.api;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.PUT;
import static org.alfresco.rest.core.RestRequest.requestWithBody; import static org.alfresco.rest.core.RestRequest.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest; import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject; import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString; import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson; import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.PUT;
import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.transfer.TransferCollection; import org.alfresco.rest.rm.community.model.transfer.TransferCollection;
@@ -50,7 +51,8 @@ import org.alfresco.rest.rm.community.requests.RMModelRequest;
public class TransferContainerAPI extends RMModelRequest public class TransferContainerAPI extends RMModelRequest
{ {
/** /**
* @param rmRestWrapper RM REST Wrapper * @param rmRestWrapper
* RM REST Wrapper
*/ */
public TransferContainerAPI(RMRestWrapper rmRestWrapper) public TransferContainerAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -70,16 +72,19 @@ public class TransferContainerAPI extends RMModelRequest
/** /**
* Gets a transfer container. * Gets a transfer container.
* *
* @param transferContainerId The identifier of a transfer container * @param transferContainerId
* @param parameters The URL parameters to add * The identifier of a transfer container
* @param parameters
* The URL parameters to add
* @return The {@link TransferContainer} for the given {@code transferContainerId} * @return The {@link TransferContainer} for the given {@code transferContainerId}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>{@code transferContainerId} is not a valid format</li> * <ul>
* <li>authentication fails</li> * <li>{@code transferContainerId} is not a valid format</li>
* <li>current user does not have permission to read {@code transferContainerId}</li> * <li>authentication fails</li>
* <li>{@code transferContainerId} does not exist</li> * <li>current user does not have permission to read {@code transferContainerId}</li>
* </ul> * <li>{@code transferContainerId} does not exist</li>
* </ul>
*/ */
public TransferContainer getTransferContainer(String transferContainerId, String parameters) public TransferContainer getTransferContainer(String transferContainerId, String parameters)
{ {
@@ -89,8 +94,7 @@ public class TransferContainerAPI extends RMModelRequest
GET, GET,
"/transfer-containers/{transferContainerId}?{parameters}", "/transfer-containers/{transferContainerId}?{parameters}",
transferContainerId, transferContainerId,
parameters parameters));
));
} }
/** /**
@@ -107,19 +111,24 @@ public class TransferContainerAPI extends RMModelRequest
/** /**
* Updates a transfer container. * Updates a transfer container.
* *
* @param transferContainerModel The transfer container model which holds the information * @param transferContainerModel
* @param transferContainerId The identifier of a transfer container * The transfer container model which holds the information
* @param parameters The URL parameters to add * @param transferContainerId
* @param returns The updated {@link TransferContainer} * The identifier of a transfer container
* @throws RuntimeException for the following cases: * @param parameters
* <ul> * The URL parameters to add
* <li>the update request is invalid or {@code transferContainerId} is not a valid format or {@code transferContainerModel} is invalid</li> * @param returns
* <li>authentication fails</li> * The updated {@link TransferContainer}
* <li>current user does not have permission to update {@code transferContainerId}</li> * @throws RuntimeException
* <li>{@code transferContainerId} does not exist</li> * for the following cases:
* <li>the updated name clashes with an existing transfer container in the current file plan</li> * <ul>
* <li>model integrity exception, including transfer container name with invalid characters</li> * <li>the update request is invalid or {@code transferContainerId} is not a valid format or {@code transferContainerModel} is invalid</li>
* </ul> * <li>authentication fails</li>
* <li>current user does not have permission to update {@code transferContainerId}</li>
* <li>{@code transferContainerId} does not exist</li>
* <li>the updated name clashes with an existing transfer container in the current file plan</li>
* <li>model integrity exception, including transfer container name with invalid characters</li>
* </ul>
*/ */
public TransferContainer updateTransferContainer(TransferContainer transferContainerModel, String transferContainerId, String parameters) public TransferContainer updateTransferContainer(TransferContainer transferContainerModel, String transferContainerId, String parameters)
{ {
@@ -131,8 +140,7 @@ public class TransferContainerAPI extends RMModelRequest
toJson(transferContainerModel), toJson(transferContainerModel),
"transfer-containers/{transferContainerId}?{parameters}", "transfer-containers/{transferContainerId}?{parameters}",
transferContainerId, transferContainerId,
parameters parameters));
));
} }
/** /**
@@ -148,25 +156,27 @@ public class TransferContainerAPI extends RMModelRequest
/** /**
* Gets the children (transfers) of a transfer container. * Gets the children (transfers) of a transfer container.
* *
* @param transferContainerId The identifier of a transfer container * @param transferContainerId
* @param parameters The URL parameters to add * The identifier of a transfer container
* @param parameters
* The URL parameters to add
* @return The {@link TransferCollection} for the given {@code transferContainerId} * @return The {@link TransferCollection} for the given {@code transferContainerId}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>authentication fails</li> * <ul>
* <li>current user does not have permission to read {@code transferContainerId}</li> * <li>authentication fails</li>
* <li>{@code filePlanId} does not exist</li> * <li>current user does not have permission to read {@code transferContainerId}</li>
*</ul> * <li>{@code filePlanId} does not exist</li>
* </ul>
*/ */
public TransferCollection getTransfers(String transferContainerId, String parameters) public TransferCollection getTransfers(String transferContainerId, String parameters)
{ {
mandatoryString("transferContainerId", transferContainerId); mandatoryString("transferContainerId", transferContainerId);
return getRmRestWrapper().processModels(TransferCollection.class, simpleRequest( return getRmRestWrapper().processModels(TransferCollection.class, simpleRequest(
GET, GET,
"transfer-containers/{filePlanId}/transfers?{parameters}", "transfer-containers/{filePlanId}/transfers?{parameters}",
transferContainerId, transferContainerId,
parameters parameters));
));
} }
} }

View File

@@ -26,17 +26,18 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; package org.alfresco.rest.rm.community.requests.gscore.api;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT;
import static org.testng.Assert.fail;
import static org.alfresco.rest.core.RestRequest.requestWithBody; import static org.alfresco.rest.core.RestRequest.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest; import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentType.CONTENT_TYPE; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentType.CONTENT_TYPE;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject; import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString; import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson; import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT;
import static org.testng.Assert.fail;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -44,7 +45,6 @@ import java.util.Iterator;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import io.restassured.builder.RequestSpecBuilder; import io.restassured.builder.RequestSpecBuilder;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
@@ -65,7 +65,8 @@ import org.alfresco.rest.rm.community.util.UnfiledContainerChildMixin;
public class UnfiledContainerAPI extends RMModelRequest public class UnfiledContainerAPI extends RMModelRequest
{ {
/** /**
* @param rmRestWrapper RM REST Wrapper * @param rmRestWrapper
* RM REST Wrapper
*/ */
public UnfiledContainerAPI(RMRestWrapper rmRestWrapper) public UnfiledContainerAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -85,16 +86,19 @@ public class UnfiledContainerAPI extends RMModelRequest
/** /**
* Gets an unfiled record container. * Gets an unfiled record container.
* *
* @param unfiledContainerId The identifier of a unfiled record container * @param unfiledContainerId
* @param parameters The URL parameters to add * The identifier of a unfiled record container
* @param parameters
* The URL parameters to add
* @return The {@link UnfiledContainer} for the given {@code unfiledContainerId} * @return The {@link UnfiledContainer} for the given {@code unfiledContainerId}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>{@code unfiledContainerId} is not a valid format</li> * <ul>
* <li>authentication fails</li> * <li>{@code unfiledContainerId} is not a valid format</li>
* <li>current user does not have permission to read {@code unfiledContainerId}</li> * <li>authentication fails</li>
* <li>{@code unfiledContainerId} does not exist</li> * <li>current user does not have permission to read {@code unfiledContainerId}</li>
* </ul> * <li>{@code unfiledContainerId} does not exist</li>
* </ul>
*/ */
public UnfiledContainer getUnfiledContainer(String unfiledContainerId, String parameters) public UnfiledContainer getUnfiledContainer(String unfiledContainerId, String parameters)
{ {
@@ -104,8 +108,7 @@ public class UnfiledContainerAPI extends RMModelRequest
GET, GET,
"unfiled-containers/{unfiledContainerId}?{parameters}", "unfiled-containers/{unfiledContainerId}?{parameters}",
unfiledContainerId, unfiledContainerId,
parameters parameters));
));
} }
/** /**
@@ -121,26 +124,28 @@ public class UnfiledContainerAPI extends RMModelRequest
/** /**
* Gets the children of an unfiled records container * Gets the children of an unfiled records container
* *
* @param unfiledContainerId The identifier of an unfiled records container * @param unfiledContainerId
* @param parameters The URL parameters to add * The identifier of an unfiled records container
* @param parameters
* The URL parameters to add
* @return The {@link UnfiledContainerChildCollection} for the given {@code unfiledContainerId} * @return The {@link UnfiledContainerChildCollection} for the given {@code unfiledContainerId}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>authentication fails</li> * <ul>
* <li>current user does not have permission to read {@code unfiledContainerId}</li> * <li>authentication fails</li>
* <li>{@code unfiledContainerId} does not exist</li> * <li>current user does not have permission to read {@code unfiledContainerId}</li>
*</ul> * <li>{@code unfiledContainerId} does not exist</li>
* </ul>
*/ */
public UnfiledContainerChildCollection getUnfiledContainerChildren(String unfiledContainerId, String parameters) public UnfiledContainerChildCollection getUnfiledContainerChildren(String unfiledContainerId, String parameters)
{ {
mandatoryString("unfiledContainerId", unfiledContainerId); mandatoryString("unfiledContainerId", unfiledContainerId);
return getRmRestWrapper().processModels(UnfiledContainerChildCollection.class, simpleRequest( return getRmRestWrapper().processModels(UnfiledContainerChildCollection.class, simpleRequest(
GET, GET,
"unfiled-containers/{unfiledContainerId}/children?{parameters}", "unfiled-containers/{unfiledContainerId}/children?{parameters}",
unfiledContainerId, unfiledContainerId,
parameters parameters));
));
} }
/** /**
@@ -157,19 +162,23 @@ public class UnfiledContainerAPI extends RMModelRequest
/** /**
* Creates an unfiled container child. Can be a record or an unfiled record folder. * Creates an unfiled container child. Can be a record or an unfiled record folder.
* *
* @param unfiledContainerChildModel The unfiled container child model which holds the information * @param unfiledContainerChildModel
* @param unfiledContainerId The identifier of an unfiled container * The unfiled container child model which holds the information
* @param parameters The URL parameters to add * @param unfiledContainerId
* The identifier of an unfiled container
* @param parameters
* The URL parameters to add
* @return The created {@link UnfiledContainerChild} * @return The created {@link UnfiledContainerChild}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>{@code unfiledContainerId} is not a valid format or {@code unfiledContainerChildModel} is invalid</li> * <ul>
* <li>authentication fails</li> * <li>{@code unfiledContainerId} is not a valid format or {@code unfiledContainerChildModel} is invalid</li>
* <li>current user does not have permission to add children to {@code unfiledContainerId}</li> * <li>authentication fails</li>
* <li>{@code unfiledContainerId} does not exist</li> * <li>current user does not have permission to add children to {@code unfiledContainerId}</li>
* <li>new name clashes with an existing node in the current parent container</li> * <li>{@code unfiledContainerId} does not exist</li>
* <li>model integrity exception, including node name with invalid characters</li> * <li>new name clashes with an existing node in the current parent container</li>
* </ul> * <li>model integrity exception, including node name with invalid characters</li>
* </ul>
*/ */
public UnfiledContainerChild createUnfiledContainerChild(UnfiledContainerChild unfiledContainerChildModel, String unfiledContainerId, String parameters) public UnfiledContainerChild createUnfiledContainerChild(UnfiledContainerChild unfiledContainerChildModel, String unfiledContainerId, String parameters)
{ {
@@ -181,18 +190,21 @@ public class UnfiledContainerAPI extends RMModelRequest
toJson(unfiledContainerChildModel), toJson(unfiledContainerChildModel),
"unfiled-containers/{unfiledContainerId}/children?{parameters}", "unfiled-containers/{unfiledContainerId}/children?{parameters}",
unfiledContainerId, unfiledContainerId,
parameters parameters));
));
} }
/** /**
* Create a record from file resource * Create a record from file resource
* *
* @param unfiledContainerChildModel {@link UnfiledContainerChild} for electronic record to be created * @param unfiledContainerChildModel
* @param unfiledContainerChildContent {@link File} pointing to the content of the electronic record to be created * {@link UnfiledContainerChild} for electronic record to be created
* @param unfiledContainerId The identifier of a unfiled container * @param unfiledContainerChildContent
* {@link File} pointing to the content of the electronic record to be created
* @param unfiledContainerId
* The identifier of a unfiled container
* @return newly created {@link UnfiledContainerChild} * @return newly created {@link UnfiledContainerChild}
* @throws RuntimeException for invalid recordModel JSON strings * @throws RuntimeException
* for invalid recordModel JSON strings
*/ */
public UnfiledContainerChild uploadRecord(UnfiledContainerChild unfiledContainerChildModel, String unfiledContainerId, File unfiledContainerChildContent) public UnfiledContainerChild uploadRecord(UnfiledContainerChild unfiledContainerChildModel, String unfiledContainerId, File unfiledContainerChildContent)
{ {
@@ -205,10 +217,7 @@ public class UnfiledContainerAPI extends RMModelRequest
fail("Only electronic records are supported"); fail("Only electronic records are supported");
} }
/* /* For file uploads nodeBodyCreate is ignored hence can't be used. Append all Record fields to the request. */
* For file uploads nodeBodyCreate is ignored hence can't be used. Append all Record fields
* to the request.
*/
RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec(); RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec();
JsonNode root; JsonNode root;
try try
@@ -246,19 +255,24 @@ public class UnfiledContainerAPI extends RMModelRequest
/** /**
* Updates an unfiled record container * Updates an unfiled record container
* *
* @param unfiledContainerModel The unfiled record container model which holds the information * @param unfiledContainerModel
* @param unfiledContainerId The identifier of an unfiled record container * The unfiled record container model which holds the information
* @param parameters The URL parameters to add * @param unfiledContainerId
* @param returns The updated {@link UnfiledContainer} * The identifier of an unfiled record container
* @throws RuntimeException for the following cases: * @param parameters
* <ul> * The URL parameters to add
* <li>the update request is invalid or {@code unfiledContainerId} is not a valid format or {@code unfiledContainerModel} is invalid</li> * @param returns
* <li>authentication fails</li> * The updated {@link UnfiledContainer}
* <li>current user does not have permission to update {@code unfiledContainerId}</li> * @throws RuntimeException
* <li>{@code unfiledContainerId} does not exist</li> * for the following cases:
* <li>the updated name clashes with an existing root category of special container in the current fileplan</li> * <ul>
* <li>model integrity exception, including file name with invalid characters</li> * <li>the update request is invalid or {@code unfiledContainerId} is not a valid format or {@code unfiledContainerModel} is invalid</li>
* </ul> * <li>authentication fails</li>
* <li>current user does not have permission to update {@code unfiledContainerId}</li>
* <li>{@code unfiledContainerId} does not exist</li>
* <li>the updated name clashes with an existing root category of special container in the current fileplan</li>
* <li>model integrity exception, including file name with invalid characters</li>
* </ul>
*/ */
public UnfiledContainer updateUnfiledContainer(UnfiledContainer unfiledContainerModel, String unfiledContainerId, String parameters) public UnfiledContainer updateUnfiledContainer(UnfiledContainer unfiledContainerModel, String unfiledContainerId, String parameters)
{ {
@@ -270,8 +284,7 @@ public class UnfiledContainerAPI extends RMModelRequest
toJson(unfiledContainerModel), toJson(unfiledContainerModel),
"unfiled-containers/{unfiledContainerId}?{parameters}", "unfiled-containers/{unfiledContainerId}?{parameters}",
unfiledContainerId, unfiledContainerId,
parameters parameters));
));
} }
} }

View File

@@ -26,12 +26,6 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; package org.alfresco.rest.rm.community.requests.gscore.api;
import static org.alfresco.rest.core.RestRequest.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.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.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.DELETE; import static org.springframework.http.HttpMethod.DELETE;
import static org.springframework.http.HttpMethod.GET; import static org.springframework.http.HttpMethod.GET;
@@ -39,6 +33,13 @@ import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT; import static org.springframework.http.HttpMethod.PUT;
import static org.testng.Assert.fail; 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 java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Iterator; import java.util.Iterator;
@@ -64,7 +65,8 @@ import org.alfresco.rest.rm.community.util.UnfiledContainerChildMixin;
public class UnfiledRecordFolderAPI extends RMModelRequest public class UnfiledRecordFolderAPI extends RMModelRequest
{ {
/** /**
* @param rmRestWrapper RM REST Wrapper * @param rmRestWrapper
* RM REST Wrapper
*/ */
public UnfiledRecordFolderAPI(RMRestWrapper rmRestWrapper) public UnfiledRecordFolderAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -84,16 +86,19 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
/** /**
* Gets an unfiled record folder. * Gets an unfiled record folder.
* *
* @param unfiledRecordFolderId The identifier of a unfiled record folder * @param unfiledRecordFolderId
* @param parameters The URL parameters to add * The identifier of a unfiled record folder
* @param parameters
* The URL parameters to add
* @return The {@link UnfiledRecordFolder} for the given {@code unfiledRecordFolderId} * @return The {@link UnfiledRecordFolder} for the given {@code unfiledRecordFolderId}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>{@code unfiledRecordFolderId} is not a valid format</li> * <ul>
* <li>authentication fails</li> * <li>{@code unfiledRecordFolderId} is not a valid format</li>
* <li>current user does not have permission to read {@code unfiledRecordFolderId}</li> * <li>authentication fails</li>
* <li>{@code unfiledRecordFolderId} does not exist</li> * <li>current user does not have permission to read {@code unfiledRecordFolderId}</li>
* </ul> * <li>{@code unfiledRecordFolderId} does not exist</li>
* </ul>
*/ */
public UnfiledRecordFolder getUnfiledRecordFolder(String unfiledRecordFolderId, String parameters) public UnfiledRecordFolder getUnfiledRecordFolder(String unfiledRecordFolderId, String parameters)
{ {
@@ -103,8 +108,7 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
GET, GET,
"unfiled-record-folders/{unfiledRecordFolderId}?{parameters}", "unfiled-record-folders/{unfiledRecordFolderId}?{parameters}",
unfiledRecordFolderId, unfiledRecordFolderId,
parameters parameters));
));
} }
/** /**
@@ -120,26 +124,28 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
/** /**
* Gets the children of an unfiled record folder * Gets the children of an unfiled record folder
* *
* @param unfiledRecordFolderId The identifier of an unfiled records folder * @param unfiledRecordFolderId
* @param parameters The URL parameters to add * The identifier of an unfiled records folder
* @param parameters
* The URL parameters to add
* @return The {@link UnfiledRecordFolderChildCollection} for the given {@code unfiledRecordFolderId} * @return The {@link UnfiledRecordFolderChildCollection} for the given {@code unfiledRecordFolderId}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>authentication fails</li> * <ul>
* <li>current user does not have permission to read {@code unfiledRecordFolderId}</li> * <li>authentication fails</li>
* <li>{@code unfiledRecordFolderId} does not exist</li> * <li>current user does not have permission to read {@code unfiledRecordFolderId}</li>
*</ul> * <li>{@code unfiledRecordFolderId} does not exist</li>
* </ul>
*/ */
public UnfiledContainerChildCollection getUnfiledRecordFolderChildren(String unfiledRecordFolderId, String parameters) public UnfiledContainerChildCollection getUnfiledRecordFolderChildren(String unfiledRecordFolderId, String parameters)
{ {
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId); mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
return getRmRestWrapper().processModels(UnfiledContainerChildCollection.class, simpleRequest( return getRmRestWrapper().processModels(UnfiledContainerChildCollection.class, simpleRequest(
GET, GET,
"unfiled-record-folders/{unfiledRecordFolderId}/children?{parameters}", "unfiled-record-folders/{unfiledRecordFolderId}/children?{parameters}",
unfiledRecordFolderId, unfiledRecordFolderId,
parameters parameters));
));
} }
/** /**
@@ -156,19 +162,23 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
/** /**
* Creates an unfiled record folder child. Can be a record or an unfiled record folder. * Creates an unfiled record folder child. Can be a record or an unfiled record folder.
* *
* @param unfiledRecordFolderChildModel The unfiled folder child model which holds the information * @param unfiledRecordFolderChildModel
* @param unfiledRecordFolderId The identifier of an unfiled folder * The unfiled folder child model which holds the information
* @param parameters The URL parameters to add * @param unfiledRecordFolderId
* The identifier of an unfiled folder
* @param parameters
* The URL parameters to add
* @return The created {@link UnfiledRecordFolderChild} * @return The created {@link UnfiledRecordFolderChild}
* @throws RuntimeException for the following cases: * @throws RuntimeException
* <ul> * for the following cases:
* <li>{@code unfiledRecordFolderId} is not a valid format or {@code unfiledRecordFolderChildModel} is invalid</li> * <ul>
* <li>authentication fails</li> * <li>{@code unfiledRecordFolderId} is not a valid format or {@code unfiledRecordFolderChildModel} is invalid</li>
* <li>current user does not have permission to add children to {@code unfiledRecordFolderId}</li> * <li>authentication fails</li>
* <li>{@code unfiledRecordFolderId} does not exist</li> * <li>current user does not have permission to add children to {@code unfiledRecordFolderId}</li>
* <li>new name clashes with an existing node in the current parent container</li> * <li>{@code unfiledRecordFolderId} does not exist</li>
* <li>model integrity exception, including node name with invalid characters</li> * <li>new name clashes with an existing node in the current parent container</li>
* </ul> * <li>model integrity exception, including node name with invalid characters</li>
* </ul>
*/ */
public UnfiledContainerChild createUnfiledRecordFolderChild(UnfiledContainerChild unfiledRecordFolderChildModel, String unfiledRecordFolderId, String parameters) public UnfiledContainerChild createUnfiledRecordFolderChild(UnfiledContainerChild unfiledRecordFolderChildModel, String unfiledRecordFolderId, String parameters)
{ {
@@ -180,18 +190,21 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
toJson(unfiledRecordFolderChildModel), toJson(unfiledRecordFolderChildModel),
"unfiled-record-folders/{unfiledRecordFolderId}/children?{parameters}", "unfiled-record-folders/{unfiledRecordFolderId}/children?{parameters}",
unfiledRecordFolderId, unfiledRecordFolderId,
parameters parameters));
));
} }
/** /**
* Create a record from file resource * Create a record from file resource
* *
* @param unfiledRecordFolderChildModel {@link UnfiledContainerChild} for electronic record to be created * @param unfiledRecordFolderChildModel
* @param unfiledRecordFolderChildContent {@link File} pointing to the content of the electronic record to be created * {@link UnfiledContainerChild} for electronic record to be created
* @param unfiledRecordFolderId The identifier of a unfiled record folder * @param unfiledRecordFolderChildContent
* {@link File} pointing to the content of the electronic record to be created
* @param unfiledRecordFolderId
* The identifier of a unfiled record folder
* @return newly created {@link UnfiledContainerChild} * @return newly created {@link UnfiledContainerChild}
* @throws RuntimeException for invalid recordModel JSON strings * @throws RuntimeException
* for invalid recordModel JSON strings
*/ */
public UnfiledContainerChild uploadRecord(UnfiledContainerChild unfiledRecordFolderChildModel, String unfiledRecordFolderId, File unfiledRecordFolderChildContent) public UnfiledContainerChild uploadRecord(UnfiledContainerChild unfiledRecordFolderChildModel, String unfiledRecordFolderId, File unfiledRecordFolderChildContent)
{ {
@@ -204,10 +217,7 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
fail("Only electronic records are supported"); fail("Only electronic records are supported");
} }
/* /* For file uploads nodeBodyCreate is ignored hence can't be used. Append all Record fields to the request. */
* For file uploads nodeBodyCreate is ignored hence can't be used. Append all Record fields
* to the request.
*/
RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec(); RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec();
JsonNode root; JsonNode root;
try try
@@ -245,19 +255,24 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
/** /**
* Updates an unfiled record folder * Updates an unfiled record folder
* *
* @param unfiledRecordFolderModel The unfiled record folder model which holds the information * @param unfiledRecordFolderModel
* @param unfiledRecordFolderId The identifier of an unfiled record folder * The unfiled record folder model which holds the information
* @param parameters The URL parameters to add * @param unfiledRecordFolderId
* @param returns The updated {@link UnfiledRecordFolder} * The identifier of an unfiled record folder
* @throws RuntimeException for the following cases: * @param parameters
* <ul> * The URL parameters to add
* <li>the update request is invalid or {@code unfiledRecordFolderId} is not a valid format or {@code unfiledRecordFolderModel} is invalid</li> * @param returns
* <li>authentication fails</li> * The updated {@link UnfiledRecordFolder}
* <li>current user does not have permission to update {@code unfiledRecordFolderId}</li> * @throws RuntimeException
* <li>{@code unfiledRecordFolderId} does not exist</li> * for the following cases:
* <li>the updated name clashes with an existing root category of special container in the current fileplan</li> * <ul>
* <li>model integrity exception, including file name with invalid characters</li> * <li>the update request is invalid or {@code unfiledRecordFolderId} is not a valid format or {@code unfiledRecordFolderModel} is invalid</li>
* </ul> * <li>authentication fails</li>
* <li>current user does not have permission to update {@code unfiledRecordFolderId}</li>
* <li>{@code unfiledRecordFolderId} does not exist</li>
* <li>the updated name clashes with an existing root category of special container in the current fileplan</li>
* <li>model integrity exception, including file name with invalid characters</li>
* </ul>
*/ */
public UnfiledRecordFolder updateUnfiledRecordFolder(UnfiledRecordFolder unfiledRecordFolderModel, String unfiledRecordFolderId, String parameters) public UnfiledRecordFolder updateUnfiledRecordFolder(UnfiledRecordFolder unfiledRecordFolderModel, String unfiledRecordFolderId, String parameters)
{ {
@@ -269,22 +284,23 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
toJson(unfiledRecordFolderModel), toJson(unfiledRecordFolderModel),
"unfiled-record-folders/{unfiledRecordFolderId}?{parameters}", "unfiled-record-folders/{unfiledRecordFolderId}?{parameters}",
unfiledRecordFolderId, unfiledRecordFolderId,
parameters parameters));
));
} }
/** /**
* Deletes an unfiled record folder. * Deletes an unfiled record folder.
* *
* @param unfiledRecordFolderId The identifier of a unfiled record folder * @param unfiledRecordFolderId
* @throws RuntimeException for the following cases: * The identifier of a unfiled record folder
* <ul> * @throws RuntimeException
* <li>{@code unfiledRecordFolderId} is not a valid format</li> * for the following cases:
* <li>authentication fails</li> * <ul>
* <li>current user does not have permission to delete {@code unfiledRecordFolderId}</li> * <li>{@code unfiledRecordFolderId} is not a valid format</li>
* <li>{@code unfiledRecordFolderId} does not exist</li> * <li>authentication fails</li>
* <li>{@code unfiledRecordFolderId} is locked and cannot be deleted</li> * <li>current user does not have permission to delete {@code unfiledRecordFolderId}</li>
* </ul> * <li>{@code unfiledRecordFolderId} does not exist</li>
* <li>{@code unfiledRecordFolderId} is locked and cannot be deleted</li>
* </ul>
*/ */
public void deleteUnfiledRecordFolder(String unfiledRecordFolderId) public void deleteUnfiledRecordFolder(String unfiledRecordFolderId)
{ {
@@ -293,8 +309,7 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
getRmRestWrapper().processEmptyModel(simpleRequest( getRmRestWrapper().processEmptyModel(simpleRequest(
DELETE, DELETE,
"unfiled-record-folders/{recordFolderId}", "unfiled-record-folders/{recordFolderId}",
unfiledRecordFolderId unfiledRecordFolderId));
));
} }
} }

View File

@@ -44,12 +44,10 @@ public class CommonTestUtils
/** Private constructor to prevent instantiation. */ /** Private constructor to prevent instantiation. */
private CommonTestUtils() private CommonTestUtils()
{ {}
}
/** /**
* Generate a prefix to namespace the objects in a test class. Note that four random hex digits should be good enough to avoid * Generate a prefix to namespace the objects in a test class. Note that four random hex digits should be good enough to avoid collisions when running locally and should also be short enough to maintain readability.
* collisions when running locally and should also be short enough to maintain readability.
*/ */
public static String generateTestPrefix(Class<?> clazz) public static String generateTestPrefix(Class<?> clazz)
{ {

View File

@@ -41,10 +41,8 @@ import com.github.dockerjava.api.model.Frame;
import com.github.dockerjava.core.DockerClientBuilder; import com.github.dockerjava.core.DockerClientBuilder;
import com.github.dockerjava.core.command.LogContainerResultCallback; import com.github.dockerjava.core.command.LogContainerResultCallback;
import com.github.dockerjava.netty.NettyDockerCmdExecFactory; import com.github.dockerjava.netty.NettyDockerCmdExecFactory;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.alfresco.utility.Utility;
import org.apache.commons.lang.SystemUtils; import org.apache.commons.lang.SystemUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -52,6 +50,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.alfresco.utility.Utility;
/** /**
* Helper class for interaction with docker containers * Helper class for interaction with docker containers
* *
@@ -68,29 +68,31 @@ public class DockerHelper
private DockerClient dockerClient; private DockerClient dockerClient;
@Autowired @Autowired
public DockerHelper(@Value ("${docker.host}") String dockerHost) public DockerHelper(@Value("${docker.host}") String dockerHost)
{ {
if (SystemUtils.IS_OS_WINDOWS) if (SystemUtils.IS_OS_WINDOWS)
{ {
this.dockerClient = DockerClientBuilder this.dockerClient = DockerClientBuilder
.getInstance(dockerHost) .getInstance(dockerHost)
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory()) .withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
.build(); .build();
} }
else else
{ {
this.dockerClient = DockerClientBuilder this.dockerClient = DockerClientBuilder
.getInstance() .getInstance()
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory()) .withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
.build(); .build();
} }
} }
/** /**
* Method for returning logs of docker container * Method for returning logs of docker container
* *
* @param containerId - ID of the container * @param containerId
* @param timeStamp - get the logs since a specific timestamp * - ID of the container
* @param timeStamp
* - get the logs since a specific timestamp
* @return list of strings, where every string is log line * @return list of strings, where every string is log line
*/ */
private List<String> getDockerLogs(String containerId, int timeStamp) private List<String> getDockerLogs(String containerId, int timeStamp)
@@ -99,14 +101,13 @@ public class DockerHelper
final LogContainerCmd logContainerCmd = getDockerClient().logContainerCmd(containerId); final LogContainerCmd logContainerCmd = getDockerClient().logContainerCmd(containerId);
logContainerCmd.withStdOut(true) logContainerCmd.withStdOut(true)
.withStdErr(true) .withStdErr(true)
.withSince(timeStamp) // UNIX timestamp to filter logs. Output log-entries since that timestamp. .withSince(timeStamp) // UNIX timestamp to filter logs. Output log-entries since that timestamp.
.withTimestamps(true); //print timestamps for every log line .withTimestamps(true); // print timestamps for every log line
try try
{ {
logContainerCmd.exec(new LogContainerResultCallback() logContainerCmd.exec(new LogContainerResultCallback() {
{
@Override @Override
public void onNext(Frame item) public void onNext(Frame item)
{ {
@@ -116,7 +117,7 @@ public class DockerHelper
} }
catch (InterruptedException e) catch (InterruptedException e)
{ {
Thread.currentThread().interrupt(); // set interrupt flag Thread.currentThread().interrupt(); // set interrupt flag
LOGGER.error("Failed to retrieve logs of container " + containerId, e); LOGGER.error("Failed to retrieve logs of container " + containerId, e);
} }
@@ -148,14 +149,14 @@ public class DockerHelper
/** /**
* Helper method to check if the specified exception is thrown in alfresco logs * Helper method to check if the specified exception is thrown in alfresco logs
* *
* @param expectedException the expected exception to be thrown * @param expectedException
* the expected exception to be thrown
* @throws Exception * @throws Exception
*/ */
public void checkExceptionIsInAlfrescoLogs(String expectedException) throws Exception public void checkExceptionIsInAlfrescoLogs(String expectedException) throws Exception
{ {
//Retry the operation because sometimes it takes few seconds to throw the exception // Retry the operation because sometimes it takes few seconds to throw the exception
Utility.sleep(6000, 30000, () -> Utility.sleep(6000, 30000, () -> {
{
List<String> alfrescoLogs = getAlfrescoLogs(); List<String> alfrescoLogs = getAlfrescoLogs();
assertTrue(alfrescoLogs.stream().anyMatch(logLine -> logLine.contains(expectedException))); assertTrue(alfrescoLogs.stream().anyMatch(logLine -> logLine.contains(expectedException)));
}); });
@@ -164,7 +165,8 @@ public class DockerHelper
/** /**
* Method for finding docker containers after the image name * Method for finding docker containers after the image name
* *
* @param imageName - the name of the image used by container * @param imageName
* - the name of the image used by container
* @return the containers * @return the containers
*/ */
private List<Container> findContainersByImageName(String imageName) private List<Container> findContainersByImageName(String imageName)
@@ -172,7 +174,7 @@ public class DockerHelper
final List<Container> containers = getDockerClient().listContainersCmd().withShowAll(true).exec(); final List<Container> containers = getDockerClient().listContainersCmd().withShowAll(true).exec();
return containers.stream() return containers.stream()
.filter(container -> container.getImage().contains(imageName)) .filter(container -> container.getImage().contains(imageName))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
} }

View File

@@ -31,9 +31,7 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped;
import org.alfresco.rest.rm.community.model.record.RecordProperties; import org.alfresco.rest.rm.community.model.record.RecordProperties;
/** /**
* Mix class for Record POJO class * Mix class for Record POJO class Mix-in annotations are: a way to associate annotations with classes without modifying (target) classes themselves.
* Mix-in annotations are: a way to associate annotations with classes
* without modifying (target) classes themselves.
* *
* @author Rodica Sutu * @author Rodica Sutu
* @since 2.6 * @since 2.6
@@ -41,8 +39,7 @@ import org.alfresco.rest.rm.community.model.record.RecordProperties;
public abstract class FilePlanComponentMixIn public abstract class FilePlanComponentMixIn
{ {
/** /**
* Annotation used to indicate that a property should be serialized "unwrapped" * Annotation used to indicate that a property should be serialized "unwrapped" Its properties are instead included as properties of its containing Object
* Its properties are instead included as properties of its containing Object
*/ */
@JsonUnwrapped @JsonUnwrapped
abstract RecordProperties getProperties(); abstract RecordProperties getProperties();

View File

@@ -44,30 +44,36 @@ public class ParameterCheck
/** /**
* Checks if a given {@link String} is blank or not, i.e. not <code>null<code>, "" or " ". * Checks if a given {@link String} is blank or not, i.e. not <code>null<code>, "" or " ".
* *
* @param paramName The name of the parameter to check * @param paramName
* @param paramValue The value of the parameter to check * The name of the parameter to check
* @throws IllegalArgumentException Throws an exception if the given value is blank * @param paramValue
* The value of the parameter to check
* @throws IllegalArgumentException
* Throws an exception if the given value is blank
*/ */
public static void mandatoryString(final String paramName, final String paramValue) throws IllegalArgumentException public static void mandatoryString(final String paramName, final String paramValue) throws IllegalArgumentException
{ {
if (isBlank(paramValue)) if (isBlank(paramValue))
{ {
throw new IllegalArgumentException("'" + paramName + "' is a mandatory parameter."); throw new IllegalArgumentException("'" + paramName + "' is a mandatory parameter.");
} }
} }
/** /**
* Checks if a given {@link Object} is null or not * Checks if a given {@link Object} is null or not
* *
* @param paramName The name of the parameter to check * @param paramName
* @param object The value of the parameter to check * The name of the parameter to check
* @throws IllegalArgumentException Throws an exception if the given value is null * @param object
* The value of the parameter to check
* @throws IllegalArgumentException
* Throws an exception if the given value is null
*/ */
public static void mandatoryObject(final String paramName, final Object object) throws IllegalArgumentException public static void mandatoryObject(final String paramName, final Object object) throws IllegalArgumentException
{ {
if (object == null) if (object == null)
{ {
throw new IllegalArgumentException("'" + paramName + "' is a mandatory parameter."); throw new IllegalArgumentException("'" + paramName + "' is a mandatory parameter.");
} }
} }
} }

View File

@@ -35,7 +35,6 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.type.CollectionType; import com.fasterxml.jackson.databind.type.CollectionType;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -71,11 +70,15 @@ public class PojoUtility
/** /**
* Converting object to JSON string * Converting object to JSON string
* *
* @param model The java object model to convert * @param model
* @param target Class (or interface) whose annotations to effectively override * The java object model to convert
* @param mixinSource Class (or interface) whose annotations are to be "added" to target's annotations, overriding as necessary * @param target
* Class (or interface) whose annotations to effectively override
* @param mixinSource
* Class (or interface) whose annotations are to be "added" to target's annotations, overriding as necessary
* @return The converted java object as JSON string * @return The converted java object as JSON string
* @throws JsonProcessingException Throws exceptions if the given object doesn't match to the POJO class model * @throws JsonProcessingException
* Throws exceptions if the given object doesn't match to the POJO class model
*/ */
public static String toJson(Object model, Class<?> target, Class<?> mixinSource) public static String toJson(Object model, Class<?> target, Class<?> mixinSource)
{ {
@@ -85,15 +88,15 @@ public class PojoUtility
if (target != null && mixinSource != null) if (target != null && mixinSource != null)
{ {
//inject the "mix-in" annotations from FilePlanComponentMix to // inject the "mix-in" annotations from FilePlanComponentMix to
// FilePlanComponent POJO class when converting to json // FilePlanComponent POJO class when converting to json
mapper.addMixIn(target, mixinSource); mapper.addMixIn(target, mixinSource);
} }
//include only non null values // include only non null values
mapper.setSerializationInclusion(Include.NON_NULL); mapper.setSerializationInclusion(Include.NON_NULL);
//return the json object // return the json object
try try
{ {
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(model); return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(model);
@@ -105,12 +108,15 @@ public class PojoUtility
} }
/** /**
* Converting json to java object * Converting json to java object
* *
* @param json The json object to convert * @param json
* @param classz Class for the java object * The json object to convert
* @param classz
* Class for the java object
* @return The converted java object * @return The converted java object
* @throws JsonProcessingException Throws exceptions if the given object doesn't match to the POJO class model * @throws JsonProcessingException
* Throws exceptions if the given object doesn't match to the POJO class model
*/ */
public static <T> T jsonToObject(JSONObject json, Class<T> classz) public static <T> T jsonToObject(JSONObject json, Class<T> classz)
{ {
@@ -135,10 +141,13 @@ public class PojoUtility
/** /**
* Converting json array into a list of java objects * Converting json array into a list of java objects
* *
* @param json The json array to convert * @param json
* @param classz Class for the java object * The json array to convert
* @param classz
* Class for the java object
* @return The list of converted java objects * @return The list of converted java objects
* @throws JsonProcessingException Throws exceptions if the given object doesn't match to the POJO class model * @throws JsonProcessingException
* Throws exceptions if the given object doesn't match to the POJO class model
*/ */
public static <T> List<T> jsonToObject(JSONArray json, Class<T> classz) public static <T> List<T> jsonToObject(JSONArray json, Class<T> classz)
{ {
@@ -159,7 +168,6 @@ public class PojoUtility
LOGGER.error("Unable to convert the json array into a java collection.", e); LOGGER.error("Unable to convert the json array into a java collection.", e);
} }
return asList; return asList;
} }

View File

@@ -44,16 +44,19 @@ import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
public class ReviewPeriodSerializer extends JsonSerializer<ReviewPeriod> public class ReviewPeriodSerializer extends JsonSerializer<ReviewPeriod>
{ {
/** /**
* @param value The Review Period value that is being serialized. * @param value
* @param gen Jackson utility is responsible for writing JSON * The Review Period value that is being serialized.
* @param serializers Provider for getting access to other serializers and configurations registered with the ObjectMapper. * @param gen
* Jackson utility is responsible for writing JSON
* @param serializers
* Provider for getting access to other serializers and configurations registered with the ObjectMapper.
* @throws IOException * @throws IOException
* @throws JsonProcessingException * @throws JsonProcessingException
*/ */
@Override @Override
public void serialize(ReviewPeriod value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException public void serialize(ReviewPeriod value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException
{ {
//create the custom string value for the Review Period type // create the custom string value for the Review Period type
gen.writeString(new StringBuilder().append(value.getPeriodType()).append("|").append(value.getExpression()).toString()); gen.writeString(new StringBuilder().append(value.getPeriodType()).append("|").append(value.getExpression()).toString());
} }
} }

View File

@@ -31,9 +31,7 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped;
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChildProperties; import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChildProperties;
/** /**
* Mix class for Record POJO class * Mix class for Record POJO class Mix-in annotations are: a way to associate annotations with classes without modifying (target) classes themselves.
* Mix-in annotations are: a way to associate annotations with classes
* without modifying (target) classes themselves.
* *
* @author Tuna Aksoy * @author Tuna Aksoy
* @since 2.6 * @since 2.6
@@ -41,8 +39,7 @@ import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChi
public abstract class UnfiledContainerChildMixin public abstract class UnfiledContainerChildMixin
{ {
/** /**
* Annotation used to indicate that a property should be serialized "unwrapped" * Annotation used to indicate that a property should be serialized "unwrapped" Its properties are instead included as properties of its containing Object
* Its properties are instead included as properties of its containing Object
*/ */
@JsonUnwrapped @JsonUnwrapped
abstract UnfiledContainerChildProperties getProperties(); abstract UnfiledContainerChildProperties getProperties();

View File

@@ -29,7 +29,6 @@ package org.alfresco.rest.v0;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.List; import java.util.List;
import org.alfresco.rest.core.v0.BaseAPI;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
@@ -37,6 +36,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.alfresco.rest.core.v0.BaseAPI;
/** /**
* The v0 REST API for copy-to (which supports multi-item copy). * The v0 REST API for copy-to (which supports multi-item copy).
* *
@@ -54,14 +55,17 @@ public class CopyToAPI extends BaseAPI
/** /**
* Copy a list of nodes to the target container. * Copy a list of nodes to the target container.
* *
* @param user The username of the user to use. * @param user
* @param password The password of the user. * The username of the user to use.
* @param targetContainerPath The destination to copy the nodes to. This should be in the format * @param password
* "{site}/{container}/{path}", "{site}/{container}", "{store_type}/{store_id}/{id}/{path}", * The password of the user.
* "{store_type}/{store_id}/{id}" or "{store_type}/{store_id}". * @param targetContainerPath
* @param nodeRefs The list of nodes to copy. * The destination to copy the nodes to. This should be in the format "{site}/{container}/{path}", "{site}/{container}", "{store_type}/{store_id}/{id}/{path}", "{store_type}/{store_id}/{id}" or "{store_type}/{store_id}".
* @param nodeRefs
* The list of nodes to copy.
* @return The HTTP Response. * @return The HTTP Response.
* @throws AssertionError If the API call didn't return a 200 response. * @throws AssertionError
* If the API call didn't return a 200 response.
*/ */
public HttpResponse copyTo(String user, String password, String targetContainerPath, List<String> nodeRefs) public HttpResponse copyTo(String user, String password, String targetContainerPath, List<String> nodeRefs)
{ {
@@ -71,15 +75,19 @@ public class CopyToAPI extends BaseAPI
/** /**
* Copy a list of nodes to the target container. * Copy a list of nodes to the target container.
* *
* @param user The username of the user to use. * @param user
* @param password The password of the user. * The username of the user to use.
* @param expectedStatusCode The expected return status code. * @param password
* @param targetContainerPath The destination to copy the nodes to. This should be in the format * The password of the user.
* "{site}/{container}/{path}", "{site}/{container}", "{store_type}/{store_id}/{id}/{path}", * @param expectedStatusCode
* "{store_type}/{store_id}/{id}" or "{store_type}/{store_id}". * The expected return status code.
* @param nodeRefs The list of nodes to copy. * @param targetContainerPath
* The destination to copy the nodes to. This should be in the format "{site}/{container}/{path}", "{site}/{container}", "{store_type}/{store_id}/{id}/{path}", "{store_type}/{store_id}/{id}" or "{store_type}/{store_id}".
* @param nodeRefs
* The list of nodes to copy.
* @return The HTTP Response. * @return The HTTP Response.
* @throws AssertionError If the API didn't return the expected status code. * @throws AssertionError
* If the API didn't return the expected status code.
*/ */
public HttpResponse copyTo(String user, String password, int expectedStatusCode, String targetContainerPath, List<String> nodeRefs) public HttpResponse copyTo(String user, String password, int expectedStatusCode, String targetContainerPath, List<String> nodeRefs)
{ {
@@ -87,6 +95,6 @@ public class CopyToAPI extends BaseAPI
requestParams.put("nodeRefs", new JSONArray(nodeRefs)); requestParams.put("nodeRefs", new JSONArray(nodeRefs));
return doSlingshotPostJsonRequest(user, password, expectedStatusCode, requestParams, return doSlingshotPostJsonRequest(user, password, expectedStatusCode, requestParams,
MessageFormat.format(COPY_TO_API, "{0}", targetContainerPath)); MessageFormat.format(COPY_TO_API, "{0}", targetContainerPath));
} }
} }

View File

@@ -26,19 +26,22 @@
*/ */
package org.alfresco.rest.v0; package org.alfresco.rest.v0;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertTrue;
import java.text.MessageFormat; import java.text.MessageFormat;
import org.alfresco.rest.core.v0.BaseAPI;
import org.alfresco.rest.rm.community.model.custom.CustomDefinitions;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import static org.testng.AssertJUnit.assertTrue;
import static org.testng.AssertJUnit.assertEquals; import org.alfresco.rest.core.v0.BaseAPI;
import static org.testng.AssertJUnit.assertNotNull; import org.alfresco.rest.rm.community.model.custom.CustomDefinitions;
/** /**
* Methods to make API requests using v0 API on Records Management Custom Model Reference Definitions * Methods to make API requests using v0 API on Records Management Custom Model Reference Definitions
* *
@@ -68,11 +71,13 @@ public class CustomDefinitionsAPI extends BaseAPI
/** /**
* Helper method to get the reference id for a custom reference * Helper method to get the reference id for a custom reference
* *
* @param adminUser user with administrative privileges * @param adminUser
* @param adminPassword password for adminUser * user with administrative privileges
* @param customDefinition custom reference definition name * @param adminPassword
* @return <code>reference id</code> if the customDefinition is found * password for adminUser
* <code> null </code> otherwise * @param customDefinition
* custom reference definition name
* @return <code>reference id</code> if the customDefinition is found <code> null </code> otherwise
* *
*/ */
public String getCustomReferenceId(String adminUser, String adminPassword, String customDefinition) public String getCustomReferenceId(String adminUser, String adminPassword, String customDefinition)
@@ -88,17 +93,14 @@ public class CustomDefinitionsAPI extends BaseAPI
{ {
JSONObject item = customDefinitions.getJSONObject(i); JSONObject item = customDefinitions.getJSONObject(i);
boolean hasSource = customDefinition.equalsIgnoreCase( boolean hasSource = customDefinition.equalsIgnoreCase(
item.has("source") ? item.getString("source") : null item.has("source") ? item.getString("source") : null);
);
boolean hasTarget = customDefinition.equalsIgnoreCase( boolean hasTarget = customDefinition.equalsIgnoreCase(
item.has("target") ? item.getString("target") : null item.has("target") ? item.getString("target") : null);
);
boolean hasLabel = customDefinition.equalsIgnoreCase( boolean hasLabel = customDefinition.equalsIgnoreCase(
item.has("label") ? item.getString("label") : null item.has("label") ? item.getString("label") : null);
); if (hasSource || hasTarget || hasLabel)
if ( hasSource || hasTarget || hasLabel)
{ {
return item.getString("refId"); return item.getString("refId");
} }
@@ -116,12 +118,18 @@ public class CustomDefinitionsAPI extends BaseAPI
/** /**
* Helper method to add custom reference instance to the specified record node * Helper method to add custom reference instance to the specified record node
* *
* @param adminUser user with administrative privileges * @param adminUser
* @param adminPassword password for adminUser * user with administrative privileges
* @param recordNodeIdFrom node ref to set a custom reference * @param adminPassword
* @param recordNodeIdTo node ref of the to record * password for adminUser
* @param relationshipType relation type to be created * @param recordNodeIdFrom
* @throws AssertionError if the creation fails. * node ref to set a custom reference
* @param recordNodeIdTo
* node ref of the to record
* @param relationshipType
* relation type to be created
* @throws AssertionError
* if the creation fails.
*/ */
public void createRelationship( public void createRelationship(
String adminUser, String adminUser,
@@ -130,60 +138,63 @@ public class CustomDefinitionsAPI extends BaseAPI
String recordNodeIdTo, String recordNodeIdTo,
CustomDefinitions relationshipType) CustomDefinitions relationshipType)
{ {
//create the request body // create the request body
JSONObject requestParams = new JSONObject(); JSONObject requestParams = new JSONObject();
requestParams.put("toNode", NODE_REF_WORKSPACE_SPACES_STORE + recordNodeIdTo); requestParams.put("toNode", NODE_REF_WORKSPACE_SPACES_STORE + recordNodeIdTo);
requestParams.put("refId", getCustomReferenceId(adminUser, adminPassword, relationshipType requestParams.put("refId", getCustomReferenceId(adminUser, adminPassword, relationshipType
.getDefinition())); .getDefinition()));
//send the API request to create the relationship // send the API request to create the relationship
JSONObject setRelationshipStatus = doPostRequest(adminUser, adminPassword, requestParams, JSONObject setRelationshipStatus = doPostRequest(adminUser, adminPassword, requestParams,
MessageFormat.format(CREATE_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + recordNodeIdFrom)); MessageFormat.format(CREATE_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + recordNodeIdFrom));
//check the response // check the response
boolean success = (setRelationshipStatus != null) && setRelationshipStatus.getBoolean("success"); boolean success = (setRelationshipStatus != null) && setRelationshipStatus.getBoolean("success");
assertTrue("Creating relationship from " + recordNodeIdFrom + " to " + recordNodeIdTo + " failed.", success); assertTrue("Creating relationship from " + recordNodeIdFrom + " to " + recordNodeIdTo + " failed.", success);
} }
public void createRelationship( public void createRelationship(
String adminUser, String adminUser,
String adminPassword, String adminPassword,
int expectedStatus, int expectedStatus,
String recordNodeIdFrom, String recordNodeIdFrom,
String recordNodeIdTo, String recordNodeIdTo,
CustomDefinitions relationshipType) { CustomDefinitions relationshipType)
//create the request body {
// create the request body
JSONObject requestParams = new JSONObject(); JSONObject requestParams = new JSONObject();
requestParams.put("toNode", NODE_REF_WORKSPACE_SPACES_STORE + recordNodeIdTo); requestParams.put("toNode", NODE_REF_WORKSPACE_SPACES_STORE + recordNodeIdTo);
requestParams.put("refId", getCustomReferenceId(adminUser, adminPassword, relationshipType requestParams.put("refId", getCustomReferenceId(adminUser, adminPassword, relationshipType
.getDefinition())); .getDefinition()));
//send the API request to create the relationship // send the API request to create the relationship
JSONObject setRelationshipStatus = doPostRequest(adminUser, adminPassword, requestParams, JSONObject setRelationshipStatus = doPostRequest(adminUser, adminPassword, requestParams,
MessageFormat.format(CREATE_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + recordNodeIdFrom)); MessageFormat.format(CREATE_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + recordNodeIdFrom));
//check the response // check the response
assertEquals("POST request for createRelationship was not successful.", expectedStatus, setRelationshipStatus.getJSONObject("status").get("code")); assertEquals("POST request for createRelationship was not successful.", expectedStatus, setRelationshipStatus.getJSONObject("status").get("code"));
} }
public JSONObject getRelationshipDetails( public JSONObject getRelationshipDetails(
String adminUser, String adminUser,
String adminPassword, String adminPassword,
String nodeRef) { String nodeRef)
//send the API request to create the relationship {
// send the API request to create the relationship
JSONObject relationshipDetails = doGetRequest(adminUser, adminPassword, JSONObject relationshipDetails = doGetRequest(adminUser, adminPassword,
MessageFormat.format(GET_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + nodeRef)); MessageFormat.format(GET_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + nodeRef));
//check the response // check the response
assertNotNull("The Relationship detail is not found for the Noderef " + nodeRef, relationshipDetails); assertNotNull("The Relationship detail is not found for the Noderef " + nodeRef, relationshipDetails);
return relationshipDetails; return relationshipDetails;
} }
public void deleteRelationship( public void deleteRelationship(
String adminUser, String adminUser,
String adminPassword, String adminPassword,
String recordNodeIdFrom, String recordNodeIdFrom,
String recordNodeIdTo, String recordNodeIdTo,
String relationshipUniqueName) { String relationshipUniqueName)
//send the API request to create the relationship {
// send the API request to create the relationship
JSONObject setRelationshipStatus = doDeleteRequest(adminUser, adminPassword, JSONObject setRelationshipStatus = doDeleteRequest(adminUser, adminPassword,
MessageFormat.format(DELETE_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + recordNodeIdFrom,NODE_PREFIX + recordNodeIdTo,relationshipUniqueName)); MessageFormat.format(DELETE_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + recordNodeIdFrom, NODE_PREFIX + recordNodeIdTo, relationshipUniqueName));
//check the response // check the response
boolean success = (setRelationshipStatus != null) && setRelationshipStatus.getBoolean("success"); boolean success = (setRelationshipStatus != null) && setRelationshipStatus.getBoolean("success");
assertTrue("Deleting relationship from " + recordNodeIdFrom + " to " + recordNodeIdTo + " failed.", success); assertTrue("Deleting relationship from " + recordNodeIdFrom + " to " + recordNodeIdTo + " failed.", success);
} }

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