Compare commits

..

287 Commits

Author SHA1 Message Date
dependabot[bot]
c8103238e4 Bump org.apache.commons:commons-csv from 1.9.0 to 1.14.0
Bumps [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) from 1.9.0 to 1.14.0.
- [Changelog](https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-csv/compare/rel/commons-csv-1.9.0...rel/commons-csv-1.14.0)

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-csv
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-20 22:53:33 +00:00
alfresco-build
f630da7cce [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-19 08:22:48 +00:00
alfresco-build
48ad5adc84 [maven-release-plugin][skip ci] prepare release 25.2.0.2 2025-03-19 08:22:46 +00:00
mohit-singh4
2b372ec381 [APPS-3242] Fix for facet query for elasticsearch (#3260)
Co-authored-by: mohit-singh4 <mohit.singh@contractors.hyland.com>
2025-03-19 13:06:44 +05:30
alfresco-build
30c40ee6e0 [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-17 16:01:07 +00:00
alfresco-build
adc45c2cd9 [maven-release-plugin][skip ci] prepare release 25.2.0.1 2025-03-17 16:01:05 +00:00
Gerard Olenski
f94c21ea57 Merge pull request #3269 from Alfresco/feature/ACS-9417-reformat-code
ACS-9417 reformat code and simplify CI
2025-03-17 16:01:46 +01:00
alfresco-build
bc8424482b Apply Pre-Commit code formatting 2025-03-17 14:00:58 +00:00
Gerard Olenski
5255760f6e Trigger [reformat code] 2025-03-17 14:35:18 +01:00
Gerard Olenski
0ade3216e4 ACS-9417 Reformat code and simplify CI 2025-03-17 14:32:12 +01:00
cezary-witkowski
d282e347dc [ACS-9379] NodeRefRadixHasher no longer expects UUID format for NodeRef.id. Every not empty string works. Backward compatible. (#3247)
Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>
2025-03-17 14:17:54 +01:00
Kacper Magdziarz
6a26cb0e0f Updating master branch to 25.2.0 after 25.1.0 ACS release [skip ci] 2025-03-17 13:46:56 +01:00
alfresco-build
7a7e166314 [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-16 00:09:30 +00:00
alfresco-build
37e890ed1b [maven-release-plugin][skip ci] prepare release 25.1.0.71 2025-03-16 00:09:28 +00:00
Alfresco CI User
2ba01f005a [force] Force release for 2025-03-16. 2025-03-16 00:04:55 +00:00
alfresco-build
5ee1ec2d11 [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-13 10:30:48 +00:00
alfresco-build
e6f69eeb74 [maven-release-plugin][skip ci] prepare release 25.1.0.70 2025-03-13 10:30:45 +00:00
Piotr Żurek
2f4c70a4d5 Merge pull request #3261 from Alfresco/feature/ACS-9080-bump-server-root
ACS-9080 Bump server root
2025-03-13 10:29:33 +01:00
Piotr Żurek
147a6c8c80 ACS-9080 Bump server root 2025-03-13 10:10:08 +01:00
jakubkochman
18980100a1 ACS-9080 new documentation url (#3239) 2025-03-13 10:00:03 +01:00
alfresco-build
3967bd1295 [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-11 11:14:42 +00:00
alfresco-build
f467e982c2 [maven-release-plugin][skip ci] prepare release 25.1.0.69 2025-03-11 11:14:40 +00:00
Gerard Olenski
51395de707 ACS-9259 Improve stability of HazelcastLockStoreTxTest test (#3248) 2025-03-11 11:13:57 +01:00
Kacper Magdziarz
9d25c6dcd5 [ACS-9353] Bump ATS to 4.1.7 (#3254) 2025-03-11 11:00:45 +01:00
Piotr Żurek
1cb25daaa1 Merge pull request #3253 from Alfresco/feature/ACS-9330-bump-api-explorer
ACS-9330 Bump REST API Explorer
2025-03-11 09:50:38 +01:00
Piotr Żurek
fc3eb2e55f ACS-9330 Bump REST API Explorer 2025-03-11 08:50:13 +01:00
alfresco-build
200a8a2d4c [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-11 06:55:11 +00:00
alfresco-build
e3fff18703 [maven-release-plugin][skip ci] prepare release 25.1.0.68 2025-03-11 06:55:07 +00:00
Damian Ujma
f9da66c6e4 ACS-9357 Bump IE/SS to 2.0.15 (#3251) 2025-03-10 14:32:09 +01:00
alfresco-build
e58df0ab6f [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-09 00:07:02 +00:00
alfresco-build
1ef208546f [maven-release-plugin][skip ci] prepare release 25.1.0.67 2025-03-09 00:07:00 +00:00
Alfresco CI User
28307d7c91 [force] Force release for 2025-03-09. 2025-03-09 00:03:54 +00:00
alfresco-build
0c0a95d095 [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-06 13:29:01 +00:00
alfresco-build
41db40b6a2 [maven-release-plugin][skip ci] prepare release 25.1.0.66 2025-03-06 13:28:59 +00:00
Tiago Salvado
ec78a1486c [MNT-24913] Added fallback method to obtain deployment category in order to check if workflow is secure (#3236) 2025-03-06 12:35:03 +00:00
alfresco-build
7749f7b80d [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-06 10:25:57 +00:00
alfresco-build
1cec73b176 [maven-release-plugin][skip ci] prepare release 25.1.0.65 2025-03-06 10:25:55 +00:00
dependabot[bot]
58902c77f1 Bump org.alfresco:alfresco-transform-model from 5.1.7-A.3 to 5.1.7-A.4 (#3242)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 10:39:37 +01:00
alfresco-build
b1f689ed42 [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-03 08:58:23 +00:00
alfresco-build
68ff2e8b43 [maven-release-plugin][skip ci] prepare release 25.1.0.64 2025-03-03 08:58:20 +00:00
Kacper Magdziarz
e5559d544f [ACS-9356] Bump Solr to 2.0.15-A.1 (#3233) 2025-03-03 09:12:10 +01:00
alfresco-build
b618aaf874 [maven-release-plugin][skip ci] prepare for next development iteration 2025-03-02 00:07:51 +00:00
alfresco-build
8260867f49 [maven-release-plugin][skip ci] prepare release 25.1.0.63 2025-03-02 00:07:49 +00:00
Alfresco CI User
ca0c0b54b5 [force] Force release for 2025-03-02. 2025-03-02 00:04:43 +00:00
alfresco-build
c44ff3b5cb [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-28 10:03:00 +00:00
alfresco-build
102a442c66 [maven-release-plugin][skip ci] prepare release 25.1.0.62 2025-02-28 10:02:58 +00:00
dependabot[bot]
c00d1a2f38 Bump net.minidev:json-smart from 2.5.1 to 2.5.2 (#3197)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-28 09:53:03 +01:00
alfresco-build
c6f957d005 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-27 10:32:16 +00:00
alfresco-build
078195379d [maven-release-plugin][skip ci] prepare release 25.1.0.61 2025-02-27 10:32:13 +00:00
rrajoria
2da46a6659 Revert Unlock Document Changes (#3212) 2025-02-27 14:50:15 +05:30
alfresco-build
4846007eb2 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-26 21:30:28 +00:00
alfresco-build
2ddeb8ef80 [maven-release-plugin][skip ci] prepare release 25.1.0.60 2025-02-26 21:30:26 +00:00
Piotr Żurek
0303f74372 ACS-9352 Bump T-Core to 5.1.7-A.3 & ATS to 4.1.7-A.1 (#3226) 2025-02-26 21:34:02 +01:00
alfresco-build
c405974d8d [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-26 16:43:36 +00:00
alfresco-build
d541ba3e49 [maven-release-plugin][skip ci] prepare release 25.1.0.59 2025-02-26 16:43:34 +00:00
Damian Ujma
cc86d9e9ed Revert "ACS-9199 Bump subethasmtp version to 7.1.3 (#3207)" (#3225) 2025-02-26 17:00:04 +01:00
dependabot[bot]
7a7fbf37a2 PRODSEC-9938 PRODSEC-9940 Bump io.netty:netty-bom from 4.1.117.Final to 4.1.118.Final (#3194)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-26 13:57:26 +01:00
alfresco-build
6fd9fed28d [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-26 09:47:17 +00:00
alfresco-build
3f518beb46 [maven-release-plugin][skip ci] prepare release 25.1.0.58 2025-02-26 09:47:14 +00:00
Gerard Olenski
8b3fbdfec1 PRODSEC-9936 Bump spring-security to 6.3.7 (#3223) 2025-02-26 08:26:16 +01:00
alfresco-build
5d847fe5f9 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-25 11:02:11 +00:00
alfresco-build
b3a9633da3 [maven-release-plugin][skip ci] prepare release 25.1.0.57 2025-02-25 11:02:09 +00:00
Giovanni Toraldo
ebdc0b2614 OPSEXP-3032 Bump to latest alfresco-base-tomcat (#3222) 2025-02-25 10:43:29 +01:00
alfresco-build
8fb922a065 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-23 00:07:43 +00:00
alfresco-build
0a9e2e1ce7 [maven-release-plugin][skip ci] prepare release 25.1.0.56 2025-02-23 00:07:41 +00:00
Alfresco CI User
de5bf5a500 [force] Force release for 2025-02-23. 2025-02-23 00:04:35 +00:00
alfresco-build
5112722755 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-19 15:26:53 +00:00
alfresco-build
0835f03ba6 [maven-release-plugin][skip ci] prepare release 25.1.0.55 2025-02-19 15:26:51 +00:00
Damian Ujma
1adddb0f7f ACS-9199 Bump subethasmtp version to 7.1.3 (#3207)
* ACS-9199 Bump subethasmtp to 7.1.3

* ACS-9199 Bump subethasmtp to 7.1.3

* ACS-9199 Use org.eclipse.angus

* ACS-9199 Update notice.txt

* ACS-9199 Remove provided scope for jakarta.mail:mail-api

* ACS-9199 Fix ags

* ACS-9199 Remove verbose
2025-02-19 15:42:14 +01:00
alfresco-build
85c0d7896e [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-19 14:42:02 +00:00
alfresco-build
64b5ca9f2b [maven-release-plugin][skip ci] prepare release 25.1.0.54 2025-02-19 14:42:00 +00:00
Kacper Magdziarz
e85ed14ac8 [ACS-9313] Switch to new tags for tomcat base images in Dockerfiles (#3208) 2025-02-19 14:43:03 +01:00
alfresco-build
48d391d250 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-17 13:00:19 +00:00
alfresco-build
df2c21dfef [maven-release-plugin][skip ci] prepare release 25.1.0.53 2025-02-17 13:00:17 +00:00
Kacper Magdziarz
b0a5d484b6 [ACS-9270] Switch MySQL driver from com.mysql.jdbc.Driver to com.mysql.cj.jdbc.Driver (#3204) 2025-02-17 12:58:42 +01:00
alfresco-build
798ca41d63 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-17 08:55:52 +00:00
alfresco-build
7b8576c403 [maven-release-plugin][skip ci] prepare release 25.1.0.52 2025-02-17 08:55:50 +00:00
Gerard Olenski
75d5201af1 ACS 9256 improve async tests stability (#3191)
* ACS-9256 Improved stability in DynamicallySizedThreadPoolExecutorTest

* ACS-9256 Removed unused unstable test in SpringAwareUserTransactionTest

* ACS-9256 Improved stability in DynamicallySizedThreadPoolExecutorTest

* ACS-9256 Improved stability in ActionServiceImplTest and RuleServiceCoverageTest

* ACS-9256 Improved stability in ActionTrackingServiceImplTest

* ACS-9256 Improved performance in ComparePropertyValueEvaluatorTest

* ACS-9256 Improved performance in LockServiceImplTest

* ACS-9256 Improved stability in LockBehaviourImplTest

* ACS-9256 Improved stability in ContentMetadataExtracterTest

* ACS-9256 Removed unstable and unused tests

* ACS-9256 Improve stability in CachedContentCleanupJobTest

* ACS-9256 Pre-commit fixes
2025-02-17 08:58:04 +01:00
alfresco-build
9e5a030b6f [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-16 00:07:50 +00:00
alfresco-build
8974a388d6 [maven-release-plugin][skip ci] prepare release 25.1.0.51 2025-02-16 00:07:48 +00:00
Alfresco CI User
05f266d1a8 [force] Force release for 2025-02-16. 2025-02-16 00:04:40 +00:00
alfresco-build
2bade87366 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-13 10:39:13 +00:00
alfresco-build
df501acd12 [maven-release-plugin][skip ci] prepare release 25.1.0.50 2025-02-13 10:39:11 +00:00
Piotr Żurek
455dd3573e Switch build tools to v8.13.0 (#3198) 2025-02-13 10:57:20 +01:00
alfresco-build
48669a2a37 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-12 13:23:34 +00:00
alfresco-build
b7711b17f5 [maven-release-plugin][skip ci] prepare release 25.1.0.49 2025-02-12 13:23:32 +00:00
Piotr Żurek
3687d06c8f Trigger CI 2025-02-12 09:29:20 +01:00
alfresco-build
f763a3a6cc [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-10 11:50:52 +00:00
alfresco-build
220badc4dc [maven-release-plugin][skip ci] prepare release 25.1.0.48 2025-02-10 11:50:50 +00:00
Gerard Olenski
8d6e021207 ACS 9185 implement rest api for reauthorizing a single user (#3190)
* ACS-9185 Reauthorize endpoint

* ACS-9185 Add the reauthorization code endpoint

* ACS-9185 Refactored model

* ACS-9185 Fixed rest wrapper implementation

---------

Co-authored-by: Damian Ujma <damian.ujma@hyland.com>
2025-02-10 11:25:51 +01:00
alfresco-build
dc48e60382 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-09 00:07:48 +00:00
alfresco-build
66bc900254 [maven-release-plugin][skip ci] prepare release 25.1.0.47 2025-02-09 00:07:47 +00:00
Alfresco CI User
37cad17e7a [force] Force release for 2025-02-09. 2025-02-09 00:04:38 +00:00
alfresco-build
226c695d97 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-06 11:28:23 +00:00
alfresco-build
5703bf0927 [maven-release-plugin][skip ci] prepare release 25.1.0.46 2025-02-06 11:28:21 +00:00
dependabot[bot]
c370c39e34 Bump dependency.spring.version from 6.2.1 to 6.2.2 (#3151)
Bumps `dependency.spring.version` from 6.2.1 to 6.2.2.

Updates `org.springframework:spring-aop` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-beans` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-context` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-context-support` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-core` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-expression` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-jdbc` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-jms` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-test` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-orm` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-tx` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-web` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

Updates `org.springframework:spring-webmvc` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.1...v6.2.2)

---
updated-dependencies:
- dependency-name: org.springframework:spring-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-beans
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-context
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-context-support
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-expression
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-jms
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-orm
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-tx
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework:spring-webmvc
  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>
2025-02-06 11:44:48 +01:00
alfresco-build
643510f1b4 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-04 10:38:43 +00:00
alfresco-build
5e2c8eac98 [maven-release-plugin][skip ci] prepare release 25.1.0.45 2025-02-04 10:38:40 +00:00
dependabot[bot]
888d034b82 Bump com.google.code.gson:gson from 2.12.0 to 2.12.1 (#3180)
Bumps [com.google.code.gson:gson](https://github.com/google/gson) from 2.12.0 to 2.12.1.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.12.0...gson-parent-2.12.1)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  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>
2025-02-04 10:52:07 +01:00
dependabot[bot]
b16b116293 Bump joda-time:joda-time from 2.13.0 to 2.13.1 (#3188)
Bumps [joda-time:joda-time](https://github.com/JodaOrg/joda-time) from 2.13.0 to 2.13.1.
- [Release notes](https://github.com/JodaOrg/joda-time/releases)
- [Changelog](https://github.com/JodaOrg/joda-time/blob/main/RELEASE-NOTES.txt)
- [Commits](https://github.com/JodaOrg/joda-time/compare/v2.13.0...v2.13.1)

---
updated-dependencies:
- dependency-name: joda-time:joda-time
  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>
2025-02-04 10:49:33 +01:00
alfresco-build
f4a6346471 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-03 08:48:12 +00:00
alfresco-build
70387a8a19 [maven-release-plugin][skip ci] prepare release 25.1.0.44 2025-02-03 08:48:09 +00:00
dependabot[bot]
c4b9ee4284 Bump dependency.cxf.version from 4.0.5 to 4.1.0 (#3093)
Bumps `dependency.cxf.version` from 4.0.5 to 4.1.0.

Updates `org.apache.cxf:cxf-rt-frontend-jaxws` from 4.0.5 to 4.1.0

Updates `org.apache.cxf:cxf-rt-frontend-jaxrs` from 4.0.5 to 4.1.0

Updates `org.apache.cxf:cxf-rt-rs-client` from 4.0.5 to 4.1.0

Updates `org.apache.cxf:cxf-rt-transports-http` from 4.0.5 to 4.1.0

Updates `org.apache.cxf:cxf-rt-ws-policy` from 4.0.5 to 4.1.0

---
updated-dependencies:
- dependency-name: org.apache.cxf:cxf-rt-frontend-jaxws
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.cxf:cxf-rt-frontend-jaxrs
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.cxf:cxf-rt-rs-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.cxf:cxf-rt-transports-http
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.cxf:cxf-rt-ws-policy
  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>
2025-02-03 09:02:46 +01:00
alfresco-build
1629daa28e [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-02 00:07:35 +00:00
alfresco-build
c9f2b1f9c7 [maven-release-plugin][skip ci] prepare release 25.1.0.43 2025-02-02 00:07:33 +00:00
Alfresco CI User
f00af42eee [force] Force release for 2025-02-02. 2025-02-02 00:04:26 +00:00
alfresco-build
6849da5d48 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-30 16:46:20 +00:00
alfresco-build
d4816e71bd [maven-release-plugin][skip ci] prepare release 25.1.0.42 2025-01-30 16:46:17 +00:00
dependabot[bot]
652e36bcac Bump com.networknt:json-schema-validator from 1.5.4 to 1.5.5 (#3152)
Bumps [com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/networknt/json-schema-validator/releases)
- [Changelog](https://github.com/networknt/json-schema-validator/blob/master/CHANGELOG.md)
- [Commits](https://github.com/networknt/json-schema-validator/compare/1.5.4...1.5.5)

---
updated-dependencies:
- dependency-name: com.networknt:json-schema-validator
  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>
2025-01-30 17:02:28 +01:00
dependabot[bot]
22b9bfd056 Bump com.diffplug.spotless:spotless-maven-plugin from 2.43.0 to 2.44.2 (#3153)
Bumps [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.43.0 to 2.44.2.
- [Release notes](https://github.com/diffplug/spotless/releases)
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/lib/2.43.0...maven/2.44.2)

---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  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>
2025-01-30 16:58:02 +01:00
dependabot[bot]
4743ee4d9a Bump io.netty:netty-bom from 4.1.113.Final to 4.1.117.Final (#3157)
Bumps [io.netty:netty-bom](https://github.com/netty/netty) from 4.1.113.Final to 4.1.117.Final.
- [Commits](https://github.com/netty/netty/compare/netty-4.1.113.Final...netty-4.1.117.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-bom
  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>
2025-01-30 16:57:10 +01:00
dependabot[bot]
1d7ac4dfaf Bump org.apache.httpcomponents.core5:httpcore5 from 5.3 to 5.3.3 (#3170)
Bumps [org.apache.httpcomponents.core5:httpcore5](https://github.com/apache/httpcomponents-core) from 5.3 to 5.3.3.
- [Changelog](https://github.com/apache/httpcomponents-core/blob/rel/v5.3.3/RELEASE_NOTES.txt)
- [Commits](https://github.com/apache/httpcomponents-core/compare/rel/v5.3...rel/v5.3.3)

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents.core5:httpcore5
  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>
2025-01-30 16:55:44 +01:00
dependabot[bot]
1a17f7a0cf Bump com.google.code.gson:gson from 2.11.0 to 2.12.0 (#3171)
Bumps [com.google.code.gson:gson](https://github.com/google/gson) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.11.0...gson-parent-2.12.0)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  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>
2025-01-30 16:53:52 +01:00
alfresco-build
7d98849187 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-30 11:00:49 +00:00
alfresco-build
cb92c78b3c [maven-release-plugin][skip ci] prepare release 25.1.0.41 2025-01-30 11:00:46 +00:00
Damian Ujma
733e232e42 ACS-9178 Add REST API for deauthorizing (#3169)
* ACS-9178 Set peopleEntityResource bean id

* ACS-9178 Add the 'deauthorizeUser' operation

* ACS-9178 Add 'deauthorizeUser' to Rest API

* ACS-9178 Add test

* ACS-9178 Fix PMD

* ACS-9178 Fix deauthorize API tests

---------

Co-authored-by: Gerard Olenski <gerard.olenski@hyland.com>
2025-01-30 11:07:57 +01:00
alfresco-build
6804d5e288 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-29 16:30:16 +00:00
alfresco-build
ef0a39871d [maven-release-plugin][skip ci] prepare release 25.1.0.40 2025-01-29 16:30:11 +00:00
dependabot[bot]
6b929e45e7 Bump io.swagger:swagger-parser from 1.0.72 to 1.0.73 (#3158)
Bumps [io.swagger:swagger-parser](https://github.com/swagger-api/swagger-parser) from 1.0.72 to 1.0.73.
- [Release notes](https://github.com/swagger-api/swagger-parser/releases)
- [Commits](https://github.com/swagger-api/swagger-parser/compare/v1.0.72...v1.0.73)

---
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>
2025-01-29 16:47:29 +01:00
dependabot[bot]
7249bc91ff Bump org.postgresql:postgresql from 42.7.4 to 42.7.5 (#3159)
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.4 to 42.7.5.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.4...REL42.7.5)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  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>
2025-01-29 16:43:32 +01:00
alfresco-build
d20b00b9ae [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-29 15:27:03 +00:00
alfresco-build
208e10c9b0 [maven-release-plugin][skip ci] prepare release 25.1.0.39 2025-01-29 15:27:01 +00:00
dependabot[bot]
304c68444c Bump org.assertj:assertj-core from 3.26.3 to 3.27.3 (#3163)
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.26.3 to 3.27.3.
- [Release notes](https://github.com/assertj/assertj/releases)
- [Commits](https://github.com/assertj/assertj/compare/assertj-build-3.26.3...assertj-build-3.27.3)

---
updated-dependencies:
- dependency-name: org.assertj:assertj-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>
2025-01-29 15:43:36 +01:00
dependabot[bot]
2f0a502958 Bump commons-codec:commons-codec from 1.17.1 to 1.18.0 (#3166)
Bumps [commons-codec:commons-codec](https://github.com/apache/commons-codec) from 1.17.1 to 1.18.0.
- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-codec/compare/rel/commons-codec-1.17.1...rel/commons-codec-1.18.0)

---
updated-dependencies:
- dependency-name: commons-codec:commons-codec
  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>
2025-01-29 15:42:03 +01:00
alfresco-build
e6d3963ef6 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-29 11:38:01 +00:00
alfresco-build
5004d357b9 [maven-release-plugin][skip ci] prepare release 25.1.0.38 2025-01-29 11:37:59 +00:00
Kacper Magdziarz
6c61e78b2a [ACS-9181] Bump Keycloak to 26.1.0 (#3168) 2025-01-29 11:35:27 +01:00
alfresco-build
d5192922cf [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-27 14:02:15 +00:00
alfresco-build
9e3cf355e1 [maven-release-plugin][skip ci] prepare release 25.1.0.37 2025-01-27 14:02:13 +00:00
Piotr Żurek
d0f18ac1a5 ACS-9137 Bump ATS/SS/IE (#3164) 2025-01-27 14:15:10 +01:00
alfresco-build
bcf8a576e9 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-26 00:06:57 +00:00
alfresco-build
1a8ca698c7 [maven-release-plugin][skip ci] prepare release 25.1.0.36 2025-01-26 00:06:55 +00:00
Alfresco CI User
cabb64f4cd [force] Force release for 2025-01-26. 2025-01-26 00:04:08 +00:00
alfresco-build
3cd5cfbbe1 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-20 05:55:02 +00:00
alfresco-build
6d6e6d913e [maven-release-plugin][skip ci] prepare release 25.1.0.35 2025-01-20 05:54:59 +00:00
vedantmehra9
692da57e7f [apps-3106] updating api-explorer version to 25.1.0-A1 2025-01-20 10:44:34 +05:30
vedantmehra9
d4b0499c00 Merge pull request #3123 from Alfresco/fix/apps-3106_Remove_Character_Java_Doc
[APPS-3106] Removed special characters from yaml files
2025-01-20 10:36:36 +05:30
alfresco-build
1b35495717 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-19 00:07:53 +00:00
alfresco-build
2b9b6b825c [maven-release-plugin][skip ci] prepare release 25.1.0.34 2025-01-19 00:07:51 +00:00
Alfresco CI User
6244cb87b6 [force] Force release for 2025-01-19. 2025-01-19 00:04:46 +00:00
alfresco-build
52c5f34e1a [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-17 10:56:34 +00:00
alfresco-build
cd977453a4 [maven-release-plugin][skip ci] prepare release 25.1.0.33 2025-01-17 10:56:32 +00:00
Cezary Witkowski
1592f7fa1d [MNT-24807] repo event2 is exposing user password hash and salt (#3147)
* [MNT-24807] Implemented PropertyReplacer that replaces values of sensitive properties (e.g. passwords) during creation of NodeResource for event2

* [MNT-24807] Fix failing tests

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

This reverts commit c118f713f2.

* [MNT-24807] Fix failing tests without reformat

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

* [MNT-24807] Introduced interface to keep convention

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

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

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

* [MNT-24807] Fixed npe and pmd issues

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

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

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

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

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

* [MNT-24807] Added unit tests

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

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

* [MNT-24807] PMD again

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

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

---------

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>
2025-01-17 11:16:31 +01:00
alfresco-build
ea36e77775 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-17 09:02:35 +00:00
alfresco-build
e5968a25f3 [maven-release-plugin][skip ci] prepare release 25.1.0.32 2025-01-17 09:02:33 +00:00
Damian Ujma
c02422077c ACS-9140 Bump IE/SS to 2.0.14-A.1 (#3150) 2025-01-16 16:41:59 +01:00
Vedant Mehra
021f7f98d4 [APPS-3106]-Special characters handling 2025-01-16 10:21:28 +05:30
alfresco-build
9d9c7a8d73 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-15 16:45:50 +00:00
alfresco-build
96b5968ce4 [maven-release-plugin][skip ci] prepare release 25.1.0.31 2025-01-15 16:45:47 +00:00
Sara
7b3c24416c ACS-9136 Bump ATS 4.1.6-A.1 (#3148) 2025-01-15 15:17:52 +00:00
alfresco-build
03412b7d5a [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-14 10:17:31 +00:00
alfresco-build
ab34e52f4e [maven-release-plugin][skip ci] prepare release 25.1.0.30 2025-01-14 10:17:29 +00:00
Gerard Olenski
fb45a3e3c2 ACS-9113 Verify Supported Platform for 25.1 (#3142)
- updated test suites to verify support of MariaDB 10.11
2025-01-14 10:07:23 +01:00
Piotr Żurek
d11a0deacc ACS-9045 Upgrade to Spring Framework 6.2.x (#3143) 2025-01-14 09:39:18 +01:00
alfresco-build
35c01f78c3 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-13 12:51:48 +00:00
alfresco-build
2ba65ac19d [maven-release-plugin][skip ci] prepare release 25.1.0.29 2025-01-13 12:51:46 +00:00
Kacper Magdziarz
c7e79193b0 [ACS-9045] Bump Spring Framework to 6.2.0 (#3083)
* [ACS-9045] Bump Spring Framework to 6.2.0

* [ACS-9045] Bump Surf Webscripts to 10.0

* [ACS-9045] Force bean initiation order

* [ACS-9045] Use not Deprecated determineTransactionManager method

Co-authored-by: Damian Ujma <damian.ujma@hyland.com>
2025-01-13 13:12:04 +01:00
alfresco-build
85648077e6 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-13 09:53:52 +00:00
alfresco-build
a5bf4c750b [maven-release-plugin][skip ci] prepare release 25.1.0.28 2025-01-13 09:53:49 +00:00
Gerard Olenski
986c387412 ACS-9113 [db] Verify Supported Platform for 25.1 (#3134)
- updated CI to run tests on PostgreSQL 14.x, 15.x, 16.x
2025-01-13 10:13:26 +01:00
alfresco-build
7956830390 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-12 00:07:44 +00:00
alfresco-build
2421752f4d [maven-release-plugin][skip ci] prepare release 25.1.0.27 2025-01-12 00:07:42 +00:00
Alfresco CI User
3be58cf5af [force] Force release for 2025-01-12. 2025-01-12 00:04:25 +00:00
Vedant Mehra
c34212b1b3 Merge branch 'master' of https://github.com/Alfresco/alfresco-community-repo into fix/apps-3106_Remove_Character_Java_Doc 2025-01-10 12:07:56 +05:30
alfresco-build
da9c7c372c [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-09 19:59:34 +00:00
alfresco-build
148c0e9602 [maven-release-plugin][skip ci] prepare release 25.1.0.26 2025-01-09 19:59:32 +00:00
dependabot[bot]
3eada8a1fd Bump org.codehaus.cargo:cargo-maven3-plugin from 1.10.14 to 1.10.16 (#3095)
Bumps org.codehaus.cargo:cargo-maven3-plugin from 1.10.14 to 1.10.16.

---
updated-dependencies:
- dependency-name: org.codehaus.cargo:cargo-maven3-plugin
  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>
2025-01-09 19:19:44 +00:00
alfresco-build
1416f4d877 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-09 19:10:19 +00:00
alfresco-build
0f3708c01b [maven-release-plugin][skip ci] prepare release 25.1.0.25 2025-01-09 19:10:17 +00:00
dependabot[bot]
f193389fe5 Bump dependency.log4j.version from 2.24.2 to 2.24.3 (#3094)
Bumps `dependency.log4j.version` from 2.24.2 to 2.24.3.

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

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

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

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-slf4j2-impl
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.apache.logging.log4j:log4j-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.logging.log4j:log4j-core
  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>
2025-01-09 18:28:59 +00:00
alfresco-build
fc0a1d3cc6 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-09 16:49:47 +00:00
alfresco-build
3551dbeb29 [maven-release-plugin][skip ci] prepare release 25.1.0.24 2025-01-09 16:49:45 +00:00
dependabot[bot]
436fde1a06 Bump org.alfresco:alfresco-greenmail from 7.0 to 7.1 (#2931)
Bumps [org.alfresco:alfresco-greenmail](https://github.com/Alfresco/alfresco-greenmail) from 7.0 to 7.1.
- [Commits](https://github.com/Alfresco/alfresco-greenmail/compare/alfresco-greenmail-7.0...alfresco-greenmail-7.1)

---
updated-dependencies:
- dependency-name: org.alfresco:alfresco-greenmail
  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>
Co-authored-by: Sara <sara.aspery@alfresco.com>
2025-01-09 16:09:40 +00:00
alfresco-build
c5ac2f3c4a [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-09 09:17:19 +00:00
alfresco-build
ae00e09b11 [maven-release-plugin][skip ci] prepare release 25.1.0.23 2025-01-09 09:17:17 +00:00
Manish Kumar
38b796f9ce fix/MNT-24542 class cast exception (#3092)
* [MNT-24542] fix class cast exception

* pre-commit-issue

* removed else part

* address review comments

* fix-conflict
2025-01-09 14:07:27 +05:30
alfresco-build
f9be67add6 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-09 07:19:54 +00:00
alfresco-build
dc458fd54e [maven-release-plugin][skip ci] prepare release 25.1.0.22 2025-01-09 07:19:53 +00:00
mohit-singh4
60a0d6a492 [APPS-3154] fix for number of file field in response (#3108)
* [fix/APPS-3154] Rectifying number of Files field in response.

* [fix/APPS-3154] Rectifying number of Files field in response.

* [fix/APPS-3154] Rectifying number of Files field in response.

* [fix/APPS-3154-fixForNumberOfFileFieldInResponse] fix for NumberOfFiles field in response

* [fix/APPS-3154-fixForNumberOfFileFieldInResponse] Updating numberOfFiles field in response

---------

Co-authored-by: mohit-singh4 <mohit.singh@contractors.hyland.com>
2025-01-09 12:08:33 +05:30
Vedant Mehra
f204310364 [apps-3106]-Reverted yaml change for build check 2025-01-09 11:11:42 +05:30
Vedant Mehra
7ac4c434e9 Merge branch 'master' of https://github.com/Alfresco/alfresco-community-repo into fix/apps-3106_Remove_Character_Java_Doc 2025-01-09 10:30:12 +05:30
alfresco-build
82f7b5a005 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-08 12:21:51 +00:00
alfresco-build
0f99564ca0 [maven-release-plugin][skip ci] prepare release 25.1.0.21 2025-01-08 12:21:49 +00:00
Piotr Żurek
b14f1ee7f1 Trigger CI 2025-01-08 12:28:32 +01:00
SathishK-T
99ef818606 [3172] License Header Update (#3126)
Co-authored-by: Sathish Kumar <ST28@ford.com>
2025-01-08 15:11:16 +05:30
Vedant Mehra
62a9d439b7 [APPS-3106] Precommit formatter 2025-01-08 14:53:04 +05:30
Vedant Mehra
0253b399a2 [APPS-3106] Removed special characters from yaml files 2025-01-07 13:16:31 +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
7355 changed files with 1015673 additions and 993247 deletions

View File

@@ -47,10 +47,6 @@ jobs:
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
- id: changed-files
uses: Alfresco/alfresco-build-tools/.github/actions/github-list-changes@v8.16.0
with:
write-list-to-env: true
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.16.0
- name: "Init"
run: bash ./scripts/ci/init.sh
@@ -106,12 +102,16 @@ jobs:
run: |
bash ./scripts/ci/init.sh
bash ./scripts/ci/build.sh
- name: "Remove excluded files"
run: |
mkdir temp-dir-for-sast
bash ./scripts/ci/remove-sast-exclusions.sh ./packaging/war/target/alfresco.war temp-dir-for-sast/reduced.war
- name: "Run SAST Scan"
uses: veracode/Veracode-pipeline-scan-action@v1.0.16
with:
vid: ${{ secrets.VERACODE_API_ID }}
vkey: ${{ secrets.VERACODE_API_KEY }}
file: "packaging/war/target/alfresco.war"
file: "temp-dir-for-sast/reduced.war"
fail_build: true
project_name: alfresco-community-repo
issue_details: true
@@ -129,6 +129,8 @@ jobs:
with:
name: Veracode Pipeline-Scan Results (Human Readable)
path: readable_output.zip
- name: "Remove temporary directory"
run: rm -rfv temp-dir-for-sast
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
@@ -145,7 +147,7 @@ jobs:
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
- uses: Alfresco/ya-pmd-scan@v4.3.0
- uses: Alfresco/ya-pmd-scan@v4.1.0
with:
classpath-build-command: "mvn test-compile -ntp -Pags -pl \"-:alfresco-community-repo-docker\""
@@ -331,7 +333,7 @@ jobs:
strategy:
fail-fast: false
matrix:
version: ['10.2.18', '10.4', '10.5']
version: ['10.5', '10.6']
steps:
- uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
@@ -392,8 +394,8 @@ jobs:
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
repository_mariadb_10_6_tests:
name: "Repository - MariaDB 10.6 tests"
repository_mariadb_10_11_tests:
name: "Repository - MariaDB 10.11 tests"
runs-on: ubuntu-latest
needs: [prepare]
if: >
@@ -410,10 +412,10 @@ jobs:
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
- name: "Init"
run: bash ./scripts/ci/init.sh
- name: "Run MariaDB 10.6 database"
- name: "Run MariaDB 10.11 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d
env:
MARIADB_VERSION: 10.6
MARIADB_VERSION: 10.11
- name: "Prepare Report Portal"
if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0
@@ -509,7 +511,7 @@ jobs:
RP_OPTS: ${{ github.ref_name == 'master' && steps.rp-prepare.outputs.mvn-opts || '' }}
run: |
eval "args=($RP_OPTS)"
mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "${args[@]}"
mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=com.mysql.cj.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "${args[@]}"
continue-on-error: true
- name: "Update GitHub Step Summary"
if: github.ref_name == 'master'
@@ -534,8 +536,8 @@ jobs:
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
repository_postgresql_13_12_tests:
name: "Repository - PostgreSQL 13.12 tests"
repository_postgresql_14_15_tests:
name: "Repository - PostgreSQL 14.15 tests"
runs-on: ubuntu-latest
needs: [prepare]
if: >
@@ -551,10 +553,10 @@ jobs:
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
- name: "Init"
run: bash ./scripts/ci/init.sh
- name: "Run PostgreSQL 13.12 database"
- name: "Run PostgreSQL 14.15 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d
env:
POSTGRES_VERSION: 13.12
POSTGRES_VERSION: 14.15
- name: "Prepare Report Portal"
if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0
@@ -604,16 +606,16 @@ jobs:
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
repository_postgresql_14_9_tests:
name: "Repository - PostgreSQL 14.9 tests"
repository_postgresql_15_10_tests:
name: "Repository - PostgreSQL 15.10 tests"
runs-on: ubuntu-latest
needs: [prepare]
if: >
(((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request' &&
!contains(github.event.head_commit.message, '[skip db]')) ||
contains(github.event.head_commit.message, '[db]')) &&
!contains(github.event.head_commit.message, '[skip tests]') &&
!contains(github.event.head_commit.message, '[force')
!contains(github.event.head_commit.message, '[skip db]')) ||
contains(github.event.head_commit.message, '[db]')) &&
!contains(github.event.head_commit.message, '[skip tests]') &&
!contains(github.event.head_commit.message, '[force')
steps:
- uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
@@ -621,10 +623,10 @@ jobs:
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
- name: "Init"
run: bash ./scripts/ci/init.sh
- name: "Run PostgreSQL 14.9 database"
- name: "Run PostgreSQL 15.10 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d
env:
POSTGRES_VERSION: 14.9
POSTGRES_VERSION: 15.10
- name: "Prepare Report Portal"
if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0
@@ -674,8 +676,8 @@ jobs:
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
repository_postgresql_15_4_tests:
name: "Repository - PostgreSQL 15.4 tests"
repository_postgresql_16_6_tests:
name: "Repository - PostgreSQL 16.6 tests"
runs-on: ubuntu-latest
needs: [prepare]
if: >
@@ -691,10 +693,10 @@ jobs:
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
- name: "Init"
run: bash ./scripts/ci/init.sh
- name: "Run PostgreSQL 15.4 database"
- name: "Run PostgreSQL 16.6 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d
env:
POSTGRES_VERSION: 15.4
POSTGRES_VERSION: 16.6
- name: "Prepare Report Portal"
if: github.ref_name == 'master'
uses: Alfresco/alfresco-build-tools/.github/actions/reportportal-prepare@v8.16.0
@@ -1055,7 +1057,7 @@ jobs:
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
- name: "Init"
run: bash ./scripts/ci/init.sh
- name: "Run Postgres 15.4 database"
- name: "Run Postgres 16.6 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile postgres up -d
- name: "Prepare Report Portal"
if: github.ref_name == 'master'

View File

@@ -0,0 +1,32 @@
name: Pre-Commit formatter
on:
push:
branches:
- precommit/**
jobs:
format-code:
name: "Reformat code"
runs-on: ubuntu-latest
if: contains(github.event.head_commit.message, '[reformat code]')
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: "3.9"
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
continue-on-error: true
with:
extra_args: --all-files
- name: Update secrets baseline
run: pip install detect-secrets && detect-secrets scan --baseline .secrets.baseline
- uses: Alfresco/alfresco-build-tools/.github/actions/git-commit-changes@v8.16.0
with:
username: ${{ secrets.BOT_GITHUB_USERNAME }}
add-options: -u
commit-message: "Apply Pre-Commit code formatting"
skip-if-no-changes: true
- name: Push changes
run: git push

View File

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

View File

@@ -10,7 +10,9 @@ pre-commit install
When you make a commit then these hooks will run and check the modified files. If it makes changes then you can review them and then `git commit` again to accept the changes.
#### Code Quality
This project uses `spotless` that enforces `alfresco-formatter.xml` to ensure code quality.
This project uses `spotless` that enforces `alfresco-formatter.xml` to ensure code quality.
The code style definition file is taken always form the `master` branch of `alfresco-community-repo`.
All downstream projects use this code style definition file as well.
To check code-style violations you can use:
```bash

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -27,11 +27,12 @@
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.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.rm.community.model.transfer.Transfer;
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
{
/**
* @param rmRestWrapper RM REST Wrapper
* @param rmRestWrapper
* RM REST Wrapper
*/
public TransferAPI(RMRestWrapper rmRestWrapper)
{
@@ -66,16 +68,19 @@ public class TransferAPI extends RMModelRequest
/**
* Gets a transfer.
*
* @param transferId The identifier of a transfer
* @param parameters The URL parameters to add
* @param transferId
* The identifier of a transfer
* @param parameters
* The URL parameters to add
* @return The {@link Transfer} for the given {@code transferId}
* @throws RuntimeException for the following cases:
* <ul>
* <li>{@code transferId} is not a valid format</li>
* <li>authentication fails</li>
* <li>current user does not have permission to read {@code transferId}</li>
* <li>{@code transferId} does not exist</li>
* </ul>
* @throws RuntimeException
* for the following cases:
* <ul>
* <li>{@code transferId} is not a valid format</li>
* <li>authentication fails</li>
* <li>current user does not have permission to read {@code transferId}</li>
* <li>{@code transferId} does not exist</li>
* </ul>
*/
public Transfer getTransfer(String transferId, String parameters)
{
@@ -85,9 +90,9 @@ public class TransferAPI extends RMModelRequest
GET,
"/transfers/{transferId}?{parameters}",
transferId,
parameters
));
parameters));
}
/**
* see {@link #getTransfersChildren(String, String)}
*/
@@ -101,25 +106,27 @@ public class TransferAPI extends RMModelRequest
/**
* Gets the children (record folder or record) of a transfer.
*
* @param transferId The identifier of a transfer
* @param parameters The URL parameters to add
* @param transferId
* The identifier of a transfer
* @param parameters
* The URL parameters to add
* @return The {@link TransferChildCollection} for the given {@code transferId}
* @throws RuntimeException for the following cases:
* <ul>
* <li>authentication fails</li>
* <li>current user does not have permission to read {@code transferId}</li>
* <li>{@code filePlanId} does not exist</li>
*</ul>
* @throws RuntimeException
* for the following cases:
* <ul>
* <li>authentication fails</li>
* <li>current user does not have permission to read {@code transferId}</li>
* <li>{@code filePlanId} does not exist</li>
* </ul>
*/
public TransferChildCollection getTransfersChildren(String transferId, String parameters)
{
mandatoryString("transferId", transferId);
return getRmRestWrapper().processModels(TransferChildCollection.class, simpleRequest(
GET,
"transfers/{filePlanId}/children?{parameters}",
transferId,
parameters
));
GET,
"transfers/{filePlanId}/children?{parameters}",
transferId,
parameters));
}
}

View File

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

View File

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

View File

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

View File

@@ -44,12 +44,10 @@ public class CommonTestUtils
/** Private constructor to prevent instantiation. */
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
* collisions when running locally and should also be short enough to maintain readability.
* 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.
*/
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.command.LogContainerResultCallback;
import com.github.dockerjava.netty.NettyDockerCmdExecFactory;
import lombok.Getter;
import lombok.Setter;
import org.alfresco.utility.Utility;
import org.apache.commons.lang.SystemUtils;
import org.slf4j.Logger;
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.stereotype.Service;
import org.alfresco.utility.Utility;
/**
* Helper class for interaction with docker containers
*
@@ -68,29 +68,31 @@ public class DockerHelper
private DockerClient dockerClient;
@Autowired
public DockerHelper(@Value ("${docker.host}") String dockerHost)
public DockerHelper(@Value("${docker.host}") String dockerHost)
{
if (SystemUtils.IS_OS_WINDOWS)
{
this.dockerClient = DockerClientBuilder
.getInstance(dockerHost)
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
.build();
.getInstance(dockerHost)
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
.build();
}
else
{
this.dockerClient = DockerClientBuilder
.getInstance()
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
.build();
.getInstance()
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
.build();
}
}
/**
* Method for returning logs of docker container
*
* @param containerId - ID of the container
* @param timeStamp - get the logs since a specific timestamp
* @param containerId
* - ID of the container
* @param timeStamp
* - get the logs since a specific timestamp
* @return list of strings, where every string is log line
*/
private List<String> getDockerLogs(String containerId, int timeStamp)
@@ -99,14 +101,13 @@ public class DockerHelper
final LogContainerCmd logContainerCmd = getDockerClient().logContainerCmd(containerId);
logContainerCmd.withStdOut(true)
.withStdErr(true)
.withSince(timeStamp) // UNIX timestamp to filter logs. Output log-entries since that timestamp.
.withTimestamps(true); //print timestamps for every log line
.withStdErr(true)
.withSince(timeStamp) // UNIX timestamp to filter logs. Output log-entries since that timestamp.
.withTimestamps(true); // print timestamps for every log line
try
{
logContainerCmd.exec(new LogContainerResultCallback()
{
logContainerCmd.exec(new LogContainerResultCallback() {
@Override
public void onNext(Frame item)
{
@@ -116,7 +117,7 @@ public class DockerHelper
}
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);
}
@@ -148,14 +149,14 @@ public class DockerHelper
/**
* 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
*/
public void checkExceptionIsInAlfrescoLogs(String expectedException) throws Exception
{
//Retry the operation because sometimes it takes few seconds to throw the exception
Utility.sleep(6000, 30000, () ->
{
// Retry the operation because sometimes it takes few seconds to throw the exception
Utility.sleep(6000, 30000, () -> {
List<String> alfrescoLogs = getAlfrescoLogs();
assertTrue(alfrescoLogs.stream().anyMatch(logLine -> logLine.contains(expectedException)));
});
@@ -164,7 +165,8 @@ public class DockerHelper
/**
* 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
*/
private List<Container> findContainersByImageName(String imageName)
@@ -172,7 +174,7 @@ public class DockerHelper
final List<Container> containers = getDockerClient().listContainersCmd().withShowAll(true).exec();
return containers.stream()
.filter(container -> container.getImage().contains(imageName))
.collect(Collectors.toList());
.filter(container -> container.getImage().contains(imageName))
.collect(Collectors.toList());
}
}

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