Compare commits

..

121 Commits

Author SHA1 Message Date
Sathish Kumar
af8106bbe4 [APPS-3172] Update License Header 2025-01-07 16:30:50 +05:30
Sathish Kumar
011a98f9a7 [APPS-3172] Update License Header 2025-01-07 16:14:33 +05:30
Sathish Kumar
0b5211f7a9 [APPS-3172] Update License Header 2025-01-07 15:30:29 +05:30
Sathish Kumar
1ad97022a2 Update License Header 2025-01-07 14:31:23 +05:30
Sathish Kumar
567405dc1c Update License Header 2025-01-07 14:16:07 +05:30
Sathish Kumar
8d6973a132 update license header 2025-01-07 13:42:10 +05:30
Sathish Kumar
629c874bc8 update license header 2025-01-07 11:59:24 +05:30
Sathish Kumar
19ec861873 Revert "update license header"
This reverts commit 7f8dd30305.
2025-01-07 11:54:06 +05:30
Sathish Kumar
7f8dd30305 update license header 2025-01-07 11:47:14 +05:30
Sathish Kumar
40c7b5fd9f update license header 2025-01-07 11:33:59 +05:30
Sathish Kumar
3f6a1c6880 update license header 2025-01-07 11:24:41 +05:30
Sathish Kumar
b3f2cb95c8 update license header 2025-01-07 11:09:14 +05:30
Sathish Kumar
d694959587 update license header 2025-01-07 11:00:40 +05:30
Sathish Kumar
56aae78015 update license header 2025-01-07 10:52:28 +05:30
Sathish Kumar
edba5b8754 update license header 2025-01-07 10:37:27 +05:30
Sathish Kumar
5f8879feb7 update license header 2025-01-07 10:25:00 +05:30
Sathish Kumar
ca575bc47e update license header 2025-01-07 10:14:15 +05:30
Sathish Kumar
4fcb962a3c update license header 2025-01-07 10:06:00 +05:30
Sathish Kumar
5397d88f4a update license header 2025-01-07 09:55:48 +05:30
Sathish Kumar
448e49d8bb Revert "update license header"
This reverts commit b825b5f18e.
2025-01-07 09:50:44 +05:30
Sathish Kumar
b825b5f18e update license header 2025-01-06 10:53:48 +05:30
Alfresco CI User
24541a9512 [force] Force release for 2025-01-05. 2025-01-05 00:04:25 +00:00
alfresco-build
2f6d097e16 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-29 00:07:27 +00:00
alfresco-build
7b074e1ee2 [maven-release-plugin][skip ci] prepare release 25.1.0.20 2024-12-29 00:07:25 +00:00
Alfresco CI User
1bc5c94ace [force] Force release for 2024-12-29. 2024-12-29 00:04:30 +00:00
alfresco-build
ba68efec67 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-24 11:46:55 +00:00
alfresco-build
bfcca88e63 [maven-release-plugin][skip ci] prepare release 25.1.0.19 2024-12-24 11:46:53 +00:00
SathishK-T
9d704df3c0 [APPS-3152] fix for mnt-24137 (#3102)
* fix for mnt-24137

* [APPS-3152] Fix for MNT-24137
2024-12-24 16:35:16 +05:30
alfresco-build
73d46c1702 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-22 00:08:46 +00:00
alfresco-build
261dcc93bd [maven-release-plugin][skip ci] prepare release 25.1.0.18 2024-12-22 00:08:43 +00:00
Alfresco CI User
2fa44f407c [force] Force release for 2024-12-22. 2024-12-22 00:04:25 +00:00
alfresco-build
8e0377d586 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-20 11:24:39 +00:00
alfresco-build
925a2bb6b9 [maven-release-plugin][skip ci] prepare release 25.1.0.17 2024-12-20 11:24:37 +00:00
Sara
4eafb13ba6 ACS-9044 Remove excluded files from war file for SAST (#3084)
* ACS-9044 Bump dependency.spring.version from 6.1.14 to 6.2.0

* ACS-9044 Bump spring-security to 6.4.1

* ACS-9044 Add file to hold excluded files list

* ACS-9044 POC - script to remove excluded files from alfresco.war

* ACS-9044 POC - change veracode SAST to scan reduced alfresco.war

* ACS-9044 POC - create reduced alfresco.war before SAST

* ACS-9044 POC - keep reduced alfresco.war in target dir

* ACS-9044 Use temporary directory and allow any war file

* ACS-9044 fix failing path

* ACS-9044 update from review

* ACS-9044 fix for temp dir

* ACS-9044 fix for temp dir

* ACS-9044 Revert spring and spring-security versions
2024-12-20 10:21:33 +00:00
alfresco-build
f731c9734c [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-15 00:08:14 +00:00
alfresco-build
e0a3b843f2 [maven-release-plugin][skip ci] prepare release 25.1.0.16 2024-12-15 00:08:12 +00:00
Alfresco CI User
2889b1a8a3 [force] Force release for 2024-12-15. 2024-12-15 00:05:05 +00:00
alfresco-build
22aa1f2725 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-13 09:51:47 +00:00
alfresco-build
77ab7d83fe [maven-release-plugin][skip ci] prepare release 25.1.0.15 2024-12-13 09:51:45 +00:00
Damian Ujma
a8faa94d15 ACS-9074 Bump log4j to 2.24.2 (#3087)
* ACS-9023 Bump log4j to 2.24.2

* ACS-9074 Update license header
2024-12-13 10:11:04 +01:00
alfresco-build
baafbbbeb2 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-12 10:30:47 +00:00
alfresco-build
ed061f2287 [maven-release-plugin][skip ci] prepare release 25.1.0.14 2024-12-12 10:30:45 +00:00
Piotr Żurek
6e435e1a8c ACS-9047 Use Keycloak 26 (#3079) 2024-12-12 10:46:48 +01:00
alfresco-build
05f6b90df8 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-10 10:27:39 +00:00
alfresco-build
0550dcd4f7 [maven-release-plugin][skip ci] prepare release 25.1.0.13 2024-12-10 10:27:37 +00:00
Cezary Witkowski
e137c91152 Revert "Bump dependency.log4j.version from 2.23.1 to 2.24.2 (#3064)" (#3080)
This reverts commit 933aced67c.
2024-12-10 10:48:12 +01:00
Damian Ujma
5a1c8334c8 ACS-9023 Implement PUT method - Preferences API (#3075)
* ACS-9023 Implement PUT method - Preferences API

* ACS-9023 Fix testUserPreferences

* ACS-9023 Add override

* ACS-9023 Update license header
2024-12-10 09:51:56 +01:00
alfresco-build
c7bbb1f74b [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-09 12:49:37 +00:00
alfresco-build
49a34c4fe3 [maven-release-plugin][skip ci] prepare release 25.1.0.12 2024-12-09 12:49:35 +00:00
Cezary Witkowski
70af2ea3ad [ACS-9025] Use acs-event-model 1.0.2 (#3059)
* [ACS-9025] Use acs-event-model 1.0.0

* [ACS-9025] Debugging tests, show more lines

* [ACS-9025] Debugging tests, show all lines

* [ACS-9025] Use acs-event-model 1.0.2

* [ACS-9025] Restore wait-for-alfresco-start.sh script
2024-12-09 13:08:10 +01:00
alfresco-build
ab6c5feba7 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-08 00:08:15 +00:00
alfresco-build
cb3cbb553a [maven-release-plugin][skip ci] prepare release 25.1.0.11 2024-12-08 00:08:13 +00:00
Alfresco CI User
9470c27f3d [force] Force release for 2024-12-08. 2024-12-08 00:04:52 +00:00
alfresco-build
edf263c43f [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-06 11:52:48 +00:00
alfresco-build
69bb9a308a [maven-release-plugin][skip ci] prepare release 25.1.0.10 2024-12-06 11:52:47 +00:00
SathishK-T
853d1bdc1b [APPS-3130] reverting changes of MNT-24137 (#3076)
* [APPS-3130] reverting changes of MNT-24137

* reverting

* reverting the change of mnt-24137

* reverting the change of mnt-24137

* reverting the change of mnt-24137

* reverting the changes of mnt-24137

* reverting the changes of mnt-24137

* reverting the changes of mnt-24137

* [APPS-3130] reverting changes of MNT-24137

---------

Co-authored-by: Sathish Kumar <ST28@ford.com>
2024-12-06 16:40:38 +05:30
alfresco-build
f7d1bbcec3 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-05 15:46:52 +00:00
alfresco-build
731d580f7e [maven-release-plugin][skip ci] prepare release 25.1.0.9 2024-12-05 15:46:49 +00:00
dependabot[bot]
ad4126ffea Bump org.mybatis:mybatis from 3.5.16 to 3.5.17 (#3062)
Bumps [org.mybatis:mybatis](https://github.com/mybatis/mybatis-3) from 3.5.16 to 3.5.17.
- [Release notes](https://github.com/mybatis/mybatis-3/releases)
- [Commits](https://github.com/mybatis/mybatis-3/compare/mybatis-3.5.16...mybatis-3.5.17)

---
updated-dependencies:
- dependency-name: org.mybatis:mybatis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 09:33:04 +01:00
dependabot[bot]
933aced67c Bump dependency.log4j.version from 2.23.1 to 2.24.2 (#3064)
Bumps `dependency.log4j.version` from 2.23.1 to 2.24.2.

Updates `org.apache.logging.log4j:log4j-slf4j2-impl` from 2.23.1 to 2.24.2

Updates `org.apache.logging.log4j:log4j-api` from 2.23.1 to 2.24.2

Updates `org.apache.logging.log4j:log4j-core` from 2.23.1 to 2.24.2

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-slf4j2-impl
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 09:31:49 +01:00
mohit-singh4
de0ba15a91 [Fix/MNT-24209] logging for download restapi (#3065)
* [fix/MNT-24209] Adding loggers in ACS download restApi

* [fix/MNT-24209] Adding loggers in ACS download restApi

* [fix/MNT-24209] Adding loggers in ACS download restApi

* Update ZipDownloadExporter.java

* [fix/MNT-24209-logging-for-download-restapi] Adding loggers in downloads RestAPI

* Revert "Update ZipDownloadExporter.java"

This reverts commit 2d97b34959.

* resolved Pre commit error

* resolved Pre commit error

* Bump io.swagger:swagger-parser from 1.0.71 to 1.0.72 (#3044)

Bumps [io.swagger:swagger-parser](https://github.com/swagger-api/swagger-parser) from 1.0.71 to 1.0.72.
- [Release notes](https://github.com/swagger-api/swagger-parser/releases)
- [Commits](https://github.com/swagger-api/swagger-parser/compare/v1.0.71...v1.0.72)

---
updated-dependencies:
- dependency-name: io.swagger:swagger-parser
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [maven-release-plugin][skip ci] prepare release 25.1.0.4

* [maven-release-plugin][skip ci] prepare for next development iteration

* Update the SiteMembership Class

* Update the SiteMembership Class

* Update the SiteMembership Class

* Revert "Update the SiteMembership Class"

This reverts commit 15045f9612.

* Update the SiteMembership Class

* Update the SiteMembership Class

* Update the license i SiteMembership

* Revert "Update the license i SiteMembership"

This reverts commit ee8f3bec18.

* Update the license SiteMembership

* Fix Precommit

* Fix Precommit

* Fix Precommit

* Update the SiteMembership

* [maven-release-plugin][skip ci] prepare release 25.1.0.5

* [maven-release-plugin][skip ci] prepare for next development iteration

* Revert "Bump dependency.log4j.version from 2.23.1 to 2.24.2 (#3051)"

This reverts commit 748be1f4a0.

* [fix/MNT-24209-logging-for-download-restapi] Adding loggers in downloads RestAPI

* resolved Pre commit error

* resolved Pre commit error

* reformatting ZipDownloadExporter file

* [fix/MNT-24209-logging-for-download-restapi] Adding loggers in downloads RestAPI

* [fix/MNT-24209-logging-for-download-restapi] Adding loggers in downloads RestAPI

* [fix/MNT-24209-logging-for-download-restapi] Adding loggers in downloads RestAPI

* [fix/MNT-24209-logging-for-download-restapi] Adding loggers in downloads RestAPI

* [fix/MNT-24209-logging-for-download-restapi] Adding loggers in downloads RestAPI

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: mohit-singh4 <mohit.singh@contractors.hyland.com>
Co-authored-by: MohinishSah <88024811+MohinishSah@users.noreply.github.com>
Co-authored-by: Mohinish Sah <Mohinish.Sah@contractors.onbase.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: alfresco-build <8039454+alfresco-build@users.noreply.github.com>
Co-authored-by: varapathijanakiram <172787912+varapathijanakiram@users.noreply.github.com>
Co-authored-by: vjanakiram <varapathi.janakiram@hyland.com>
Co-authored-by: rrajoria <88024787+rrajoria@users.noreply.github.com>
Co-authored-by: Cezary Witkowski <cezary.witkowski@hyland.com>
2024-12-04 14:24:43 +05:30
alfresco-build
00c36251d4 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-02 15:05:20 +00:00
alfresco-build
ea9ce0c0c2 [maven-release-plugin][skip ci] prepare release 25.1.0.8 2024-12-02 15:05:18 +00:00
Eva Vasques
37231e50a2 MNT-24753 Restore from Archive when we have multiple content stores (#3066)
* Pre-commit changes
* Method requestRestoreContentFromArchive needs to use injected ContentStore
2024-12-02 14:22:51 +00:00
alfresco-build
26d8c7dcbe [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-01 00:09:27 +00:00
alfresco-build
6ea97033d3 [maven-release-plugin][skip ci] prepare release 25.1.0.7 2024-12-01 00:09:23 +00:00
Alfresco CI User
cd0b2ffd24 [force] Force release for 2024-12-01. 2024-12-01 00:05:05 +00:00
alfresco-build
a14cbacb68 [maven-release-plugin][skip ci] prepare for next development iteration 2024-11-29 07:34:35 +00:00
alfresco-build
fc0b9863d4 [maven-release-plugin][skip ci] prepare release 25.1.0.6 2024-11-29 07:34:33 +00:00
Cezary Witkowski
29dc42d445 Merge pull request #3063 from Alfresco/revert-3051-dependabot/maven/dependency.log4j.version-2.24.2
Revert "Bump dependency.log4j.version from 2.23.1 to 2.24.2"
2024-11-28 15:26:55 +01:00
Cezary Witkowski
39da968d76 Revert "Bump dependency.log4j.version from 2.23.1 to 2.24.2 (#3051)"
This reverts commit 748be1f4a0.
2024-11-28 14:36:47 +01:00
alfresco-build
6a4fecd46e [maven-release-plugin][skip ci] prepare for next development iteration 2024-11-28 11:36:08 +00:00
alfresco-build
e083d4fcc2 [maven-release-plugin][skip ci] prepare release 25.1.0.5 2024-11-28 11:36:06 +00:00
varapathijanakiram
53e8a06a6e Merge pull request #3058 from Alfresco/fix/MNT-24571-Site-Membership-API
Fix/MNT-24571-Site Membership API
2024-11-28 16:23:20 +05:30
alfresco-build
c80e1fa94b [maven-release-plugin][skip ci] prepare for next development iteration 2024-11-28 09:56:23 +00:00
alfresco-build
675c6f7aa1 [maven-release-plugin][skip ci] prepare release 25.1.0.4 2024-11-28 09:56:21 +00:00
dependabot[bot]
44d67847da Bump io.swagger:swagger-parser from 1.0.71 to 1.0.72 (#3044)
Bumps [io.swagger:swagger-parser](https://github.com/swagger-api/swagger-parser) from 1.0.71 to 1.0.72.
- [Release notes](https://github.com/swagger-api/swagger-parser/releases)
- [Commits](https://github.com/swagger-api/swagger-parser/compare/v1.0.71...v1.0.72)

---
updated-dependencies:
- dependency-name: io.swagger:swagger-parser
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-27 18:51:51 +01:00
vjanakiram
d405043c5d Update the SiteMembership 2024-11-27 12:38:50 +05:30
rrajoria
da50f6271c Fix Precommit 2024-11-27 11:20:04 +05:30
rrajoria
a5e713c176 Fix Precommit 2024-11-27 11:11:41 +05:30
rrajoria
2dcd2788b2 Fix Precommit 2024-11-27 11:02:51 +05:30
vjanakiram
6b738342c1 Update the license SiteMembership 2024-11-27 10:59:13 +05:30
vjanakiram
ba5f5418ab Revert "Update the license i SiteMembership"
This reverts commit ee8f3bec18.
2024-11-27 10:58:40 +05:30
vjanakiram
ee8f3bec18 Update the license i SiteMembership 2024-11-27 10:47:56 +05:30
vjanakiram
39395af528 Update the SiteMembership Class 2024-11-26 17:49:12 +05:30
vjanakiram
e6f9d88779 Update the SiteMembership Class 2024-11-26 17:27:33 +05:30
vjanakiram
70f70c6ed3 Revert "Update the SiteMembership Class"
This reverts commit 15045f9612.
2024-11-26 17:26:44 +05:30
vjanakiram
15045f9612 Update the SiteMembership Class 2024-11-26 17:25:23 +05:30
dependabot[bot]
c50c7c6a7e Bump org.apache.activemq:activemq-client-jakarta from 5.18.3 to 5.18.6 (#2962) 2024-11-26 11:19:23 +00:00
dependabot[bot]
60199141f5 Bump org.apache.httpcomponents.client5:httpclient5 from 5.2.1 to 5.4.1 (#3015) 2024-11-26 11:19:14 +00:00
vjanakiram
b5e023950d Update the SiteMembership Class 2024-11-26 16:48:11 +05:30
varapathijanakiram
d4591acf2c Update the SiteMembership Class 2024-11-26 16:31:47 +05:30
dependabot[bot]
f34f2849dd Bump org.eclipse.jetty:jetty-server in /remote-api (#2995) 2024-11-26 09:37:26 +00:00
dependabot[bot]
52f2be49f3 Bump com.networknt:json-schema-validator from 1.5.3 to 1.5.4 (#3054) 2024-11-26 09:15:25 +00:00
dependabot[bot]
748be1f4a0 Bump dependency.log4j.version from 2.23.1 to 2.24.2 (#3051) 2024-11-26 09:14:44 +00:00
alfresco-build
52f1af2da6 [maven-release-plugin][skip ci] prepare for next development iteration 2024-11-25 10:35:23 +00:00
alfresco-build
626a97ff45 [maven-release-plugin][skip ci] prepare release 25.1.0.3 2024-11-25 10:35:21 +00:00
Damian Ujma
4a91132226 ACS-5371 Exclude xpp3 dependency to avoid conflict in JDK9+ (#3049)
* ACS-5371 Exclude xpp3 dependency

* ACS-5371 Set compiler compliance to 17

* ACS-5371 Update xmlpull version

* ACS-5371 Update xmlpull version

* ACS-5371 Use kxml2

* ACS-5371 Refactor
2024-11-25 09:49:47 +01:00
Piotr Żurek
b6fb8725ce Revert "Bump org.springframework.security:spring-security-bom (#3048)"
This reverts commit aacef0c949.
2024-11-25 09:44:21 +01:00
alfresco-build
5fc0d9edde [maven-release-plugin][skip ci] prepare for next development iteration 2024-11-24 00:10:05 +00:00
alfresco-build
44d394b1a0 [maven-release-plugin][skip ci] prepare release 25.1.0.2 2024-11-24 00:10:03 +00:00
Alfresco CI User
c1d62cca4d [force] Force release for 2024-11-24. 2024-11-24 00:05:36 +00:00
Piotr Żurek
24ae4ce57c Revert "Bump dependency.spring.version from 6.1.14 to 6.2.0 (#3038)"
This reverts commit b8f2ec252d.
2024-11-22 15:07:03 +01:00
dependabot[bot]
b8f2ec252d Bump dependency.spring.version from 6.1.14 to 6.2.0 (#3038)
Bumps `dependency.spring.version` from 6.1.14 to 6.2.0.

Updates `org.springframework:spring-aop` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-beans` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-context` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-context-support` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-core` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-expression` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-jdbc` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-jms` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-test` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-orm` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-tx` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-web` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

Updates `org.springframework:spring-webmvc` from 6.1.14 to 6.2.0
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.14...v6.2.0)

---
updated-dependencies:
- dependency-name: org.springframework:spring-aop
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-beans
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-context
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-context-support
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-expression
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-jms
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-test
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-orm
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-web
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.springframework:spring-webmvc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 14:22:19 +01:00
dependabot[bot]
ae721c86f6 Bump commons-io:commons-io from 2.17.0 to 2.18.0 (#3046)
Bumps commons-io:commons-io from 2.17.0 to 2.18.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 14:19:59 +01:00
dependabot[bot]
aacef0c949 Bump org.springframework.security:spring-security-bom (#3048)
Bumps [org.springframework.security:spring-security-bom](https://github.com/spring-projects/spring-security) from 6.3.4 to 6.4.1.
- [Release notes](https://github.com/spring-projects/spring-security/releases)
- [Changelog](https://github.com/spring-projects/spring-security/blob/main/RELEASE.adoc)
- [Commits](https://github.com/spring-projects/spring-security/compare/6.3.4...6.4.1)

---
updated-dependencies:
- dependency-name: org.springframework.security:spring-security-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 14:19:15 +01:00
dependabot[bot]
e4edceda75 Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.1 to 3.5.2 (#3019) 2024-11-22 12:41:46 +00:00
dependabot[bot]
09ec6688c6 Bump org.quartz-scheduler:quartz from 2.3.2 to 2.5.0 (#3035) 2024-11-22 12:41:36 +00:00
dependabot[bot]
14025f00de Bump org.projectlombok:lombok from 1.18.34 to 1.18.36 (#3042) 2024-11-22 12:41:16 +00:00
dependabot[bot]
22c5a5e134 Bump dependency.bouncycastle.version from 1.78.1 to 1.79 (#3016) 2024-11-22 12:39:42 +00:00
dependabot[bot]
154cad1ff8 Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.10.1 to 3.11.1 (#3021) 2024-11-22 12:39:40 +00:00
dependabot[bot]
7749b89e2b Bump org.apache.santuario:xmlsec from 4.0.2 to 4.0.3 (#3023) 2024-11-22 12:39:35 +00:00
dependabot[bot]
bbb45e667b Bump org.codehaus.groovy:groovy from 3.0.22 to 3.0.23 (#3030) 2024-11-22 12:39:04 +00:00
dependabot[bot]
a5f01e0d94 Bump Alfresco/alfresco-build-tools from 7.1.0 to 8.2.0 (#3018) 2024-11-22 12:39:02 +00:00
dependabot[bot]
0c6d455ec4 Bump com.networknt:json-schema-validator from 1.5.1 to 1.5.3 (#3017) 2024-11-22 12:38:58 +00:00
dependabot[bot]
5e86f5163e Bump org.apache.xmlbeans:xmlbeans from 5.2.1 to 5.2.2 (#3024) 2024-11-22 12:38:23 +00:00
alfresco-build
4981be1564 [maven-release-plugin][skip ci] prepare for next development iteration 2024-11-20 15:49:36 +00:00
alfresco-build
9a30fbb75a [maven-release-plugin][skip ci] prepare release 25.1.0.1 2024-11-20 15:49:34 +00:00
Piotr Żurek
9c86fdb8b5 Trigger CI 2024-11-20 15:42:59 +01:00
Kacper Magdziarz
c52f74832d Updating master branch to 25.1.0 after 23.4.0 ACS release [skip ci] 2024-11-20 13:36:19 +01:00
alfresco-build
70dd7642f4 [maven-release-plugin][skip ci] prepare for next development iteration 2024-11-19 09:48:20 +00:00
1478 changed files with 47412 additions and 50008 deletions

View File

@@ -44,14 +44,14 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- id: changed-files - id: changed-files
uses: Alfresco/alfresco-build-tools/.github/actions/github-list-changes@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/github-list-changes@v8.2.0
with: with:
write-list-to-env: true write-list-to-env: true
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Prepare maven cache and check compilation" - name: "Prepare maven cache and check compilation"
@@ -69,12 +69,12 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v8.2.0
continue-on-error: true continue-on-error: true
with: with:
srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }} srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }}
@@ -92,10 +92,10 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/github-download-file@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/github-download-file@v8.2.0
with: with:
token: ${{ secrets.BOT_GITHUB_TOKEN }} token: ${{ secrets.BOT_GITHUB_TOKEN }}
repository: "Alfresco/veracode-baseline-archive" repository: "Alfresco/veracode-baseline-archive"
@@ -106,12 +106,16 @@ jobs:
run: | run: |
bash ./scripts/ci/init.sh bash ./scripts/ci/init.sh
bash ./scripts/ci/build.sh bash ./scripts/ci/build.sh
- name: "Remove excluded files"
run: |
mkdir temp-dir-for-sast
bash ./scripts/ci/remove-sast-exclusions.sh ./packaging/war/target/alfresco.war temp-dir-for-sast/reduced.war
- name: "Run SAST Scan" - name: "Run SAST Scan"
uses: veracode/Veracode-pipeline-scan-action@v1.0.16 uses: veracode/Veracode-pipeline-scan-action@v1.0.16
with: with:
vid: ${{ secrets.VERACODE_API_ID }} vid: ${{ secrets.VERACODE_API_ID }}
vkey: ${{ secrets.VERACODE_API_KEY }} vkey: ${{ secrets.VERACODE_API_KEY }}
file: "packaging/war/target/alfresco.war" file: "temp-dir-for-sast/reduced.war"
fail_build: true fail_build: true
project_name: alfresco-community-repo project_name: alfresco-community-repo
issue_details: true issue_details: true
@@ -129,6 +133,8 @@ jobs:
with: with:
name: Veracode Pipeline-Scan Results (Human Readable) name: Veracode Pipeline-Scan Results (Human Readable)
path: readable_output.zip path: readable_output.zip
- name: "Remove temporary directory"
run: rm -rfv temp-dir-for-sast
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
@@ -142,10 +148,10 @@ jobs:
!contains(github.event.head_commit.message, '[skip tests]') && !contains(github.event.head_commit.message, '[skip tests]') &&
!contains(github.event.head_commit.message, '[force]') !contains(github.event.head_commit.message, '[force]')
steps: steps:
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- uses: Alfresco/ya-pmd-scan@v4.3.0 - uses: Alfresco/ya-pmd-scan@v4.1.0
with: with:
classpath-build-command: "mvn test-compile -ntp -Pags -pl \"-:alfresco-community-repo-docker\"" classpath-build-command: "mvn test-compile -ntp -Pags -pl \"-:alfresco-community-repo-docker\""
@@ -175,14 +181,14 @@ jobs:
testAttributes: "-Dtest=AllMmtUnitTestSuite" testAttributes: "-Dtest=AllMmtUnitTestSuite"
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.testModule }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.testModule }}
@@ -213,7 +219,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -255,9 +261,9 @@ jobs:
REQUIRES_INSTALLED_ARTIFACTS: true REQUIRES_INSTALLED_ARTIFACTS: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
@@ -270,7 +276,7 @@ jobs:
run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.testSuite }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.testSuite }}
@@ -301,7 +307,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -334,9 +340,9 @@ jobs:
version: ['10.2.18', '10.4', '10.5'] version: ['10.2.18', '10.4', '10.5']
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: Run MariaDB ${{ matrix.version }} database - name: Run MariaDB ${{ matrix.version }} database
@@ -345,7 +351,7 @@ jobs:
MARIADB_VERSION: ${{ matrix.version }} MARIADB_VERSION: ${{ matrix.version }}
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.version }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.version }}
@@ -376,7 +382,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -405,9 +411,9 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run MariaDB 10.6 database" - name: "Run MariaDB 10.6 database"
@@ -416,7 +422,7 @@ jobs:
MARIADB_VERSION: 10.6 MARIADB_VERSION: 10.6
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }}
@@ -447,7 +453,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -476,9 +482,9 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run MySQL 8 database" - name: "Run MySQL 8 database"
@@ -487,7 +493,7 @@ jobs:
MYSQL_VERSION: 8 MYSQL_VERSION: 8
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }}
@@ -518,7 +524,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -546,9 +552,9 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run PostgreSQL 13.12 database" - name: "Run PostgreSQL 13.12 database"
@@ -557,7 +563,7 @@ jobs:
POSTGRES_VERSION: 13.12 POSTGRES_VERSION: 13.12
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }}
@@ -588,7 +594,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -616,9 +622,9 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run PostgreSQL 14.9 database" - name: "Run PostgreSQL 14.9 database"
@@ -627,7 +633,7 @@ jobs:
POSTGRES_VERSION: 14.9 POSTGRES_VERSION: 14.9
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }}
@@ -658,7 +664,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -686,9 +692,9 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run PostgreSQL 15.4 database" - name: "Run PostgreSQL 15.4 database"
@@ -697,7 +703,7 @@ jobs:
POSTGRES_VERSION: 15.4 POSTGRES_VERSION: 15.4
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }}
@@ -728,7 +734,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -754,16 +760,16 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run ActiveMQ" - name: "Run ActiveMQ"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile activemq up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile activemq up -d
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }}
@@ -794,7 +800,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -854,9 +860,9 @@ jobs:
mvn-options: '-Dencryption.ssl.keystore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.keystore -Dencryption.ssl.truststore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.truststore' mvn-options: '-Dencryption.ssl.keystore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.keystore -Dencryption.ssl.truststore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.truststore'
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Set transformers tag" - name: "Set transformers tag"
@@ -879,7 +885,7 @@ jobs:
run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.testSuite }} ${{ matrix.idp }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.testSuite }} ${{ matrix.idp }}
@@ -910,7 +916,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -968,9 +974,9 @@ jobs:
REQUIRES_LOCAL_IMAGES: true REQUIRES_LOCAL_IMAGES: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
@@ -986,7 +992,7 @@ jobs:
run: mvn install -pl :alfresco-community-repo-integration-test -am -DskipTests -Pall-tas-tests run: mvn install -pl :alfresco-community-repo-integration-test -am -DskipTests -Pall-tas-tests
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.test-name }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} - ${{ matrix.test-name }}
@@ -1024,7 +1030,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.tests.outcome }} tests-outcome: ${{ steps.tests.outcome }}
@@ -1050,16 +1056,16 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run Postgres 15.4 database" - name: "Run Postgres 15.4 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile postgres up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile postgres up -d
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }}
@@ -1090,7 +1096,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -1124,9 +1130,9 @@ jobs:
REQUIRES_INSTALLED_ARTIFACTS: true REQUIRES_INSTALLED_ARTIFACTS: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
@@ -1134,7 +1140,7 @@ jobs:
bash ./scripts/ci/build.sh bash ./scripts/ci/build.sh
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} 0${{ matrix.part }} - (PostgreSQL) ${{ matrix.test-name }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} 0${{ matrix.part }} - (PostgreSQL) ${{ matrix.test-name }}
@@ -1170,9 +1176,9 @@ jobs:
REQUIRES_INSTALLED_ARTIFACTS: true REQUIRES_INSTALLED_ARTIFACTS: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
@@ -1180,7 +1186,7 @@ jobs:
bash ./scripts/ci/build.sh bash ./scripts/ci/build.sh
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} 0${{ matrix.part }} - (MySQL) ${{ matrix.test-name }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} 0${{ matrix.part }} - (MySQL) ${{ matrix.test-name }}
@@ -1212,9 +1218,9 @@ jobs:
REQUIRES_LOCAL_IMAGES: true REQUIRES_LOCAL_IMAGES: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
@@ -1228,7 +1234,7 @@ jobs:
mvn -B install -pl :alfresco-governance-services-automation-community-rest-api -am -Pags -Pall-tas-tests -DskipTests mvn -B install -pl :alfresco-governance-services-automation-community-rest-api -am -Pags -Pall-tas-tests -DskipTests
- name: "Prepare Report Portal" - name: "Prepare Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.2.0
id: rp-prepare id: rp-prepare
with: with:
rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }} rp-launch-prefix: ${{ env.RP_LAUNCH_PREFIX }}
@@ -1260,7 +1266,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: "Summarize Report Portal" - name: "Summarize Report Portal"
if: github.ref_name == 'master' if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.16.0 uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-summarize@v8.2.0
id: rp-summarize id: rp-summarize
with: with:
tests-outcome: ${{ steps.run-tests.outcome }} tests-outcome: ${{ steps.run-tests.outcome }}
@@ -1302,9 +1308,9 @@ jobs:
!contains(github.event.head_commit.message, '[force]') !contains(github.event.head_commit.message, '[force]')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |

View File

@@ -34,12 +34,12 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.2.0
with: with:
username: ${{ env.GIT_USERNAME }} username: ${{ env.GIT_USERNAME }}
email: ${{ env.GIT_EMAIL }} email: ${{ env.GIT_EMAIL }}
@@ -63,12 +63,12 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.16.0 - uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v8.2.0
with: with:
username: ${{ env.GIT_USERNAME }} username: ${{ env.GIT_USERNAME }}
email: ${{ env.GIT_EMAIL }} email: ${{ env.GIT_EMAIL }}

View File

@@ -133,21 +133,21 @@
"filename": ".github/workflows/ci.yml", "filename": ".github/workflows/ci.yml",
"hashed_secret": "b86dc2f033a63f2b7b9e7d270ab806d2910d7572", "hashed_secret": "b86dc2f033a63f2b7b9e7d270ab806d2910d7572",
"is_verified": false, "is_verified": false,
"line_number": 293 "line_number": 299
}, },
{ {
"type": "Secret Keyword", "type": "Secret Keyword",
"filename": ".github/workflows/ci.yml", "filename": ".github/workflows/ci.yml",
"hashed_secret": "1bfb0e20f886150ba59b853bcd49dea893e00966", "hashed_secret": "1bfb0e20f886150ba59b853bcd49dea893e00966",
"is_verified": false, "is_verified": false,
"line_number": 368 "line_number": 374
}, },
{ {
"type": "Secret Keyword", "type": "Secret Keyword",
"filename": ".github/workflows/ci.yml", "filename": ".github/workflows/ci.yml",
"hashed_secret": "128f14373ccfaff49e3664045d3a11b50cbb7b39", "hashed_secret": "128f14373ccfaff49e3664045d3a11b50cbb7b39",
"is_verified": false, "is_verified": false,
"line_number": 902 "line_number": 908
} }
], ],
".github/workflows/master_release.yml": [ ".github/workflows/master_release.yml": [
@@ -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
} }
], ],
@@ -1273,7 +1273,7 @@
"filename": "repository/src/main/resources/alfresco/repository.properties", "filename": "repository/src/main/resources/alfresco/repository.properties",
"hashed_secret": "84551ae5442affc9f1a2d3b4c86ae8b24860149d", "hashed_secret": "84551ae5442affc9f1a2d3b4c86ae8b24860149d",
"is_verified": false, "is_verified": false,
"line_number": 771, "line_number": 770,
"is_secret": false "is_secret": false
} }
], ],
@@ -1539,7 +1539,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": 130, "line_number": 127,
"is_secret": false "is_secret": false
} }
], ],
@@ -1599,7 +1599,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java",
"hashed_secret": "c4b66dbe168ad1d2b19119494a0da063801bc3bb", "hashed_secret": "c4b66dbe168ad1d2b19119494a0da063801bc3bb",
"is_verified": false, "is_verified": false,
"line_number": 83, "line_number": 82,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1607,7 +1607,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java",
"hashed_secret": "c5aad1895e1dcff195992938f1bcc9954d575ac9", "hashed_secret": "c5aad1895e1dcff195992938f1bcc9954d575ac9",
"is_verified": false, "is_verified": false,
"line_number": 92, "line_number": 91,
"is_secret": false "is_secret": false
} }
], ],
@@ -1627,7 +1627,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": 48, "line_number": 47,
"is_secret": false "is_secret": false
} }
], ],
@@ -1888,5 +1888,5 @@
} }
] ]
}, },
"generated_at": "2025-05-15T21:47:13Z" "generated_at": "2025-01-07T10:56:22Z"
} }

View File

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

View File

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

View File

@@ -7,7 +7,7 @@
<parent> <parent>
<groupId>org.alfresco</groupId> <groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-automation-community-repo</artifactId> <artifactId>alfresco-governance-services-automation-community-repo</artifactId>
<version>23.6.0.1</version> <version>25.1.0.21-SNAPSHOT</version>
</parent> </parent>
<build> <build>

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

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

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,20 +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();

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