Compare commits

..

156 Commits

Author SHA1 Message Date
alfresco-build
8e33924701 [maven-release-plugin][skip ci] prepare release 22.35 2025-02-10 12:16:56 +00:00
Kacper Magdziarz
2f8ea7bff1 [ACS-9181] Bump Keycloak to 26.1.0 on ACS 7.4.2 (#3174)
* [ACS-9181] Bump Keycloak to 26.1.0

* [ACS-9181] Bump Keycloak
2025-02-10 12:25:47 +01:00
alfresco-build
263337c720 [maven-release-plugin][skip ci] prepare for next development iteration 2025-02-04 11:58:57 +00:00
alfresco-build
226aaf8503 [maven-release-plugin][skip ci] prepare release 22.34 2025-02-04 11:58:45 +00:00
Cezary Witkowski
86f971f713 [ACS-9204] Backport MNT-24807 to the release/7.4.2 branch (#3184)
* [MNT-24807] repo event2 is exposing user password hash and salt (#3147)

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

* [MNT-24807] Fix failing tests

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

This reverts commit c118f713f2.

* [MNT-24807] Fix failing tests without reformat

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

* [MNT-24807] Introduced interface to keep convention

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

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

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

* [MNT-24807] Fixed npe and pmd issues

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

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

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

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

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

* [MNT-24807] Added unit tests

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

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

* [MNT-24807] PMD again

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

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

---------

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

* [ACS-9204] Apply spotless

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

* [ACS-9204] This was not present in 7.4.2

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

---------

Signed-off-by: cezary-witkowski <cezary.witkowski@hyland.com>
2025-02-04 10:47:25 +01:00
alfresco-build
0958e866b0 [maven-release-plugin][skip ci] prepare for next development iteration 2025-01-24 13:36:47 +00:00
alfresco-build
ad6caede9c [maven-release-plugin][skip ci] prepare release 22.33 2025-01-24 13:36:44 +00:00
Kacper Magdziarz
44a2d5e6e3 Upgrade pre-commit job (#3162) 2025-01-24 13:53:13 +01:00
Kacper Magdziarz
858f839ee0 Trigger build 2025-01-24 13:13:07 +01:00
Kacper Magdziarz
5908e9f4c1 Bump headers 2025-01-24 12:45:01 +01:00
alfresco-build
453326c4d8 [maven-release-plugin][skip ci] prepare for next development iteration 2024-12-03 00:23:43 +00:00
alfresco-build
0aaa9bcbba [maven-release-plugin][skip ci] prepare release 22.32 2024-12-03 00:23:40 +00:00
Eva Vasques
0870a8cacf MNT-24753 Restore from Archive when we have multiple content stores (#3066) (#3072)
* Pre-commit changes
* Method requestRestoreContentFromArchive needs to use injected ContentStore

(cherry picked from commit 37231e50a2)
2024-12-02 19:08:33 +00:00
alfresco-build
8176f82e78 [maven-release-plugin][skip ci] prepare for next development iteration 2024-10-11 13:44:26 +00:00
alfresco-build
7fc6463c78 [maven-release-plugin][skip ci] prepare release 22.31 2024-10-11 13:44:24 +00:00
Aleksandra Onych
4555dd3939 [ACS-8862] Bump Keycloak to 25.0.6 (#2990) 2024-10-11 15:05:00 +02:00
alfresco-build
41c8488634 [maven-release-plugin][skip ci] prepare for next development iteration 2024-10-10 20:56:34 +00:00
alfresco-build
439a17302a [maven-release-plugin][skip ci] prepare release 22.30 2024-10-10 20:56:31 +00:00
Eva Vasques
c1ee9467c8 MNT-24641 Avoid duplicate key error on content upload (#2984) (#2986)
MNT-24641 Avoid duplicate key error on content upload (#2984)

* On createOrGetByValue in EntityLookupCache, also cache by value
* Created getCachedEntityByValue that attempt to retrieve the value only from cache
* On attempt to create content URL, first check cache before attempting to create in the database avoiding a duplicate key

(cherry picked from commit f4103c242f)

* Pre-commit formatting
* Fix EntityLookupCacheTest
2024-10-10 19:08:46 +01:00
alfresco-build
3443ea9eb7 [maven-release-plugin][skip ci] prepare for next development iteration 2024-10-07 15:35:49 +00:00
alfresco-build
4fb14adfd9 [maven-release-plugin][skip ci] prepare release 22.29 2024-10-07 15:35:47 +00:00
Tom Page
dded4a461b Merge pull request #2973 from Alfresco/feature/PrecommitChecks_7.4.2
Add precommit for secret scanning, formatting and license header checking.
2024-10-07 15:54:00 +01:00
Tom Page
93dedd01c2 Add precommit for secret scanning, formatting and license header checking.
* Add precommit for secret scanning, formatting and license header checking.

* Turn off bash debug logging.

* Skip precommit checks that apply to all files.

There are too many violations to run against all files.

(cherry picked from commit b00e11cb6f)
2024-10-07 14:26:24 +01:00
Aleksandra Onych
eb0a064b31 ACS-8670 Deal with upcoming GitHub Actions deprecations (#2875)
Co-authored-by: Domenico Sibilio <domenicosibilio@gmail.com>
2024-09-03 15:46:56 +02:00
alfresco-build
db30d7fbfe [maven-release-plugin][skip ci] prepare for next development iteration 2024-07-22 09:01:49 +00:00
alfresco-build
ba5f94b848 [maven-release-plugin][skip ci] prepare release 22.28 2024-07-22 09:01:47 +00:00
Damian Ujma
4a9eef0356 ACS-8298 Bump bouncycastle, commons-io, poi, tika, apache-compress, xmlbeans (#2796)
* ACS-8298 Bump bouncycastle to 1.78.1

* ACS-8298 Bump tika

* ACS-8298 Bump commons-compress, xmlbeans

* ACS-8298 Bump commons-compress

* ACS-8298 Bump commons-io

* ACS-8298 Fix VirtualNodeServiceExtension

* ACS-8298 Bump commons-lang3
2024-07-22 10:19:06 +02:00
Aleksandra Onych
0c681258e9 [ACS-8352] Migrate to docker compose v2 (#2766) 2024-07-09 14:20:07 +02:00
alfresco-build
2c28b04efa [maven-release-plugin][skip ci] prepare for next development iteration 2024-07-08 10:51:45 +00:00
alfresco-build
8027a579ab [maven-release-plugin][skip ci] prepare release 22.27 2024-07-08 10:51:42 +00:00
Sara
81768de342 Bump SS/IE to 2.0.11 in 7-4-2 (#2756) 2024-07-08 10:00:00 +01:00
alfresco-build
6bec0c84fe [maven-release-plugin][skip ci] prepare for next development iteration 2024-07-05 17:24:43 +00:00
alfresco-build
9efdb7aeb1 [maven-release-plugin][skip ci] prepare release 22.26 2024-07-05 17:24:41 +00:00
Piotr Żurek
51f669bd48 ACS-8289 Bump ATS/AIS in ACS 7.4.2 (#2749) 2024-07-05 17:56:34 +02:00
alfresco-build
51092c7d4f [maven-release-plugin][skip ci] prepare for next development iteration 2024-06-27 14:17:17 +00:00
alfresco-build
4ae12096ab [maven-release-plugin][skip ci] prepare release 22.25 2024-06-27 14:17:15 +00:00
Sara
ce829f9ebb Merge pull request #2722 from Alfresco/feature/ACS-8287_Bump_SS-IE_in_7-4-2
ACS-8287 Bump SS/IE to 2.0.11-A6
2024-06-27 13:11:24 +01:00
Sara Aspery
1222326741 Bump SS/IE to 2.0.11-A6 2024-06-27 10:43:22 +01:00
alfresco-build
d9ce80ab31 [maven-release-plugin][skip ci] prepare for next development iteration 2024-06-26 11:49:27 +00:00
alfresco-build
bcf7df9e48 [maven-release-plugin][skip ci] prepare release 22.24 2024-06-26 11:49:24 +00:00
Kacper Magdziarz
094e3189cb [ ACS-8281] Bump ATS to 4.1.3-A2 (#2715) 2024-06-26 13:11:53 +02:00
alfresco-build
d22936a36a [maven-release-plugin][skip ci] prepare for next development iteration 2024-05-23 20:31:43 +00:00
alfresco-build
66b3c95837 [maven-release-plugin][skip ci] prepare release 22.23 2024-05-23 20:31:41 +00:00
mstrankowski
a40e10cd12 Create HotFix branch for 7.4.2 2024-05-23 21:56:11 +02:00
alfresco-build
e4c61c7a87 [maven-release-plugin][skip ci] prepare release 22.22 2024-05-17 14:09:03 +00:00
Kacper Magdziarz
5596dc71c5 [ACS-7896] Bump AIS/ATS 5.1.2/4.1.2 2024-05-17 12:07:18 +02:00
alfresco-build
1323867700 [maven-release-plugin][skip ci] prepare for next development iteration 2024-05-09 13:38:35 +00:00
alfresco-build
a513e59db2 [maven-release-plugin][skip ci] prepare release 22.21 2024-05-09 13:38:33 +00:00
Piotr Żurek
b3e1751c50 ACS-7895 Bump ATS (#2635) 2024-05-09 15:00:04 +02:00
alfresco-build
2581555a9d [maven-release-plugin][skip ci] prepare for next development iteration 2024-05-06 09:09:34 +00:00
alfresco-build
c2dd86e1bd [maven-release-plugin][skip ci] prepare release 22.20 2024-05-06 09:09:32 +00:00
Domenico Sibilio
d9389d4a27 ACS-7744 Bump Keycloak to 24.0.3 (#2618) 2024-05-06 09:40:25 +02:00
alfresco-build
19f8f5a152 [maven-release-plugin][skip ci] prepare for next development iteration 2024-04-30 10:31:21 +00:00
alfresco-build
ab097a0695 [maven-release-plugin][skip ci] prepare release 22.19 2024-04-30 10:31:19 +00:00
Domenico Sibilio
c1ea1ceb20 ACS-7745 Bump Spring Web to 5.3.34 (#2616) 2024-04-30 11:55:06 +02:00
alfresco-build
0a70ae93dc [maven-release-plugin][skip ci] prepare for next development iteration 2024-04-12 14:34:33 +00:00
alfresco-build
9474fd8404 [maven-release-plugin][skip ci] prepare release 22.18 2024-04-12 14:34:30 +00:00
Domenico Sibilio
6d7ceeeed3 ACS-7481 Bump IE/SS to 2.0.10 (#2584) 2024-04-12 15:30:35 +02:00
alfresco-build
b41fabae85 [maven-release-plugin][skip ci] prepare for next development iteration 2024-04-12 08:53:15 +00:00
alfresco-build
ce57110392 [maven-release-plugin][skip ci] prepare release 22.17 2024-04-12 08:53:12 +00:00
Piotr Żurek
699515b6fd ACS-7483 Bump ATS (#2582) 2024-04-12 10:17:49 +02:00
alfresco-build
34c88d66e9 [maven-release-plugin][skip ci] prepare for next development iteration 2024-04-11 14:28:13 +00:00
alfresco-build
eba2ea4c7a [maven-release-plugin][skip ci] prepare release 22.16 2024-04-11 14:28:10 +00:00
Domenico Sibilio
8f75c0c403 ACS-7565 Bump Keycloak to 24.0.2 (#2580) 2024-04-11 15:52:30 +02:00
alfresco-build
621b5731be [maven-release-plugin][skip ci] prepare for next development iteration 2024-04-10 09:41:36 +00:00
alfresco-build
6e1b688c67 [maven-release-plugin][skip ci] prepare release 22.15 2024-04-10 09:41:33 +00:00
Eva Vasques
1b0ad9c7a1 MNT-24321 Transfer Service Exception Handling (#2573) (#2579)
* Mark method deserialize in ExceptionJsonSerializer as deprecated
* Remove usage of jsonErrorSerializer

(cherry picked from commit c31158a113)
2024-04-10 10:05:42 +01:00
alfresco-build
666f38515c [maven-release-plugin][skip ci] prepare for next development iteration 2024-04-05 12:54:57 +00:00
alfresco-build
34e04ed55a [maven-release-plugin][skip ci] prepare release 22.14 2024-04-05 12:54:54 +00:00
Domenico Sibilio
a9baef373a ACS-6961 Bump IE/SS to 2.0.10-A1 (#2570) 2024-04-05 14:09:36 +02:00
alfresco-build
75666c319f [maven-release-plugin][skip ci] prepare for next development iteration 2024-04-04 06:53:36 +00:00
alfresco-build
98e18bc0a6 [maven-release-plugin][skip ci] prepare release 22.13 2024-04-04 06:53:34 +00:00
Piotr Żurek
7f3cf3f780 ACS-7313 Bump ATS in ACS 7.4.N (#2558) 2024-04-03 14:49:07 +02:00
alfresco-build
69f192e036 [maven-release-plugin][skip ci] prepare for next development iteration 2024-03-28 11:36:11 +00:00
alfresco-build
4cd6d5dde0 [maven-release-plugin][skip ci] prepare release 22.12 2024-03-28 11:36:08 +00:00
Piotr Żurek
51986f94bb MNT-23210 Fix audit min-max query 2024-03-28 11:57:31 +01:00
alfresco-build
ed8edd29d7 [maven-release-plugin][skip ci] prepare for next development iteration 2024-03-27 11:43:14 +00:00
alfresco-build
e78837d749 [maven-release-plugin][skip ci] prepare release 22.11 2024-03-27 11:43:11 +00:00
kcichonczyk
5392d14db0 [ACS-7323] AIS version bump to java11 compatible (#2543) 2024-03-27 12:06:22 +01:00
alfresco-build
d5f321fb2a [maven-release-plugin][skip ci] prepare for next development iteration 2024-03-26 11:23:31 +00:00
alfresco-build
54e7d2dc38 [maven-release-plugin][skip ci] prepare release 22.10 2024-03-26 11:23:29 +00:00
Domenico Sibilio
13588b4969 ACS-7250 Test against raw Keycloak 21.1.2 (#2536) 2024-03-26 09:39:02 +01:00
alfresco-build
893b95aa2a [maven-release-plugin][skip ci] prepare for next development iteration 2024-03-25 14:46:03 +00:00
alfresco-build
6c01ef79b8 [maven-release-plugin][skip ci] prepare release 22.9 2024-03-25 14:46:01 +00:00
Kacper Magdziarz
3ab848e934 [ACS-6958] check latest spring security (#2538) 2024-03-25 14:54:36 +01:00
alfresco-build
b2e3e792b4 [maven-release-plugin][skip ci] prepare for next development iteration 2024-03-22 15:15:57 +00:00
alfresco-build
db6bbe9d82 [maven-release-plugin][skip ci] prepare release 22.8 2024-03-22 15:15:54 +00:00
Kacper Magdziarz
8783c674a3 [ACS-6958] Update Jackson version to 2.15.4 (#2535) 2024-03-22 15:41:38 +01:00
alfresco-build
00e71fe4c6 [maven-release-plugin][skip ci] prepare for next development iteration 2024-03-22 11:44:03 +00:00
alfresco-build
ca6c73d1ad [maven-release-plugin][skip ci] prepare release 22.7 2024-03-22 11:44:01 +00:00
pksingh41
172d0d3134 [ACS-7210]-guava-29.0 fixing the issue (#2534) 2024-03-22 15:47:53 +05:30
alfresco-build
12e20e68de [maven-release-plugin][skip ci] prepare for next development iteration 2024-03-22 10:15:04 +00:00
alfresco-build
1540e6c8f1 [maven-release-plugin][skip ci] prepare release 22.6 2024-03-22 10:15:01 +00:00
mikolajbrzezinski
d50e82e74b ACS-7258 Prepare for ACS 7.4.2 Service Pack (#2517) 2024-03-22 10:39:38 +01:00
alfresco-build
518058b284 [maven-release-plugin][skip ci] prepare for next development iteration 2024-03-21 12:18:36 +00:00
alfresco-build
2c724e6fd9 [maven-release-plugin][skip ci] prepare release 22.5 2024-03-21 12:18:33 +00:00
Tom Page
5088255c27 Merge pull request #2529 from Alfresco/feature/MNT-24250_xalan_7.4.N
MNT-24250: bump xalan version (#2497)
2024-03-21 11:42:57 +00:00
pksingh41
1023d9945a [ACS-7212]-json-smart fix issue (#2525) 2024-03-21 15:34:11 +05:30
Paweł Rainer
74cba1a233 MNT-24250: bump xalan version (#2497)
* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* bump xalan

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: bump xalan version

* MNT-24250: alfresco.3

* MNT-24250: alfresco.3

* MNT-24250: alfresco.3

* MNT-24250: alfresco.3

* MNT-24250: alfresco.3

* MNT-24250: 2.7.3 official

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco.3

* MNT-24250: 2.7.3-alfresco

* MNT-24250: 2.7.3-alfresco

* MNT-24250: 2.7.3-alfresco

* MNT-24250: 2.7.3-alfresco

(cherry picked from commit 1bdd6c022c)
2024-03-20 16:22:23 +00:00
alfresco-build
8fad6762b4 [maven-release-plugin][skip ci] prepare for next development iteration 2024-03-19 10:47:57 +00:00
alfresco-build
ce8278910b [maven-release-plugin][skip ci] prepare release 22.4 2024-03-19 10:47:55 +00:00
Piotr Żurek
d2994cd61b ACS-7218 Upgrade Spring Framework (#2523)
ACS-7218 Revert Spring Security Upgrade
2024-03-19 11:10:57 +01:00
alfresco-build
5724d7075d [maven-release-plugin][skip ci] prepare for next development iteration 2024-01-25 14:12:46 +00:00
alfresco-build
0f27d18265 [maven-release-plugin][skip ci] prepare release 22.3 2024-01-25 14:12:43 +00:00
mikolajbrzezinski
b00601d107 ACS-6651 Update AGS file headers (#2419)
ACS-6651 Update AGS file headers
2024-01-25 13:47:07 +01:00
alfresco-build
90200adb21 [maven-release-plugin][skip ci] prepare for next development iteration 2023-10-10 13:33:23 +00:00
alfresco-build
f17d2214b2 [maven-release-plugin][skip ci] prepare release 22.2 2023-10-10 13:33:20 +00:00
Marcin Strankowski
bc04b4d0c3 MNT-23891: Change configuration for UpgradePasswordHashJob to one recommended, it has been tested locally and indeed runs proper code. A wrong class was called for the good parameters given, probably a copy/paste typo. (#2236) 2023-10-10 14:42:46 +02:00
alfresco-build
b5a5237eba [maven-release-plugin][skip ci] prepare for next development iteration 2023-08-16 19:45:56 +00:00
alfresco-build
8175bbfb43 [maven-release-plugin][skip ci] prepare release 22.1 2023-08-16 19:45:52 +00:00
tiagosalvado10
5b4823c7a2 [MNT-23509] Add lock callback to refreshLock method (#2030) (#2140)
* [MNT-23509] Add lock callback to refreshLock method

* [MNT-23509] Added unit test

* [MNT-23509] PMD scan improvements

(cherry picked from commit 27186a56b8)
2023-08-16 19:55:57 +01:00
tiagosalvado10
a0ac6e54ed [MNT-23816] Prevent rules aspect removal when there are existing rules (#2114) (#2139)
* [MNT-23816] Prevent rules aspect removal when there are existing rules

(cherry picked from commit 1d56eb1dd1)
2023-08-16 19:06:57 +01:00
mpichura
7a3b2f66ea Update ServicePack branch to 7.4.2 2023-08-09 13:19:25 +02:00
alfresco-build
c93e239c85 [maven-release-plugin][skip ci] prepare for next development iteration 2023-08-07 22:05:40 +00:00
alfresco-build
604369fd2a [maven-release-plugin][skip ci] prepare release 21.14 2023-08-07 22:05:37 +00:00
mstrankowski
647e17e4a0 [skip tests] bring back old properties and skip tests 2023-08-08 00:02:09 +02:00
alfresco-build
397d6fdaee [maven-release-plugin][skip ci] prepare for next development iteration 2023-08-07 18:37:25 +00:00
alfresco-build
35052404fe [maven-release-plugin][skip ci] prepare release 21.13 2023-08-07 18:37:22 +00:00
Marcin Strankowski
6ba66513f2 There was no override of properties related to HttpClientConfig, whic… (#2120)
* There was no override of properties related to HttpClientConfig, which meant that if a property wasn't present in global-properties files, it wouldn't be registered and couldn't be provided through command line. I've amended that here
2023-08-07 19:43:38 +02:00
alfresco-build
e5886e2104 [maven-release-plugin][skip ci] prepare for next development iteration 2023-08-07 11:14:18 +00:00
alfresco-build
5ad1d9752c [maven-release-plugin][skip ci] prepare release 21.12 2023-08-07 11:14:15 +00:00
Marcin Strankowski
67deb82f06 MNT-23878: By default there was no timeout set for HttpClients, we've… (#2118)
* MNT-23878: By default there was no timeout set for HttpClients, we've wrongly directed ourselfes with the values of currently existing mTLS (Solr/Elasticsearch) for Transform that used default http clients with infinite timeouts
2023-08-07 09:49:10 +02:00
alfresco-build
a067b1dba5 [maven-release-plugin][skip ci] prepare for next development iteration 2023-08-01 10:29:03 +00:00
alfresco-build
55f9c9d46d [maven-release-plugin][skip ci] prepare release 21.11 2023-08-01 10:28:59 +00:00
Maciej Pichura
f070ed46a7 ACS-5698: Update api-explorer version 2023-08-01 11:41:58 +02:00
alfresco-build
c9636c84a2 [maven-release-plugin][skip ci] prepare for next development iteration 2023-07-28 15:03:25 +00:00
alfresco-build
4e764a3106 [maven-release-plugin][skip ci] prepare release 21.10 2023-07-28 15:03:22 +00:00
Tom Page
bbb668b446 [force 7.4.1-A2] ACS-5696 Release 7.4.1-A2. 2023-07-28 15:56:59 +01:00
alfresco-build
c9b9a9b239 [maven-release-plugin][skip ci] prepare for next development iteration 2023-07-28 12:55:37 +00:00
alfresco-build
01fb7f45a3 [maven-release-plugin][skip ci] prepare release 21.9 2023-07-28 12:55:33 +00:00
Tom Page
41c4b34d8d ACS-5698 Allow specifying version when performing force release. (#2089)
(cherry picked from commit 0b6b405c5f)
2023-07-26 15:53:01 +01:00
alfresco-build
36bf081b59 [maven-release-plugin][skip ci] prepare for next development iteration 2023-07-26 13:16:58 +00:00
alfresco-build
2a5892de78 [maven-release-plugin][skip ci] prepare release 21.8 2023-07-26 13:16:55 +00:00
Tom Page
d302606318 Merge pull request #2085 from Alfresco/feature/MNT-23763_ImagePreviewWebscript (#2088)
MNT-23763 Fix image preview webscript for use with ES.

(cherry picked from commit fcf3e005e4)
2023-07-26 13:27:21 +01:00
alfresco-build
7ebad61406 [maven-release-plugin][skip ci] prepare for next development iteration 2023-07-07 16:23:49 +00:00
alfresco-build
587087389e [maven-release-plugin][skip ci] prepare release 21.7 2023-07-07 16:23:47 +00:00
evasques
57c3605d63 ACS-5487 - Track Total Hits on ES (#2041) (#2049)
SearchParameters - added trackTotalHits (int) attribute
SearchRequest - Added trackTotalHitsLimit (int) to the Limits attribute and mapped it to the SearchParameters
Changed the SearchRequest model in TAS to include a new RestRequestLimitsModel that has the new trackTotalHitsLimit attribute
SearchMapperTests to test the changes in the SearchParameters

(cherry picked from commit a1faf97fc5)
2023-07-07 16:38:05 +01:00
alfresco-build
2cb318a18e [maven-release-plugin][skip ci] prepare for next development iteration 2023-07-03 14:11:08 +00:00
alfresco-build
bd7af1f39c [maven-release-plugin][skip ci] prepare release 21.6 2023-07-03 14:10:59 +00:00
tiagosalvado10
7885c6a78b MNT-23451 filterQuery for facet Null (#1764) (#2033)
After MNT-23276, a "Null" value was introduced but the facetQuery does not reflect how to query nodes with that facet

(cherry picked from commit d46ae1634f)

Co-authored-by: Nicolas Barithel <nicolas.barithel@hyland.com>
2023-07-03 14:22:43 +01:00
alfresco-build
d42e9ef993 [maven-release-plugin][skip ci] prepare for next development iteration 2023-06-29 15:54:37 +00:00
alfresco-build
197590eef4 [maven-release-plugin][skip ci] prepare release 21.5 2023-06-29 15:54:33 +00:00
tiagosalvado10
102f59cde1 [MNT-23748] Bump surf webscripts (#2026)
* [MNT-23748] Bump surf-webscripts to 8.44 (#2023)

(cherry picked from commit 51fe0275df)
2023-06-29 14:26:27 +01:00
alfresco-build
529699b5e1 [maven-release-plugin][skip ci] prepare for next development iteration 2023-06-28 23:54:50 +00:00
alfresco-build
96456ec719 [maven-release-plugin][skip ci] prepare release 21.4 2023-06-28 23:54:47 +00:00
tiagosalvado10
71bbb579e6 [MNT-23642] Add error messages (#2019) (#2024)
(cherry picked from commit 689e6a23fa)
2023-06-29 00:08:56 +01:00
alfresco-build
51dcf28756 [maven-release-plugin][skip ci] prepare for next development iteration 2023-06-21 10:25:52 +00:00
alfresco-build
1639a17451 [maven-release-plugin][skip ci] prepare release 21.3 2023-06-21 10:25:49 +00:00
rrajoria
585e6042cb Fix/MNT-23612 Fix to allow only valid task status. (#1954)
* Update WorkflowServiceImpl.java

* Update WorkflowServiceImpl.java

(cherry picked from commit 4c256ab546)
2023-06-21 14:16:59 +05:30
alfresco-build
8364211384 [maven-release-plugin][skip ci] prepare for next development iteration 2023-06-20 07:05:59 +00:00
alfresco-build
f68d304d57 [maven-release-plugin][skip ci] prepare release 21.2 2023-06-20 07:05:55 +00:00
rrajoria
b55e1114e6 MNT-23724: Fix for Downloading a folder as zip with correct Name
Cherrypicked from master
2023-06-20 11:14:17 +05:30
alfresco-build
0e23ba37c6 [maven-release-plugin][skip ci] prepare for next development iteration 2023-05-30 23:52:54 +00:00
alfresco-build
38a4d378d9 [maven-release-plugin][skip ci] prepare release 21.1 2023-05-30 23:52:51 +00:00
tiagosalvado10
65a562cd73 [MNT-23665] Removed search controls count limit (#1936) (#1968)
(cherry picked from commit 07c7342032)
2023-05-30 21:42:47 +01:00
kmagdziarz
8eab098317 Create ServicePack branch release/7.4.N 2023-05-05 12:39:50 +02:00
7501 changed files with 1000489 additions and 1051396 deletions

100
.github/dependabot.yml vendored
View File

@@ -14,6 +14,15 @@ updates:
timezone: Africa/Abidjan timezone: Africa/Abidjan
open-pull-requests-limit: 99 open-pull-requests-limit: 99
ignore: ignore:
- dependency-name: com.google.code.gson:gson
versions:
- "> 2.8.6"
- dependency-name: io.fabric8:fabric8-maven-plugin
versions:
- "> 4.4.0"
- dependency-name: javax.servlet:javax.servlet-api
versions:
- "> 3.0.1"
- dependency-name: org.acegisecurity:acegi-security - dependency-name: org.acegisecurity:acegi-security
versions: versions:
- "> 0.8.2_patched" - "> 0.8.2_patched"
@@ -43,7 +52,92 @@ updates:
- "> 1.0.0" - "> 1.0.0"
- dependency-name: org.freemarker:freemarker - dependency-name: org.freemarker:freemarker
versions: versions:
- "> 2.3.31-alfresco-patched" - "> 2.3.20-alfresco-patched-20200421"
- dependency-name: org.eclipse.jetty:jetty-server
versions:
- 9.4.38.v20210224
- dependency-name: org.alfresco.tas:cmis
versions:
- "1.28"
- dependency-name: org.springframework:spring-webmvc
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-web
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-tx
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-orm
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-test
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-jms
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-jdbc
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-expression
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-core
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-context-support
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-context
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-beans
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.springframework:spring-aop
versions:
- 5.3.4
- 5.3.5
- dependency-name: org.alfresco.tas:restapi
versions:
- "1.55"
- dependency-name: org.eclipse.jetty:jetty-security
versions:
- 11.0.1
- dependency-name: org.alfresco.aos-module:alfresco-vti-bin
versions:
- 1.4.0-M1
- dependency-name: org.alfresco.aos-module:alfresco-aos-module-distributionzip
versions:
- 1.4.0-M1
- dependency-name: org.alfresco.aos-module:alfresco-aos-module
versions:
- 1.4.0-M1
- dependency-name: org.alfresco.surf:spring-webscripts-api
versions:
- "8.16"
- dependency-name: org.alfresco.surf:spring-webscripts:tests
versions:
- "8.16"
- dependency-name: org.alfresco.surf:spring-webscripts
versions:
- "8.16"
- dependency-name: org.alfresco.surf:spring-surf-core-configservice
versions:
- "8.16"
registries: registries:
- maven-repository-artifacts-alfresco-com-nexus-content-groups-int - maven-repository-artifacts-alfresco-com-nexus-content-groups-int
- package-ecosystem: "docker" - package-ecosystem: "docker"
@@ -52,7 +146,3 @@ updates:
interval: "daily" interval: "daily"
time: "22:00" time: "22:00"
timezone: Africa/Abidjan timezone: Africa/Abidjan
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"

View File

@@ -26,9 +26,6 @@ env:
CI_WORKSPACE: ${{ github.workspace }} CI_WORKSPACE: ${{ github.workspace }}
TAS_ENVIRONMENT: ./packaging/tests/environment TAS_ENVIRONMENT: ./packaging/tests/environment
TAS_SCRIPTS: ../alfresco-community-repo/packaging/tests/scripts TAS_SCRIPTS: ../alfresco-community-repo/packaging/tests/scripts
AUTH0_CLIENT_ID: ${{ secrets.AUTH0_OIDC_ADMIN_CLIENT_ID }}
AUTH0_CLIENT_SECRET: ${{ secrets.AUTH0_OIDC_CLIENT_SECRET }}
AUTH0_ADMIN_PASSWORD: ${{ secrets.AUTH0_OIDC_ADMIN_PASSWORD }}
jobs: jobs:
prepare: prepare:
@@ -41,10 +38,14 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.2.0
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.24.1 - id: changed-files
uses: Alfresco/alfresco-build-tools/.github/actions/github-list-changes@v8.2.0
with:
write-list-to-env: true
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.2.0
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Prepare maven cache and check compilation" - name: "Prepare maven cache and check compilation"
@@ -52,136 +53,46 @@ jobs:
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
veracode_sca:
veracode:
name: "Source Clear Scan (SCA)" name: "Source Clear Scan (SCA)"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [prepare] needs: [prepare]
if: > if: >
(github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request') && ((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request') &&
!contains(github.event.head_commit.message, '[skip tests]') && !contains(github.event.head_commit.message, '[skip tests]') &&
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v7.0.0
continue-on-error: true continue-on-error: true
with: with:
srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }} srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }}
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
veracode_sast:
name: "Pipeline SAST Scan"
runs-on: ubuntu-latest
needs: [prepare]
if: >
(github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request') &&
github.actor != 'dependabot[bot]' &&
!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.24.1
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- uses: Alfresco/alfresco-build-tools/.github/actions/github-download-file@v8.24.1
with:
token: ${{ secrets.BOT_GITHUB_TOKEN }}
repository: "Alfresco/veracode-baseline-archive"
file-path: "alfresco-community-repo/alfresco-community-repo-baseline.json"
target: "baseline.json"
- name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
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: "temp-dir-for-sast/reduced.war"
fail_build: true
project_name: alfresco-community-repo
issue_details: true
veracode_policy_name: Alfresco Default
summary_output: true
summary_output_file: results.json
summary_display: true
baseline_file: baseline.json
- name: Upload scan result
if: success() || failure()
run: zip readable_output.zip results.json
- name: Upload Artifact
if: success() || failure()
uses: actions/upload-artifact@v4
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
pmd_scan:
name: "PMD Scan"
runs-on: ubuntu-latest
needs: [prepare]
if: >
github.event_name == 'pull_request' &&
!contains(github.event.head_commit.message, '[skip pmd]') &&
!contains(github.event.head_commit.message, '[skip tests]') &&
!contains(github.event.head_commit.message, '[force]')
steps:
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- uses: Alfresco/ya-pmd-scan@v4.3.0
with:
classpath-build-command: "mvn test-compile -ntp -Pags -pl \"-:alfresco-community-repo-docker\""
all_unit_tests_suite: all_unit_tests_suite:
name: ${{ matrix.testName }} - AllUnitTestsSuite - Build and test name: "Core, Data-Model, Repository - AllUnitTestsSuite - Build and test"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [prepare] needs: [prepare]
if: > if: >
!contains(github.event.head_commit.message, '[skip repo]') && !contains(github.event.head_commit.message, '[skip repo]') &&
!contains(github.event.head_commit.message, '[skip tests]') && !contains(github.event.head_commit.message, '[skip tests]') &&
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
strategy:
fail-fast: false
matrix:
include:
- testName: Core
testModule: core
testAttributes: "-Dtest=AllCoreUnitTestSuite"
- testName: Data-Model
testModule: data-model
testAttributes: "-Dtest=AllDataModelUnitTestSuite"
- testName: Repository
testModule: repository
testAttributes: "-Dtest=AllUnitTestsSuite"
- testName: Mmt
testModule: mmt
testAttributes: "-Dtest=AllMmtUnitTestSuite"
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run tests" - name: "Run tests"
run: | run: |
mvn -B test -pl ${{ matrix.testModule }} -am ${{ matrix.testAttributes }} -DfailIfNoTests=false "${args[@]}" mvn -B test -pl core,data-model -am -DfailIfNoTests=false
mvn -B test -pl "repository,mmt" -am "-Dtest=AllUnitTestsSuite,AllMmtUnitTestSuite" -DfailIfNoTests=false
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
@@ -211,9 +122,8 @@ jobs:
REQUIRES_INSTALLED_ARTIFACTS: true REQUIRES_INSTALLED_ARTIFACTS: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
@@ -222,10 +132,9 @@ jobs:
- name: "Set transformers tag" - name: "Set transformers tag"
run: echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV run: echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV
- name: "Set up the environment" - name: "Set up the environment"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d
- name: "Run tests" - name: "Run tests"
run: mvn -B test -pl remote-api -Dtest=${{ matrix.testSuite }} -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco # pragma: allowlist secret run: mvn -B test -pl remote-api -Dtest=${{ matrix.testSuite }} -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
@@ -243,12 +152,11 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
version: ['10.5', '10.6'] version: ['10.2.18', '10.4', '10.5']
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: Run MariaDB ${{ matrix.version }} database - name: Run MariaDB ${{ matrix.version }} database
@@ -256,12 +164,12 @@ jobs:
env: env:
MARIADB_VERSION: ${{ matrix.version }} MARIADB_VERSION: ${{ matrix.version }}
- name: "Run tests" - name: "Run tests"
run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver # pragma: allowlist secret run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
repository_mariadb_10_11_tests: repository_mariadb_10_6_tests:
name: "Repository - MariaDB 10.11 tests" name: "Repository - MariaDB 10.6 tests"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [prepare] needs: [prepare]
if: > if: >
@@ -273,17 +181,16 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run MariaDB 10.11 database" - name: "Run MariaDB 10.6 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d
env: env:
MARIADB_VERSION: 10.11 MARIADB_VERSION: 10.6
- name: "Run tests" - name: "Run tests"
run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver # pragma: allowlist secret run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
@@ -300,9 +207,8 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run MySQL 8 database" - name: "Run MySQL 8 database"
@@ -310,12 +216,12 @@ jobs:
env: env:
MYSQL_VERSION: 8 MYSQL_VERSION: 8
- name: "Run tests" - name: "Run tests"
run: 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 # pragma: allowlist secret run: 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
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
repository_postgresql_14_15_tests: repository_postgresql_13_7_tests:
name: "Repository - PostgreSQL 14.15 tests" name: "Repository - PostgreSQL 13.7 tests"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [prepare] needs: [prepare]
if: > if: >
@@ -326,48 +232,21 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run PostgreSQL 14.15 database" - name: "Run PostgreSQL 13.7 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d
env: env:
POSTGRES_VERSION: 14.15 POSTGRES_VERSION: 13.7
- name: "Run tests" - name: "Run tests"
run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco # pragma: allowlist secret run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
repository_postgresql_15_10_tests: repository_postgresql_14_4_tests:
name: "Repository - PostgreSQL 15.10 tests" name: "Repository - PostgreSQL 14.4 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')
steps:
- uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init"
run: bash ./scripts/ci/init.sh
- 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: 15.10
- name: "Run tests"
run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco # pragma: allowlist secret
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
repository_postgresql_16_6_tests:
name: "Repository - PostgreSQL 16.6 tests"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [prepare] needs: [prepare]
if: > if: >
@@ -378,17 +257,16 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run PostgreSQL 16.6 database" - name: "Run PostgreSQL 14.4 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d
env: env:
POSTGRES_VERSION: 16.6 POSTGRES_VERSION: 14.4
- name: "Run tests" - name: "Run tests"
run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco # pragma: allowlist secret run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
@@ -402,20 +280,19 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run ActiveMQ" - name: "Run ActiveMQ"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile activemq up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile activemq up -d
- name: "Run tests" - name: "Run tests"
run: mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false # pragma: allowlist secret run: mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
repository_app_context_test_suites: repository_app_context_test_suites:
name: Repository - ${{ matrix.testSuite }} ${{ matrix.idp }} name: Repository - ${{ matrix.testSuite }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [prepare] needs: [prepare]
if: > if: >
@@ -436,12 +313,7 @@ jobs:
compose-profile: with-transform-core-aio compose-profile: with-transform-core-aio
- testSuite: AppContext05TestSuite - testSuite: AppContext05TestSuite
compose-profile: with-sso compose-profile: with-sso
mvn-options: '-Didentity-service.auth-server-url=http://${HOST_IP}:8999/auth -Dauthentication.chain=identity-service1:identity-service,alfrescoNtlm1:alfrescoNtlm' mvn-options: '"-Didentity-service.auth-server-url=http://${HOST_IP}:8999/auth"'
idp: Keycloak
- testSuite: AppContext05TestSuite
compose-profile: default
mvn-options: '-Didentity-service.auth-server-url=https://dev-ps-alfresco.auth0.com/ -Dauthentication.chain=identity-service1:identity-service,alfrescoNtlm1:alfrescoNtlm -Didentity-service.audience=http://localhost:3000 -Didentity-service.resource=${AUTH0_CLIENT_ID} -Didentity-service.credentials.secret=${AUTH0_CLIENT_SECRET} -Didentity-service.public-client=false -Didentity-service.realm= -Didentity-service.client-id.validation.disabled=false -Dadmin.user=admin@alfresco.com -Dadmin.password=${AUTH0_ADMIN_PASSWORD} -Dauth0.enabled=true -Dauth0.admin.password=${AUTH0_ADMIN_PASSWORD} -Didentity-service.principal-attribute=nickname'
idp: Auth0
- testSuite: AppContext06TestSuite - testSuite: AppContext06TestSuite
compose-profile: with-transform-core-aio compose-profile: with-transform-core-aio
- testSuite: AppContextExtraTestSuite - testSuite: AppContextExtraTestSuite
@@ -458,9 +330,8 @@ jobs:
mvn-options: '-Dencryption.ssl.keystore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.keystore -Dencryption.ssl.truststore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.truststore' mvn-options: '-Dencryption.ssl.keystore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.keystore -Dencryption.ssl.truststore.location=${CI_WORKSPACE}/keystores/alfresco/alfresco.truststore'
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Set transformers tag" - name: "Set transformers tag"
@@ -479,10 +350,9 @@ jobs:
echo "HOSTNAME_VERIFICATION_DISABLED=false" >> "$GITHUB_ENV" echo "HOSTNAME_VERIFICATION_DISABLED=false" >> "$GITHUB_ENV"
fi fi
- name: "Set up the environment" - name: "Set up the environment"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d
- name: "Run tests" - name: "Run tests"
run: mvn -B test -pl repository -am -Dtest=${{ matrix.testSuite }} -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco ${{ matrix.mvn-options }} # pragma: allowlist secret run: mvn -B test -pl repository -am -Dtest=${{ matrix.testSuite }} -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco ${{ matrix.mvn-options }}
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
@@ -522,22 +392,26 @@ jobs:
pom-dir: tas-email pom-dir: tas-email
- test-name: "WebDAV TAS tests" - test-name: "WebDAV TAS tests"
pom-dir: tas-webdav pom-dir: tas-webdav
- test-name: "Integration TAS tests" - test-name: "Integration TAS tests (Java 17)"
pom-dir: tas-integration pom-dir: tas-integration
- test-name: "Integration TAS tests (Java 11)"
pom-dir: tas-integration
jre-version: 11
env: env:
REQUIRES_LOCAL_IMAGES: true REQUIRES_LOCAL_IMAGES: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1 with:
java-version: ${{ matrix.jre-version || '17' }}
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
bash ./scripts/ci/init.sh bash ./scripts/ci/init.sh
export BUILD_OPTIONS="-Ddocker.buildArg.JRE_VERSION=${{ matrix.jre-version }} ${BUILD_OPTIONS}"
bash ./scripts/ci/build.sh bash ./scripts/ci/build.sh
- name: "Set up the environment" - name: "Set up the environment"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/docker-compose-minimal+transforms.yml ${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/docker-compose-minimal+transforms.yml
${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" ${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
@@ -567,15 +441,14 @@ jobs:
!contains(github.event.head_commit.message, '[force') !contains(github.event.head_commit.message, '[force')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Init" - name: "Init"
run: bash ./scripts/ci/init.sh run: bash ./scripts/ci/init.sh
- name: "Run Postgres 16.6 database" - name: "Run Postgres 14.4 database"
run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile postgres up -d run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile postgres up -d
- name: "Run tests" - name: "Run tests"
run: mvn -B test -pl :alfresco-share-services -am -Dtest=ShareServicesTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco # pragma: allowlist secret run: mvn -B test -pl :alfresco-share-services -am -Dtest=ShareServicesTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
@@ -597,9 +470,8 @@ jobs:
REQUIRES_INSTALLED_ARTIFACTS: true REQUIRES_INSTALLED_ARTIFACTS: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
@@ -629,9 +501,8 @@ jobs:
REQUIRES_INSTALLED_ARTIFACTS: true REQUIRES_INSTALLED_ARTIFACTS: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
@@ -657,9 +528,8 @@ jobs:
REQUIRES_LOCAL_IMAGES: true REQUIRES_LOCAL_IMAGES: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v7.0.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Build" - name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: | run: |
@@ -690,28 +560,3 @@ jobs:
aws s3 cp --acl private ./amps/ags/rm-automation/rm-automation-community-rest-api/target/reports/rm-automation-community-rest-api.log s3://ags-travis-artifacts/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests/rm-automation-community-rest-api.log aws s3 cp --acl private ./amps/ags/rm-automation/rm-automation-community-rest-api/target/reports/rm-automation-community-rest-api.log s3://ags-travis-artifacts/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests/rm-automation-community-rest-api.log
- name: "Clean Maven cache" - name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh run: bash ./scripts/ci/cleanup_cache.sh
ags_start_api_explorer:
name: "Test Tomcat deployment of api explorer"
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 ags]')) ||
contains(github.event.head_commit.message, '[ags]')) &&
!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.24.1
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.24.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.24.1
- name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: |
bash ./scripts/ci/init.sh
bash ./scripts/ci/build.sh
- name: "Test Tomcat deployment"
run: |
mvn verify -Pags,start-api-explorer -DskipTests &
${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8085/api-explorer"

View File

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

View File

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

3
.gitignore vendored
View File

@@ -39,9 +39,6 @@ dependency-reduced-pom.xml
hs_err_pid* hs_err_pid*
# Development
repository/scripts/hazelcast-init/alfresco-hazelcast-config.xml
# Alfresco runtime # Alfresco runtime
alf_data alf_data

View File

@@ -127,6 +127,29 @@
} }
], ],
"results": { "results": {
".github/workflows/ci.yml": [
{
"type": "Secret Keyword",
"filename": ".github/workflows/ci.yml",
"hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b",
"is_verified": false,
"line_number": 137
},
{
"type": "Secret Keyword",
"filename": ".github/workflows/ci.yml",
"hashed_secret": "3eaefff58bb411413fcbd76dc410d392529627e7",
"is_verified": false,
"line_number": 167
},
{
"type": "Secret Keyword",
"filename": ".github/workflows/ci.yml",
"hashed_secret": "21b46dc06a4681d07e88157fec3a477484fd314b",
"is_verified": false,
"line_number": 355
}
],
".github/workflows/master_release.yml": [ ".github/workflows/master_release.yml": [
{ {
"type": "Secret Keyword", "type": "Secret Keyword",
@@ -143,17 +166,7 @@
"filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/TestData.java", "filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/TestData.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 58, "line_number": 57,
"is_secret": false
}
],
"amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/retentionschedule/RetentionScheduleStepTests.java": [
{
"type": "Secret Keyword",
"filename": "amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/retentionschedule/RetentionScheduleStepTests.java",
"hashed_secret": "e3557f3b0f2189660980d213f75d1a7828d56af1",
"is_verified": false,
"line_number": 85,
"is_secret": false "is_secret": false
} }
], ],
@@ -195,7 +208,7 @@
"filename": "amps/ags/rm-community/rm-community-repo/docker-compose.yml", "filename": "amps/ags/rm-community/rm-community-repo/docker-compose.yml",
"hashed_secret": "d1ebbc78705ad98aa2c8fb357d2e30c8f001673a", "hashed_secret": "d1ebbc78705ad98aa2c8fb357d2e30c8f001673a",
"is_verified": false, "is_verified": false,
"line_number": 76 "line_number": 74
} }
], ],
"amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMPermissionModel.java": [ "amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMPermissionModel.java": [
@@ -224,7 +237,7 @@
"filename": "core/src/main/java/org/alfresco/encryption/AlfrescoKeyStore.java", "filename": "core/src/main/java/org/alfresco/encryption/AlfrescoKeyStore.java",
"hashed_secret": "a718763bca0f328b0e7ce2a98d9e79fc271bf827", "hashed_secret": "a718763bca0f328b0e7ce2a98d9e79fc271bf827",
"is_verified": false, "is_verified": false,
"line_number": 34, "line_number": 35,
"is_secret": false "is_secret": false
} }
], ],
@@ -234,7 +247,7 @@
"filename": "core/src/main/java/org/alfresco/httpclient/HttpClientFactory.java", "filename": "core/src/main/java/org/alfresco/httpclient/HttpClientFactory.java",
"hashed_secret": "5d3c708390e5f51413e414393d4ad2a6d0e59a45", "hashed_secret": "5d3c708390e5f51413e414393d4ad2a6d0e59a45",
"is_verified": false, "is_verified": false,
"line_number": 128, "line_number": 126,
"is_secret": false "is_secret": false
} }
], ],
@@ -384,23 +397,13 @@
"line_number": 79 "line_number": 79
} }
], ],
"packaging/tests/scripts/wait-for-alfresco-start.sh": [
{
"type": "Secret Keyword",
"filename": "packaging/tests/scripts/wait-for-alfresco-start.sh",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false,
"line_number": 15,
"is_secret": false
}
],
"packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java": [ "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java": [
{ {
"type": "JSON Web Token", "type": "JSON Web Token",
"filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java", "filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java",
"hashed_secret": "a28cecdb5056cf30135809b921e38a84deb6c345", "hashed_secret": "a28cecdb5056cf30135809b921e38a84deb6c345",
"is_verified": false, "is_verified": false,
"line_number": 100, "line_number": 102,
"is_secret": false "is_secret": false
}, },
{ {
@@ -408,7 +411,7 @@
"filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java", "filename": "packaging/tests/tas-cmis/src/main/java/org/alfresco/cmis/AuthParameterProviderFactory.java",
"hashed_secret": "5e39d8e2991ef9705998de26b33f11be0f3cdcde", "hashed_secret": "5e39d8e2991ef9705998de26b33f11be0f3cdcde",
"is_verified": false, "is_verified": false,
"line_number": 101, "line_number": 103,
"is_secret": false "is_secret": false
} }
], ],
@@ -516,7 +519,7 @@
"filename": "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/model/RestSitePersonMembershipRequestModelsCollection.java", "filename": "packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/model/RestSitePersonMembershipRequestModelsCollection.java",
"hashed_secret": "8b30a14989d7b8093ac29462fe29423d836625b4", "hashed_secret": "8b30a14989d7b8093ac29462fe29423d836625b4",
"is_verified": false, "is_verified": false,
"line_number": 33, "line_number": 39,
"is_secret": false "is_secret": false
} }
], ],
@@ -600,7 +603,7 @@
"filename": "remote-api/src/main/java/org/alfresco/repo/web/scripts/tenant/AbstractTenantAdminWebScript.java", "filename": "remote-api/src/main/java/org/alfresco/repo/web/scripts/tenant/AbstractTenantAdminWebScript.java",
"hashed_secret": "889d2688743fdce6115117a5ba7dbc5f33e0ce03", "hashed_secret": "889d2688743fdce6115117a5ba7dbc5f33e0ce03",
"is_verified": false, "is_verified": false,
"line_number": 39, "line_number": 38,
"is_secret": false "is_secret": false
} }
], ],
@@ -610,7 +613,7 @@
"filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java", "filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java",
"hashed_secret": "43d52295ed5cb7e2b772f2b8be9695ddde971c49", "hashed_secret": "43d52295ed5cb7e2b772f2b8be9695ddde971c49",
"is_verified": false, "is_verified": false,
"line_number": 60, "line_number": 62,
"is_secret": false "is_secret": false
}, },
{ {
@@ -618,7 +621,7 @@
"filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java", "filename": "remote-api/src/main/java/org/alfresco/web/app/servlet/AlfrescoX509ServletFilter.java",
"hashed_secret": "1bd5147ff91b8b1220d2f1ffde850ebabbc5ec8c", "hashed_secret": "1bd5147ff91b8b1220d2f1ffde850ebabbc5ec8c",
"is_verified": false, "is_verified": false,
"line_number": 61, "line_number": 63,
"is_secret": false "is_secret": false
} }
], ],
@@ -648,7 +651,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/remoteticket/RemoteAlfrescoTicketServiceTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/remoteticket/RemoteAlfrescoTicketServiceTest.java",
"hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55", "hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55",
"is_verified": false, "is_verified": false,
"line_number": 73, "line_number": 74,
"is_secret": false "is_secret": false
} }
], ],
@@ -658,7 +661,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/node/NodeWebScripTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/node/NodeWebScripTest.java",
"hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55", "hashed_secret": "a926a50b320cea0d6c008a04322627400fe33f55",
"is_verified": false, "is_verified": false,
"line_number": 96, "line_number": 95,
"is_secret": false "is_secret": false
} }
], ],
@@ -668,7 +671,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/servlet/RemoteAuthenticatorFactoryAdminConsoleAccessTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/servlet/RemoteAuthenticatorFactoryAdminConsoleAccessTest.java",
"hashed_secret": "4ffa743f28fc949c19e65ab045d7906d0609a2c2", "hashed_secret": "4ffa743f28fc949c19e65ab045d7906d0609a2c2",
"is_verified": false, "is_verified": false,
"line_number": 268, "line_number": 264,
"is_secret": false "is_secret": false
} }
], ],
@@ -678,7 +681,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/solr/SOLRAuthenticationFilterTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/web/scripts/solr/SOLRAuthenticationFilterTest.java",
"hashed_secret": "76ed0a056aa77060de25754586440cff390791d0", "hashed_secret": "76ed0a056aa77060de25754586440cff390791d0",
"is_verified": false, "is_verified": false,
"line_number": 59, "line_number": 63,
"is_secret": false "is_secret": false
} }
], ],
@@ -688,7 +691,7 @@
"filename": "remote-api/src/test/java/org/alfresco/repo/webdav/LockMethodTest.java", "filename": "remote-api/src/test/java/org/alfresco/repo/webdav/LockMethodTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 108, "line_number": 109,
"is_secret": false "is_secret": false
} }
], ],
@@ -708,7 +711,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/AbstractBaseApiTest.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/AbstractBaseApiTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 111, "line_number": 120,
"is_secret": false "is_secret": false
} }
], ],
@@ -718,7 +721,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/RepoService.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/RepoService.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 412, "line_number": 418,
"is_secret": false "is_secret": false
} }
], ],
@@ -728,7 +731,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestCMIS.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestCMIS.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 175, "line_number": 182,
"is_secret": false "is_secret": false
} }
], ],
@@ -738,7 +741,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4",
"is_verified": false, "is_verified": false,
"line_number": 595, "line_number": 592,
"is_secret": false "is_secret": false
}, },
{ {
@@ -746,7 +749,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "53dad674827218e94c8fe9c1984c8dd9db512a17", "hashed_secret": "53dad674827218e94c8fe9c1984c8dd9db512a17",
"is_verified": false, "is_verified": false,
"line_number": 731, "line_number": 728,
"is_secret": false "is_secret": false
}, },
{ {
@@ -754,7 +757,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "be66cf01c56d963de61462f37a43df2305367216", "hashed_secret": "be66cf01c56d963de61462f37a43df2305367216",
"is_verified": false, "is_verified": false,
"line_number": 1434, "line_number": 1429,
"is_secret": false "is_secret": false
}, },
{ {
@@ -762,7 +765,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "283d47a9338ed1100b5fe2a5aff2d1f7c799bfd0", "hashed_secret": "283d47a9338ed1100b5fe2a5aff2d1f7c799bfd0",
"is_verified": false, "is_verified": false,
"line_number": 1435, "line_number": 1430,
"is_secret": false "is_secret": false
}, },
{ {
@@ -770,7 +773,7 @@
"filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java", "filename": "remote-api/src/test/java/org/alfresco/rest/api/tests/TestPeople.java",
"hashed_secret": "425a715491af2bbec1eef2def6fa8d79c3050401", "hashed_secret": "425a715491af2bbec1eef2def6fa8d79c3050401",
"is_verified": false, "is_verified": false,
"line_number": 1457, "line_number": 1452,
"is_secret": false "is_secret": false
} }
], ],
@@ -860,7 +863,7 @@
"filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java", "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java",
"hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506", "hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506",
"is_verified": false, "is_verified": false,
"line_number": 59, "line_number": 60,
"is_secret": false "is_secret": false
}, },
{ {
@@ -868,7 +871,7 @@
"filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java", "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/LockingJob.java",
"hashed_secret": "fc99e6a90240c45f46ed33a4d96a3dbecef41c60", "hashed_secret": "fc99e6a90240c45f46ed33a4d96a3dbecef41c60",
"is_verified": false, "is_verified": false,
"line_number": 60, "line_number": 61,
"is_secret": false "is_secret": false
} }
], ],
@@ -878,7 +881,7 @@
"filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/NonLockingJob.java", "filename": "repository/src/main/java/org/alfresco/heartbeat/jobs/NonLockingJob.java",
"hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506", "hashed_secret": "b003370e1497c5003e21f1ec5da89e3d2d819506",
"is_verified": false, "is_verified": false,
"line_number": 54, "line_number": 52,
"is_secret": false "is_secret": false
} }
], ],
@@ -888,7 +891,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/admin/patch/impl/AdminUserPatch.java", "filename": "repository/src/main/java/org/alfresco/repo/admin/patch/impl/AdminUserPatch.java",
"hashed_secret": "87a754b00f7ee047d496808125d6259104e9382a", "hashed_secret": "87a754b00f7ee047d496808125d6259104e9382a",
"is_verified": false, "is_verified": false,
"line_number": 62, "line_number": 60,
"is_secret": false "is_secret": false
} }
], ],
@@ -908,7 +911,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java",
"hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd", "hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd",
"is_verified": false, "is_verified": false,
"line_number": 205, "line_number": 204,
"is_secret": false "is_secret": false
}, },
{ {
@@ -916,7 +919,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/remoteconnector/RemoteConnectorServiceImpl.java",
"hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd", "hashed_secret": "a172ffc990129fe6f68b50f6037c54a1894ee3fd",
"is_verified": false, "is_verified": false,
"line_number": 205, "line_number": 204,
"is_secret": false "is_secret": false
} }
], ],
@@ -926,7 +929,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/security/authentication/ResetPasswordServiceImpl.java",
"hashed_secret": "e25df0eeed8d8eb4e198c3464c7bf747bc26eff8", "hashed_secret": "e25df0eeed8d8eb4e198c3464c7bf747bc26eff8",
"is_verified": false, "is_verified": false,
"line_number": 91, "line_number": 92,
"is_secret": false "is_secret": false
} }
], ],
@@ -936,7 +939,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/security/authentication/SimpleAcceptOrRejectAllAuthenticationComponentImpl.java", "filename": "repository/src/main/java/org/alfresco/repo/security/authentication/SimpleAcceptOrRejectAllAuthenticationComponentImpl.java",
"hashed_secret": "304de25a3d73b68ad408ca3843356b5cf67f6f14", "hashed_secret": "304de25a3d73b68ad408ca3843356b5cf67f6f14",
"is_verified": false, "is_verified": false,
"line_number": 89, "line_number": 93,
"is_secret": false "is_secret": false
} }
], ],
@@ -946,7 +949,7 @@
"filename": "repository/src/main/java/org/alfresco/repo/transfer/TransferServiceImpl2.java", "filename": "repository/src/main/java/org/alfresco/repo/transfer/TransferServiceImpl2.java",
"hashed_secret": "9ae9f2be7702b726809545808a8a9ba2e5a38410", "hashed_secret": "9ae9f2be7702b726809545808a8a9ba2e5a38410",
"is_verified": false, "is_verified": false,
"line_number": 129, "line_number": 130,
"is_secret": false "is_secret": false
} }
], ],
@@ -1250,7 +1253,7 @@
"filename": "repository/src/main/resources/alfresco/repository.properties", "filename": "repository/src/main/resources/alfresco/repository.properties",
"hashed_secret": "84551ae5442affc9f1a2d3b4c86ae8b24860149d", "hashed_secret": "84551ae5442affc9f1a2d3b4c86ae8b24860149d",
"is_verified": false, "is_verified": false,
"line_number": 771, "line_number": 767,
"is_secret": false "is_secret": false
} }
], ],
@@ -1280,7 +1283,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 86, "line_number": 82,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1288,7 +1291,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "c464af817287343305cbd6493c593885695df531", "hashed_secret": "c464af817287343305cbd6493c593885695df531",
"is_verified": false, "is_verified": false,
"line_number": 90, "line_number": 86,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1296,7 +1299,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "8ad8572a0b3fc4cb3afc1baaebc97a2cae58eb8c", "hashed_secret": "8ad8572a0b3fc4cb3afc1baaebc97a2cae58eb8c",
"is_verified": false, "is_verified": false,
"line_number": 91, "line_number": 87,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1304,7 +1307,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/FTPServerTest.java",
"hashed_secret": "915692b4d7465b0084354173d552ac90145dc315", "hashed_secret": "915692b4d7465b0084354173d552ac90145dc315",
"is_verified": false, "is_verified": false,
"line_number": 92, "line_number": 88,
"is_secret": false "is_secret": false
} }
], ],
@@ -1314,7 +1317,7 @@
"filename": "repository/src/test/java/org/alfresco/filesys/repo/ContentDiskDriverTest.java", "filename": "repository/src/test/java/org/alfresco/filesys/repo/ContentDiskDriverTest.java",
"hashed_secret": "8c85434f6f339a24b808810bd95629d0f5856355", "hashed_secret": "8c85434f6f339a24b808810bd95629d0f5856355",
"is_verified": false, "is_verified": false,
"line_number": 1257, "line_number": 1281,
"is_secret": false "is_secret": false
} }
], ],
@@ -1324,7 +1327,7 @@
"filename": "repository/src/test/java/org/alfresco/opencmis/CMISTest.java", "filename": "repository/src/test/java/org/alfresco/opencmis/CMISTest.java",
"hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684", "hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684",
"is_verified": false, "is_verified": false,
"line_number": 4001, "line_number": 4134,
"is_secret": false "is_secret": false
} }
], ],
@@ -1334,7 +1337,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/coci/CheckOutCheckInServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/coci/CheckOutCheckInServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 141, "line_number": 140,
"is_secret": false "is_secret": false
} }
], ],
@@ -1344,7 +1347,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/i18n/MessageServiceImplTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 101, "line_number": 102,
"is_secret": false "is_secret": false
} }
], ],
@@ -1354,7 +1357,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/ImapMessageTest.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapMessageTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 116, "line_number": 118,
"is_secret": false "is_secret": false
} }
], ],
@@ -1364,7 +1367,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplCacheTest.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplCacheTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 66, "line_number": 68,
"is_secret": false "is_secret": false
} }
], ],
@@ -1374,7 +1377,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/ImapServiceImplTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 111, "line_number": 116,
"is_secret": false "is_secret": false
} }
], ],
@@ -1384,7 +1387,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/LoadTester.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/LoadTester.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 79, "line_number": 80,
"is_secret": false "is_secret": false
} }
], ],
@@ -1394,7 +1397,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/imap/RemoteLoadTester.java", "filename": "repository/src/test/java/org/alfresco/repo/imap/RemoteLoadTester.java",
"hashed_secret": "678721c0433c8cf5c9069a0e70784cf1839e866b", "hashed_secret": "678721c0433c8cf5c9069a0e70784cf1839e866b",
"is_verified": false, "is_verified": false,
"line_number": 55, "line_number": 58,
"is_secret": false "is_secret": false
} }
], ],
@@ -1404,7 +1407,27 @@
"filename": "repository/src/test/java/org/alfresco/repo/invitation/site/InviteSenderTest.java", "filename": "repository/src/test/java/org/alfresco/repo/invitation/site/InviteSenderTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 108, "line_number": 109,
"is_secret": false
}
],
"repository/src/test/java/org/alfresco/repo/lock/LockBehaviourImplTest.java": [
{
"type": "Secret Keyword",
"filename": "repository/src/test/java/org/alfresco/repo/lock/LockBehaviourImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false,
"line_number": 112,
"is_secret": false
}
],
"repository/src/test/java/org/alfresco/repo/lock/LockServiceImplTest.java": [
{
"type": "Secret Keyword",
"filename": "repository/src/test/java/org/alfresco/repo/lock/LockServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false,
"line_number": 109,
"is_secret": false "is_secret": false
} }
], ],
@@ -1440,7 +1463,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/model/filefolder/FileFolderServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/model/filefolder/FileFolderServiceImplTest.java",
"hashed_secret": "9e10e28cb9c3e381c13d13fa97dd97148982cdaa", "hashed_secret": "9e10e28cb9c3e381c13d13fa97dd97148982cdaa",
"is_verified": false, "is_verified": false,
"line_number": 590, "line_number": 595,
"is_secret": false "is_secret": false
} }
], ],
@@ -1450,7 +1473,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java", "filename": "repository/src/test/java/org/alfresco/repo/notification/NotificationServiceImplSystemTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 75, "line_number": 74,
"is_secret": false "is_secret": false
} }
], ],
@@ -1460,7 +1483,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java",
"hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0",
"is_verified": false, "is_verified": false,
"line_number": 62, "line_number": 61,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1468,7 +1491,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java",
"hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0",
"is_verified": false, "is_verified": false,
"line_number": 62, "line_number": 61,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1476,7 +1499,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth1/OAuth1CredentialsStoreServiceTest.java",
"hashed_secret": "ad8a621976e9a19cc78af501a84638a04fca9b83", "hashed_secret": "ad8a621976e9a19cc78af501a84638a04fca9b83",
"is_verified": false, "is_verified": false,
"line_number": 66, "line_number": 65,
"is_secret": false "is_secret": false
} }
], ],
@@ -1486,7 +1509,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/oauth2/OAuth2CredentialsStoreServiceTest.java", "filename": "repository/src/test/java/org/alfresco/repo/oauth2/OAuth2CredentialsStoreServiceTest.java",
"hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0", "hashed_secret": "c60646de4c4893cf860a12ecb7ba4f5317b1a1d0",
"is_verified": false, "is_verified": false,
"line_number": 64, "line_number": 70,
"is_secret": false "is_secret": false
} }
], ],
@@ -1496,7 +1519,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/rendition2/AbstractRenditionIntegrationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/rendition2/AbstractRenditionIntegrationTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 130, "line_number": 127,
"is_secret": false "is_secret": false
} }
], ],
@@ -1506,7 +1529,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 1317, "line_number": 1328,
"is_secret": false "is_secret": false
} }
], ],
@@ -1516,7 +1539,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 69, "line_number": 68,
"is_secret": false "is_secret": false
} }
], ],
@@ -1526,7 +1549,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthenticationTest.java",
"hashed_secret": "607e729c2f77c4e821e68e26b4c1f5a4398624e9", "hashed_secret": "607e729c2f77c4e821e68e26b4c1f5a4398624e9",
"is_verified": false, "is_verified": false,
"line_number": 2121, "line_number": 2129,
"is_secret": false "is_secret": false
} }
], ],
@@ -1536,7 +1559,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthorizationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/AuthorizationTest.java",
"hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684", "hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684",
"is_verified": false, "is_verified": false,
"line_number": 36, "line_number": 37,
"is_secret": false "is_secret": false
} }
], ],
@@ -1546,7 +1569,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/CompositePasswordEncoderTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/CompositePasswordEncoderTest.java",
"hashed_secret": "4360136f24381dcec1d35d79fbf7dac4b54dfe97", "hashed_secret": "4360136f24381dcec1d35d79fbf7dac4b54dfe97",
"is_verified": false, "is_verified": false,
"line_number": 310, "line_number": 301,
"is_secret": false "is_secret": false
} }
], ],
@@ -1556,15 +1579,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java",
"hashed_secret": "c4b66dbe168ad1d2b19119494a0da063801bc3bb", "hashed_secret": "c4b66dbe168ad1d2b19119494a0da063801bc3bb",
"is_verified": false, "is_verified": false,
"line_number": 82, "line_number": 52,
"is_secret": false
},
{
"type": "JSON Web Token",
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/IdentityServiceFacadeFactoryBeanTest.java",
"hashed_secret": "c5aad1895e1dcff195992938f1bcc9954d575ac9",
"is_verified": false,
"line_number": 91,
"is_secret": false "is_secret": false
} }
], ],
@@ -1574,7 +1589,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/LazyInstantiatingIdentityServiceFacadeUnitTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/LazyInstantiatingIdentityServiceFacadeUnitTest.java",
"hashed_secret": "12e59296b0d17c1ceb345a7adca98574c835ba24", "hashed_secret": "12e59296b0d17c1ceb345a7adca98574c835ba24",
"is_verified": false, "is_verified": false,
"line_number": 46, "line_number": 45,
"is_secret": false "is_secret": false
} }
], ],
@@ -1584,7 +1599,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/SpringBasedIdentityServiceFacadeUnitTest.java", "filename": "repository/src/test/java/org/alfresco/repo/security/authentication/identityservice/SpringBasedIdentityServiceFacadeUnitTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 48, "line_number": 45,
"is_secret": false "is_secret": false
} }
], ],
@@ -1604,7 +1619,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/HttpClientTransmitterImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/HttpClientTransmitterImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 73, "line_number": 75,
"is_secret": false "is_secret": false
} }
], ],
@@ -1614,7 +1629,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 658, "line_number": 664,
"is_secret": false "is_secret": false
} }
], ],
@@ -1624,7 +1639,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 202, "line_number": 203,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1632,7 +1647,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java",
"hashed_secret": "ad782ecdac770fc6eb9a62e44f90873fb97fb26b", "hashed_secret": "ad782ecdac770fc6eb9a62e44f90873fb97fb26b",
"is_verified": false, "is_verified": false,
"line_number": 512, "line_number": 513,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1640,7 +1655,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceImplTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 3593, "line_number": 3687,
"is_secret": false "is_secret": false
} }
], ],
@@ -1650,7 +1665,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java",
"hashed_secret": "8be3c943b1609fffbfc51aad666d0a04adf83c9d", "hashed_secret": "8be3c943b1609fffbfc51aad666d0a04adf83c9d",
"is_verified": false, "is_verified": false,
"line_number": 2510, "line_number": 2682,
"is_secret": false "is_secret": false
}, },
{ {
@@ -1658,7 +1673,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/TransferServiceToBeRefactoredTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 3517, "line_number": 3772,
"is_secret": false "is_secret": false
} }
], ],
@@ -1668,7 +1683,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/ManifestIntegrationTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/ManifestIntegrationTest.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 114, "line_number": 115,
"is_secret": false "is_secret": false
} }
], ],
@@ -1678,7 +1693,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/TransferManifestTest.java", "filename": "repository/src/test/java/org/alfresco/repo/transfer/manifest/TransferManifestTest.java",
"hashed_secret": "5395ebfd174b0a5617e6f409dfbb3e064e3fdf0a", "hashed_secret": "5395ebfd174b0a5617e6f409dfbb3e064e3fdf0a",
"is_verified": false, "is_verified": false,
"line_number": 126, "line_number": 127,
"is_secret": false "is_secret": false
} }
], ],
@@ -1688,7 +1703,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/version/BaseVersionStoreTest.java", "filename": "repository/src/test/java/org/alfresco/repo/version/BaseVersionStoreTest.java",
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
"is_verified": false, "is_verified": false,
"line_number": 144, "line_number": 149,
"is_secret": false "is_secret": false
} }
], ],
@@ -1708,7 +1723,7 @@
"filename": "repository/src/test/java/org/alfresco/repo/version/VersionServiceImplTest.java", "filename": "repository/src/test/java/org/alfresco/repo/version/VersionServiceImplTest.java",
"hashed_secret": "dee17075a8c96d9c57c15d56b1f64e5abc1caf0b", "hashed_secret": "dee17075a8c96d9c57c15d56b1f64e5abc1caf0b",
"is_verified": false, "is_verified": false,
"line_number": 121, "line_number": 122,
"is_secret": false "is_secret": false
} }
], ],
@@ -1718,7 +1733,7 @@
"filename": "repository/src/test/java/org/alfresco/util/test/junitrules/AlfrescoTenant.java", "filename": "repository/src/test/java/org/alfresco/util/test/junitrules/AlfrescoTenant.java",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 73, "line_number": 67,
"is_secret": false "is_secret": false
} }
], ],
@@ -1728,7 +1743,7 @@
"filename": "repository/src/test/java/org/alfresco/util/test/testusers/TestUserComponentImpl.java", "filename": "repository/src/test/java/org/alfresco/util/test/testusers/TestUserComponentImpl.java",
"hashed_secret": "f73e110427648014568f7144031a6d48060eab0a", "hashed_secret": "f73e110427648014568f7144031a6d48060eab0a",
"is_verified": false, "is_verified": false,
"line_number": 63, "line_number": 55,
"is_secret": false "is_secret": false
} }
], ],
@@ -1738,7 +1753,7 @@
"filename": "repository/src/test/resources/alfresco-global.properties", "filename": "repository/src/test/resources/alfresco-global.properties",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 21, "line_number": 28,
"is_secret": false "is_secret": false
} }
], ],
@@ -1845,5 +1860,5 @@
} }
] ]
}, },
"generated_at": "2025-06-09T16:43:14Z" "generated_at": "2025-01-24T12:42:05Z"
} }

View File

@@ -11,8 +11,6 @@ When you make a commit then these hooks will run and check the modified files. I
#### Code Quality #### Code Quality
This project uses `spotless` that enforces `alfresco-formatter.xml` to ensure code quality. This project uses `spotless` that enforces `alfresco-formatter.xml` to ensure code quality.
The code style definition file is taken always form the `master` branch of `alfresco-community-repo`.
All downstream projects use this code style definition file as well.
To check code-style violations you can use: To check code-style violations you can use:
```bash ```bash
@@ -55,8 +53,8 @@ Because this project forms a part of Alfresco Content Services, the guidelines a
You can report an issue in the ALF project of the [Alfresco issue tracker](http://issues.alfresco.com). You can report an issue in the ALF project of the [Alfresco issue tracker](http://issues.alfresco.com).
Read [instructions for a good issue report](https://hub.alfresco.com/t5/alfresco-content-services-hub/reporting-an-issue/ba-p/289727). Read [instructions for a good issue report](https://community.alfresco.com/docs/DOC-6263-reporting-an-issue).
Read [instructions for making a contribution](https://hub.alfresco.com/t5/alfresco-content-services-hub/alfresco-contribution-agreement/ba-p/293276). Read [instructions for making a contribution](https://community.alfresco.com/docs/DOC-6269-submitting-contributions).
Please follow [the coding standards](https://hub.alfresco.com/t5/alfresco-content-services-hub/coding-standards-for-alfresco-content-services/ba-p/290457). Please follow [the coding standards](https://community.alfresco.com/docs/DOC-4658-coding-standards).

View File

@@ -2,57 +2,38 @@
[![Build Status](https://github.com/Alfresco/alfresco-community-repo/actions/workflows/master_release.yml/badge.svg?branch=master)](https://github.com/Alfresco/alfresco-community-repo/actions/workflows/master_release.yml) [![Build Status](https://github.com/Alfresco/alfresco-community-repo/actions/workflows/master_release.yml/badge.svg?branch=master)](https://github.com/Alfresco/alfresco-community-repo/actions/workflows/master_release.yml)
## Table of Contents #### Alfresco Core
1. [Content](#content)
2. [Artifacts](#artifacts)
3. [Setup](#setting-up-and-building-your-development-environment)
4. [Branches](#branches)
5. [Contributing](#contributing-guide)
6. [Helpful links](#helpful-links)
## Content
Alfresco Community Repository contains following libraries:
### Alfresco Core
Core is a library packaged as a jar file which contains the following:
Alfresco Core is a library packaged as a jar file which contains the following:
* Various helpers and utils * Various helpers and utils
* Canned queries interface and supporting classes * Canned queries interface and supporting classes
* Generic encryption supporting classes * Generic encryption supporting classes
### Alfresco Data Model #### Alfresco Data Model
Data model is a library packaged as a jar file which contains the following:
Data Model is a library packaged as a jar file which contains the following:
* Dictionary, Repository and Search Services interfaces * Dictionary, Repository and Search Services interfaces
* Models for data types and Dictionary implementation * Models for data types and Dictionary implementation
* Parsers * Parsers
### Alfresco Repository #### Alfresco Repository
Repository is a library packaged as a jar file which contains the following: Repository is a library packaged as a jar file which contains the following:
* DAOs and SQL scripts * DAOs and SQL scripts
* Various Service implementations * Various Service implementations
* Utility classes * Utility classes
### Alfresco Remote API #### Alfresco Remote API
Remote API is a library packaged as a jar file which contains the following: Remote API is a library packaged as a jar file which contains the following:
* REST API framework * REST API framework
* WebScript implementations including [V1 REST APIs](https://hub.alfresco.com/t5/alfresco-content-services-blog/v1-rest-api-10-things-you-should-know/ba-p/287692) * WebScript implementations including [V1 REST APIs](https://community.alfresco.com/community/ecm/blog/2017/05/02/v1-rest-api-10-things-you-should-know)
* [OpenCMIS](https://chemistry.apache.org/java/opencmis.html) implementations * [OpenCMIS](https://chemistry.apache.org/java/opencmis.html) implementations
## Artifacts #### Artifacts
The artifacts can be obtained by: The artifacts can be obtained by:
* downloading from [Alfresco maven repository](https://artifacts.alfresco.com/nexus/#browse/browse:public) * downloading from [Alfresco maven repository](https://artifacts.alfresco.com/nexus/content/groups/public)
* as Maven dependency by adding the dependency to your pom file: * as Maven dependency by adding the dependency to your pom file:
~~~
~~~xml
<dependency> <dependency>
<groupId>org.alfresco</groupId> <groupId>org.alfresco</groupId>
<artifactId>alfresco-core</artifactId> <artifactId>alfresco-core</artifactId>
@@ -83,46 +64,34 @@ The artifacts can be obtained by:
<version>version</version> <version>version</version>
<type>war</type> <type>war</type>
</dependency> </dependency>
~~~ ~~~
and Alfresco maven repository: and Alfresco maven repository:
~~~
~~~xml
<repository> <repository>
<id>alfresco-maven-repo</id> <id>alfresco-maven-repo</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url> <url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository> </repository>
~~~ ~~~
The SNAPSHOT versions of the artifact are not published. The SNAPSHOT versions of the artifact are not published.
## Setting up and building your development environment ## Setting up and building your development environment
See the [Development Tomcat Environment](https://github.com/Alfresco/acs-community-packaging/tree/master/dev/README.md)
See the [**Development Tomcat Environment**](https://github.com/Alfresco/acs-community-packaging/tree/master/dev/README.md) page which will show you how to try out your repository changes in a local tomcat instance.
page which will show you how to try out your repository changes in a local Tomcat instance or using Docker containers. If you wish to use Docker images, take a look at the aliases ending in `D` and the docker-compose files in this
project's test modules.
## Branches ## Branches
This project has a branch for each ACS release. For example the code in ACS 6.2.1 is a
This project has a branch for each ACS release. For example the code in ACS 6.2.2 is a branch called `releases/6.2.2`. In addition to the original 6.2.2 release it will also contain Hot Fixes
branch called **`release/6.2.2`**. In addition to the original 6.2.2 release it will also contain Hot Fixes added later. The latest unreleased code is on the `master` branch. There are also `.N` branches, such as
added later. The latest unreleased code is on the **`master`** branch. There are also **`.N`** branches, such as `releases/7.1.N` on which we gather unreleased fixes for future service pack releases. They do not indicate
**`release/7.1.N`** on which we gather unreleased fixes for future service pack releases. They do not indicate
that one is planned. that one is planned.
For historic reasons the version of artifacts created on each branch do not match the ACS version. For historic reasons the version of artifacts created on each branch do not match the ACS version.
For example artifact in ACS 7.2.0 will be **`14.<something>`**. For example artifact in ACS 7.2.0 will be `14.<something>`.
The enterprise projects which extend the **`alfresco-community-repo`** use the same branch names and leading The enterprise projects which extend the `alfresco-community-repo` use the same branch names and leading
artifact version number. artifact version number.
## Contributing guide ### Contributing guide
Please use [this guide](CONTRIBUTING.md) to make a contribution to the project.
Please use [**this guide**](CONTRIBUTING.md) to make a contribution to the project.
## Helpful links
- [Alfresco Content Services Documentation](https://docs.alfresco.com/content-services/latest/)
- [Alfresco Platform](https://www.hyland.com/en/products/alfresco-platform)

View File

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

View File

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

View File

@@ -7,7 +7,7 @@
<parent> <parent>
<groupId>org.alfresco</groupId> <groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-automation-community-repo</artifactId> <artifactId>alfresco-governance-services-automation-community-repo</artifactId>
<version>25.3.0.25-SNAPSHOT</version> <version>22.35</version>
</parent> </parent>
<build> <build>
@@ -74,39 +74,15 @@
<artifactId>alfresco-testng</artifactId> <artifactId>alfresco-testng</artifactId>
<version>1.1</version> <version>1.1</version>
</dependency> </dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>${dependency.awaitility.version}</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId> <artifactId>commons-collections4</artifactId>
<version>4.5.0</version> <version>4.4</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.docker-java</groupId> <groupId>com.github.docker-java</groupId>
<artifactId>docker-java</artifactId> <artifactId>docker-java</artifactId>
<version>3.6.0</version> <version>3.2.13</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -26,11 +26,12 @@
*/ */
package org.alfresco.rest.core; package org.alfresco.rest.core;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySource;
import lombok.Getter;
/** /**
* Extends {@link RestProperties} to be able to change/add properties * Extends {@link RestProperties} to be able to change/add properties
* *

View File

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

View File

@@ -28,14 +28,10 @@ package org.alfresco.rest.core;
import static lombok.AccessLevel.PROTECTED; import static lombok.AccessLevel.PROTECTED;
import jakarta.annotation.Resource; import javax.annotation.Resource;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import org.alfresco.rest.requests.Node; import org.alfresco.rest.requests.Node;
import org.alfresco.rest.requests.coreAPI.RestCoreAPI; import org.alfresco.rest.requests.coreAPI.RestCoreAPI;
import org.alfresco.rest.requests.search.SearchAPI; import org.alfresco.rest.requests.search.SearchAPI;
@@ -43,13 +39,11 @@ import org.alfresco.rest.rm.community.requests.gscore.GSCoreAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.ActionsExecutionAPI; import org.alfresco.rest.rm.community.requests.gscore.api.ActionsExecutionAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.FilePlanAPI; import org.alfresco.rest.rm.community.requests.gscore.api.FilePlanAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.FilesAPI; import org.alfresco.rest.rm.community.requests.gscore.api.FilesAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.HoldsAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RMSiteAPI; import org.alfresco.rest.rm.community.requests.gscore.api.RMSiteAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RMUserAPI; import org.alfresco.rest.rm.community.requests.gscore.api.RMUserAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RecordCategoryAPI; import org.alfresco.rest.rm.community.requests.gscore.api.RecordCategoryAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RecordFolderAPI; import org.alfresco.rest.rm.community.requests.gscore.api.RecordFolderAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RecordsAPI; import org.alfresco.rest.rm.community.requests.gscore.api.RecordsAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.RetentionScheduleAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.TransferAPI; import org.alfresco.rest.rm.community.requests.gscore.api.TransferAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.TransferContainerAPI; import org.alfresco.rest.rm.community.requests.gscore.api.TransferContainerAPI;
import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledContainerAPI; import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledContainerAPI;
@@ -57,6 +51,9 @@ import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI
import org.alfresco.utility.data.DataUserAIS; import org.alfresco.utility.data.DataUserAIS;
import org.alfresco.utility.model.RepoTestModel; import org.alfresco.utility.model.RepoTestModel;
import org.alfresco.utility.model.UserModel; import org.alfresco.utility.model.UserModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
/** /**
* REST API Factory which provides access to the APIs * REST API Factory which provides access to the APIs
@@ -246,24 +243,4 @@ public class RestAPIFactory
{ {
return getGSCoreAPI(null).usingActionsExecutionsAPI(); return getGSCoreAPI(null).usingActionsExecutionsAPI();
} }
public HoldsAPI getHoldsAPI()
{
return getGSCoreAPI(null).usingHoldsAPI();
}
public HoldsAPI getHoldsAPI(UserModel userModel)
{
return getGSCoreAPI(userModel).usingHoldsAPI();
}
public RetentionScheduleAPI getRetentionScheduleAPI()
{
return getGSCoreAPI(null).usingRetentionScheduleAPI();
}
public RetentionScheduleAPI getRetentionScheduleAPI(UserModel userModel)
{
return getGSCoreAPI(userModel).usingRetentionScheduleAPI();
}
} }

View File

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

View File

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

View File

@@ -39,6 +39,9 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.alfresco.dataprep.AlfrescoHttpClient;
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
import org.alfresco.dataprep.ContentService;
import org.apache.chemistry.opencmis.client.api.CmisObject; import org.apache.chemistry.opencmis.client.api.CmisObject;
import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException; import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
@@ -61,10 +64,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.alfresco.dataprep.AlfrescoHttpClient;
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
import org.alfresco.dataprep.ContentService;
/** /**
* The base API class containing common methods for making v0 API requests * The base API class containing common methods for making v0 API requests
* *
@@ -99,11 +98,9 @@ public abstract class BaseAPI
/** /**
* Helper method to extract list of properties values from result. * Helper method to extract list of properties values from result.
* *
* @param result * @param result the response
* the response
* @return list of specified property values in result * @return list of specified property values in result
* @throws RuntimeException * @throws RuntimeException for malformed response
* for malformed response
*/ */
protected List<String> getPropertyValues(JSONObject result, String propertyName) protected List<String> getPropertyValues(JSONObject result, String propertyName)
{ {
@@ -159,11 +156,9 @@ public abstract class BaseAPI
/** /**
* Helper method to extract property values from request result and put them in map as a list that corresponds to a unique property value. * Helper method to extract property values from request result and put them in map as a list that corresponds to a unique property value.
* *
* @param requestResult * @param requestResult the request response
* the request response
* @return a map containing information about multiple properties values that correspond to a unique one * @return a map containing information about multiple properties values that correspond to a unique one
* @throws RuntimeException * @throws RuntimeException for malformed response
* for malformed response
*/ */
protected Map<String, List<String>> getPropertyValuesByUniquePropertyValue(JSONObject requestResult, String uniqueProperty, List<String> otherProperties) protected Map<String, List<String>> getPropertyValuesByUniquePropertyValue(JSONObject requestResult, String uniqueProperty, List<String> otherProperties)
{ {
@@ -194,12 +189,11 @@ public abstract class BaseAPI
/** /**
* Retrieves the nodeRef of an item (category, folder or record) with the given path * Retrieves the nodeRef of an item (category, folder or record) with the given path
* *
* @param username * @param username the username
* the username * @param password the password
* @param password * @param path the path to the container eg. in case of a category it would be the category name,
* the password * in case of a folder it would be /categoryName/folderName
* @param path * when trying to get File Plan, the path would be ""
* the path to the container eg. in case of a category it would be the category name, in case of a folder it would be /categoryName/folderName when trying to get File Plan, the path would be ""
* @return the container nodeRef * @return the container nodeRef
*/ */
public String getItemNodeRef(String username, String password, String path) public String getItemNodeRef(String username, String password, String path)
@@ -210,12 +204,9 @@ public abstract class BaseAPI
/** /**
* Retrieve a Cmis object by its path * Retrieve a Cmis object by its path
* *
* @param username * @param username the user's username
* the user's username * @param password its password
* @param password * @param path the object path
* its password
* @param path
* the object path
* @return the object in case it exists, null if its does not exist * @return the object in case it exists, null if its does not exist
*/ */
protected CmisObject getObjectByPath(String username, String password, String path) protected CmisObject getObjectByPath(String username, String password, String path)
@@ -224,8 +215,7 @@ public abstract class BaseAPI
try try
{ {
object = contentService.getCMISSession(username, password).getObjectByPath(path); object = contentService.getCMISSession(username, password).getObjectByPath(path);
} } catch (CmisObjectNotFoundException notFoundError)
catch (CmisObjectNotFoundException notFoundError)
{ {
return null; return null;
} }
@@ -235,12 +225,9 @@ public abstract class BaseAPI
/** /**
* Generic faceted request. * Generic faceted request.
* *
* @param username * @param username the username
* the username * @param password the password
* @param password * @param parameters if the request has parameters
* the password
* @param parameters
* if the request has parameters
* @return result object (see API reference for more details), null for any errors * @return result object (see API reference for more details), null for any errors
*/ */
protected JSONObject facetedRequest(String username, String password, List<NameValuePair> parameters, String requestURI) protected JSONObject facetedRequest(String username, String password, List<NameValuePair> parameters, String requestURI)
@@ -268,15 +255,10 @@ public abstract class BaseAPI
/** /**
* Helper method for GET requests * Helper method for GET requests
* * @param adminUser user with administrative privileges
* @param adminUser * @param adminPassword password for adminUser
* user with administrative privileges * @param urlTemplate request URL template
* @param adminPassword * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* password for adminUser
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
*/ */
protected JSONObject doGetRequest(String adminUser, protected JSONObject doGetRequest(String adminUser,
String adminPassword, String adminPassword,
@@ -302,15 +284,10 @@ public abstract class BaseAPI
/** /**
* Helper method for Delete requests * Helper method for Delete requests
* * @param adminUser user with administrative privileges
* @param adminUser * @param adminPassword password for adminUser
* user with administrative privileges * @param urlTemplate request URL template
* @param adminPassword * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* password for adminUser
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
*/ */
protected JSONObject doDeleteRequest(String adminUser, protected JSONObject doDeleteRequest(String adminUser,
String adminPassword, String adminPassword,
@@ -336,17 +313,11 @@ public abstract class BaseAPI
/** /**
* Helper method for PUT requests * Helper method for PUT requests
* * @param adminUser user with administrative privileges
* @param adminUser * @param adminPassword password for adminUser
* user with administrative privileges * @param requestParams zero or more endpoint specific request parameters
* @param adminPassword * @param urlTemplate request URL template
* password for adminUser * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @param requestParams
* zero or more endpoint specific request parameters
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
*/ */
protected JSONObject doPutRequest(String adminUser, protected JSONObject doPutRequest(String adminUser,
String adminPassword, String adminPassword,
@@ -374,18 +345,12 @@ public abstract class BaseAPI
/** /**
* Helper method for PUT requests * Helper method for PUT requests
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param requestParams zero or more endpoint specific request parameters
* @param expectedStatusCode * @param urlTemplate request URL template
* The expected return status code. * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @param requestParams
* zero or more endpoint specific request parameters
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
*/ */
protected HttpResponse doPutJsonRequest(String adminUser, protected HttpResponse doPutJsonRequest(String adminUser,
String adminPassword, String adminPassword,
@@ -401,22 +366,14 @@ public abstract class BaseAPI
/** /**
* Helper method for PUT requests * Helper method for PUT requests
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param urlStart the start of the URL (for example "alfresco/s/slingshot").
* @param expectedStatusCode * @param requestParams zero or more endpoint specific request parameters
* The expected return status code. * @param urlTemplate request URL template
* @param urlStart * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* the start of the URL (for example "alfresco/s/slingshot"). * @throws AssertionError if the returned status code is not as expected.
* @param requestParams
* zero or more endpoint specific request parameters
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
* @throws AssertionError
* if the returned status code is not as expected.
*/ */
private HttpResponse doPutJsonRequest(String adminUser, private HttpResponse doPutJsonRequest(String adminUser,
String adminPassword, String adminPassword,
@@ -442,12 +399,9 @@ public abstract class BaseAPI
/** /**
* Fill in the parameters for a URL template. * Fill in the parameters for a URL template.
* *
* @param urlStart * @param urlStart The start of the URL.
* The start of the URL. * @param urlTemplate The template.
* @param urlTemplate * @param urlTemplateParams Any parameters that need to be filled into the URL template.
* The template.
* @param urlTemplateParams
* Any parameters that need to be filled into the URL template.
* @return The resultant URL. * @return The resultant URL.
*/ */
private String formatRequestUrl(String urlStart, String urlTemplate, String[] urlTemplateParams) private String formatRequestUrl(String urlStart, String urlTemplate, String[] urlTemplateParams)
@@ -462,17 +416,11 @@ public abstract class BaseAPI
/** /**
* Helper method for POST requests * Helper method for POST requests
* * @param adminUser user with administrative privileges
* @param adminUser * @param adminPassword password for adminUser
* user with administrative privileges * @param requestParams zero or more endpoint specific request parameters
* @param adminPassword * @param urlTemplate request URL template
* password for adminUser * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @param requestParams
* zero or more endpoint specific request parameters
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
*/ */
protected JSONObject doPostRequest(String adminUser, protected JSONObject doPostRequest(String adminUser,
String adminPassword, String adminPassword,
@@ -500,18 +448,12 @@ public abstract class BaseAPI
/** /**
* Helper method for POST requests * Helper method for POST requests
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param requestParams zero or more endpoint specific request parameters
* @param expectedStatusCode * @param urlTemplate request URL template
* The expected return status code. * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @param requestParams
* zero or more endpoint specific request parameters
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
*/ */
protected HttpResponse doPostJsonRequest(String adminUser, protected HttpResponse doPostJsonRequest(String adminUser,
String adminPassword, String adminPassword,
@@ -527,18 +469,12 @@ public abstract class BaseAPI
/** /**
* Helper method for POST requests to slingshot. * Helper method for POST requests to slingshot.
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param requestParams zero or more endpoint specific request parameters
* @param expectedStatusCode * @param urlTemplate request URL template
* The expected return status code. * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* @param requestParams
* zero or more endpoint specific request parameters
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
*/ */
protected HttpResponse doSlingshotPostJsonRequest(String adminUser, protected HttpResponse doSlingshotPostJsonRequest(String adminUser,
String adminPassword, String adminPassword,
@@ -554,22 +490,14 @@ public abstract class BaseAPI
/** /**
* Helper method for POST requests * Helper method for POST requests
* *
* @param adminUser * @param adminUser user with administrative privileges
* user with administrative privileges * @param adminPassword password for adminUser
* @param adminPassword * @param expectedStatusCode The expected return status code.
* password for adminUser * @param urlStart the start of the URL (for example "alfresco/s/slingshot").
* @param expectedStatusCode * @param requestParams zero or more endpoint specific request parameters
* The expected return status code. * @param urlTemplate request URL template
* @param urlStart * @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
* the start of the URL (for example "alfresco/s/slingshot"). * @throws AssertionError if the returned status code is not as expected.
* @param requestParams
* zero or more endpoint specific request parameters
* @param urlTemplate
* request URL template
* @param urlTemplateParams
* zero or more parameters used with <i>urlTemplate</i>
* @throws AssertionError
* if the returned status code is not as expected.
*/ */
private HttpResponse doPostJsonRequest(String adminUser, private HttpResponse doPostJsonRequest(String adminUser,
String adminPassword, String adminPassword,
@@ -584,12 +512,7 @@ public abstract class BaseAPI
try try
{ {
HttpResponse httpResponse = doRequestJson(HttpPost.class, requestUrl, adminUser, adminPassword, requestParams); HttpResponse httpResponse = doRequestJson(HttpPost.class, requestUrl, adminUser, adminPassword, requestParams);
if (httpResponse.getStatusLine().getStatusCode() != expectedStatusCode) assertEquals("POST request to " + requestUrl + " was not successful.", expectedStatusCode, httpResponse.getStatusLine().getStatusCode());
{
// It's only possible to stream the response body once, so ensure we only do this if the test has failed.
JSONObject responseJson = responseBodyToJson(httpResponse);
assertEquals("POST request to " + requestUrl + " was not successful. Response: " + responseJson, expectedStatusCode, httpResponse.getStatusLine().getStatusCode());
}
return httpResponse; return httpResponse;
} }
catch (InstantiationException | IllegalAccessException error) catch (InstantiationException | IllegalAccessException error)
@@ -598,51 +521,16 @@ public abstract class BaseAPI
} }
} }
/**
* Try to convert the response body to a JSON object.
*
* @param response
* The response.
* @return The JSON object or null if it was not possible to convert the response.
*/
private JSONObject responseBodyToJson(HttpResponse response)
{
try
{
try
{
return new JSONObject(EntityUtils.toString(response.getEntity()));
}
catch (JSONException error)
{
LOGGER.error("Converting message body to JSON failed. Body: {}", response.getEntity().getContent(), error);
}
}
catch (ParseException | IOException error)
{
LOGGER.error("Parsing message body failed.", error);
}
return null;
}
/** /**
* Helper method for handling generic HTTP requests * Helper method for handling generic HTTP requests
* * @param requestType request type (a subclass of {@link HttpRequestBase})
* @param requestType * @param requestUrl URL the request is to be sent to
* request type (a subclass of {@link HttpRequestBase}) * @param adminUser user with administrative privileges
* @param requestUrl * @param adminPassword password for adminUser
* URL the request is to be sent to * @param requestParams endpoint specific request parameters
* @param adminUser
* user with administrative privileges
* @param adminPassword
* password for adminUser
* @param requestParams
* endpoint specific request parameters
* @return response body * @return response body
* @throws IllegalAccessException * @throws IllegalAccessException for invalid <i>requestType</i>
* for invalid <i>requestType</i> * @throws InstantiationException for invalid <i>requestType</i>
* @throws InstantiationException
* for invalid <i>requestType</i>
*/ */
private <T extends HttpRequestBase> JSONObject doRequest( private <T extends HttpRequestBase> JSONObject doRequest(
Class<T> requestType, Class<T> requestType,
@@ -670,7 +558,18 @@ public abstract class BaseAPI
HttpResponse response = client.execute(adminUser, adminPassword, request); HttpResponse response = client.execute(adminUser, adminPassword, request);
LOGGER.info("Response: {}", response.getStatusLine()); LOGGER.info("Response: {}", response.getStatusLine());
responseBody = responseBodyToJson(response); try
{
responseBody = new JSONObject(EntityUtils.toString(response.getEntity()));
}
catch (JSONException error)
{
LOGGER.error("Converting message body to JSON failed. Body: {}", responseBody, error);
}
catch (ParseException | IOException error)
{
LOGGER.error("Parsing message body failed.", error);
}
switch (response.getStatusLine().getStatusCode()) switch (response.getStatusLine().getStatusCode())
{ {
@@ -767,16 +666,40 @@ public abstract class BaseAPI
} }
/** /**
* Used to set RM items properties including records, categories and folders * Used to set RM items properties
* including records, categories and folders
*/ */
public enum RMProperty public enum RMProperty
{ {
NAME, TITLE, CONTENT, DESCRIPTION, AUTHOR, PHYSICAL_SIZE, NUMBER_OF_COPIES, STORAGE_LOCATION, SHELF, BOX, FILE, ORIGINATOR, ORIGINATING_ORGANIZATION, PUBLICATION_DATE NAME,
TITLE,
CONTENT,
DESCRIPTION,
AUTHOR,
PHYSICAL_SIZE,
NUMBER_OF_COPIES,
STORAGE_LOCATION,
SHELF,
BOX,
FILE,
ORIGINATOR,
ORIGINATING_ORGANIZATION,
PUBLICATION_DATE
} }
public enum RETENTION_SCHEDULE public enum RETENTION_SCHEDULE
{ {
NAME, DESCRIPTION, RETENTION_AUTHORITY, RETENTION_INSTRUCTIONS, RETENTION_PERIOD, RETENTION_LOCATION, RETENTION_PERIOD_PROPERTY, RETENTION_GHOST, RETENTION_ELIGIBLE_FIRST_EVENT, RETENTION_EVENTS, COMBINE_DISPOSITION_STEP_CONDITIONS NAME,
DESCRIPTION,
RETENTION_AUTHORITY,
RETENTION_INSTRUCTIONS,
RETENTION_PERIOD,
RETENTION_LOCATION,
RETENTION_PERIOD_PROPERTY,
RETENTION_GHOST,
RETENTION_ELIGIBLE_FIRST_EVENT,
RETENTION_EVENTS,
COMBINE_DISPOSITION_STEP_CONDITIONS
} }
/** /**
@@ -784,8 +707,14 @@ public abstract class BaseAPI
*/ */
public enum RM_ACTIONS public enum RM_ACTIONS
{ {
EDIT_DISPOSITION_DATE("editDispositionActionAsOfDate"), END_RETENTION("retain"), CUT_OFF("cutoff"), UNDO_CUT_OFF("undoCutoff"), TRANSFER("transfer"), COMPLETE_EVENT("completeEvent"), UNDO_EVENT("undoEvent"), DESTROY("destroy"); EDIT_DISPOSITION_DATE("editDispositionActionAsOfDate"),
END_RETENTION("retain"),
CUT_OFF("cutoff"),
UNDO_CUT_OFF("undoCutoff"),
TRANSFER("transfer"),
COMPLETE_EVENT("completeEvent"),
UNDO_EVENT("undoEvent"),
DESTROY("destroy");
String action; String action;
private RM_ACTIONS(String action) private RM_ACTIONS(String action)
@@ -801,16 +730,17 @@ public abstract class BaseAPI
public enum PermissionType public enum PermissionType
{ {
SET_READ, REMOVE_READ, SET_READ_AND_FILE, REMOVE_READ_AND_FILE, SET_READ,
REMOVE_READ,
SET_READ_AND_FILE,
REMOVE_READ_AND_FILE,
} }
/** /**
* Util to return the property value from a map * Util to return the property value from a map
* *
* @param properties * @param properties the map containing properties
* the map containing properties * @param property to get value for
* @param property
* to get value for
* @return the property value * @return the property value
*/ */
public <K extends Enum<?>> String getPropertyValue(Map<K, String> properties, Enum<?> property) public <K extends Enum<?>> String getPropertyValue(Map<K, String> properties, Enum<?> property)
@@ -826,14 +756,10 @@ public abstract class BaseAPI
/** /**
* Retrieves the property value and decides if that gets to be added to the request * Retrieves the property value and decides if that gets to be added to the request
* *
* @param requestParams * @param requestParams the request parameters
* the request parameters * @param propertyRequestValue the property name in the request, eg. "prop_cm_name"
* @param propertyRequestValue * @param itemProperties map of item's properties values
* the property name in the request, eg. "prop_cm_name" * @param property the property in the property map to check value for
* @param itemProperties
* map of item's properties values
* @param property
* the property in the property map to check value for
* @return the json object used in request with the property with its value added if that is not null or empty * @return the json object used in request with the property with its value added if that is not null or empty
*/ */
protected <K extends Enum<?>> JSONObject addPropertyToRequest(JSONObject requestParams, String propertyRequestValue, Map<K, String> itemProperties, Enum<?> property) throws JSONException protected <K extends Enum<?>> JSONObject addPropertyToRequest(JSONObject requestParams, String propertyRequestValue, Map<K, String> itemProperties, Enum<?> property) throws JSONException
@@ -850,14 +776,12 @@ public abstract class BaseAPI
/** /**
* Deletes the category, folder or record given as parameter * Deletes the category, folder or record given as parameter
* *
* @param username * @param username the username with whom the delete is performed
* the username with whom the delete is performed * @param password the user's password
* @param password * @param itemPath the path to the item eg. in case of a category it would be the "/" + category name,
* the user's password * in case of a folder or subCategory it would be /categoryName/folderName or /categoryName/subCategoryName/
* @param itemPath * in case of a record /categoryName/folderName/recordName
* the path to the item eg. in case of a category it would be the "/" + category name, in case of a folder or subCategory it would be /categoryName/folderName or /categoryName/subCategoryName/ in case of a record /categoryName/folderName/recordName * @throws AssertionError if the delete was not successful.
* @throws AssertionError
* if the delete was not successful.
*/ */
protected void deleteItem(String username, String password, String itemPath) protected void deleteItem(String username, String password, String itemPath)
{ {

View File

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

View File

@@ -1,30 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model;
public record CapabilityModel(String name, String title, String description, GroupModel group, int index)
{}

View File

@@ -1,30 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model;
public record GroupModel(String id, String title)
{}

View File

@@ -30,11 +30,11 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
/** /**

View File

@@ -35,7 +35,18 @@ package org.alfresco.rest.rm.community.model.audit;
*/ */
public enum AuditEvents public enum AuditEvents
{ {
CREATE_PERSON("Create Person", "Create User"), DELETE_PERSON("Delete Person", "Delete User"), CREATE_USER_GROUP("Create User Group", "Create User Group"), DELETE_USER_GROUP("Delete User Group", "Delete User Group"), ADD_TO_USER_GROUP("Add To User Group", "Add To User Group"), REMOVE_FROM_USER_GROUP("Remove From User Group", "Remove From User Group"), LOGIN_UNSUCCESSFUL("Login.Failure", "Login Unsuccessful"), LOGIN_SUCCESSFUL("Login.Success", "Login Successful"), CREATE_HOLD("Create Hold", "Create Hold"), DELETE_HOLD("Delete Hold", "Delete Hold"), ADD_TO_HOLD("Add To Hold", "Add To Hold"), REMOVE_FROM_HOLD("Remove From Hold", "Remove From Hold"); CREATE_PERSON("Create Person", "Create User"),
DELETE_PERSON("Delete Person", "Delete User"),
CREATE_USER_GROUP("Create User Group", "Create User Group"),
DELETE_USER_GROUP("Delete User Group", "Delete User Group"),
ADD_TO_USER_GROUP("Add To User Group", "Add To User Group"),
REMOVE_FROM_USER_GROUP("Remove From User Group", "Remove From User Group"),
LOGIN_UNSUCCESSFUL("Login.Failure", "Login Unsuccessful"),
LOGIN_SUCCESSFUL("Login.Success", "Login Successful"),
CREATE_HOLD("Create Hold", "Create Hold"),
DELETE_HOLD("Delete Hold", "Delete Hold"),
ADD_TO_HOLD("Add To Hold", "Add To Hold"),
REMOVE_FROM_HOLD("Remove From Hold", "Remove From Hold");
/** event audited */ /** event audited */
public final String event; public final String event;

View File

@@ -29,6 +29,7 @@ package org.alfresco.rest.rm.community.model.common;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;

View File

@@ -27,10 +27,10 @@
package org.alfresco.rest.rm.community.model.common; package org.alfresco.rest.rm.community.model.common;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
/** /**

View File

@@ -29,14 +29,15 @@ package org.alfresco.rest.rm.community.model.common;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for path parameter * POJO for path parameter
* *

View File

@@ -27,6 +27,7 @@
package org.alfresco.rest.rm.community.model.common; package org.alfresco.rest.rm.community.model.common;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;

View File

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

View File

@@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.fileplan;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for file plan * POJO for file plan
* *

View File

@@ -34,14 +34,15 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for file plan properties * POJO for file plan properties
* *

View File

@@ -36,7 +36,8 @@ public class FilePlanComponentAspects
{ {
/** Private constructor to prevent instantiation. */ /** Private constructor to prevent instantiation. */
private FilePlanComponentAspects() private FilePlanComponentAspects()
{} {
}
// aspect present on completed records // aspect present on completed records
public static final String ASPECTS_COMPLETED_RECORD = "rma:declaredRecord"; public static final String ASPECTS_COMPLETED_RECORD = "rma:declaredRecord";

View File

@@ -62,6 +62,7 @@ public class FilePlanComponentFields
public static final String PROPERTIES_DECLASSIFICATION_REVIEW_COMPLETED_BY = "rma:declassificationReviewCompletedBy"; public static final String PROPERTIES_DECLASSIFICATION_REVIEW_COMPLETED_BY = "rma:declassificationReviewCompletedBy";
public static final String PROPERTIES_DECLASSIFICATION_REVIEW_COMPLETED_AT = "rma:declassificationReviewCompletedAt"; public static final String PROPERTIES_DECLASSIFICATION_REVIEW_COMPLETED_AT = "rma:declassificationReviewCompletedAt";
/** File plan properties */ /** File plan properties */
public static final String PROPERTIES_COMPONENT_ID = "st:componentId"; public static final String PROPERTIES_COMPONENT_ID = "st:componentId";
public static final String PROPERTIES_COUNT = "rma:count"; public static final String PROPERTIES_COUNT = "rma:count";

View File

@@ -1,41 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.hold;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BulkBodyCancel
{
private String reason;
}

View File

@@ -1,83 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.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;
/**
* POJO for hold
*
* @author Damian Ujma
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Hold extends TestModel
{
@JsonProperty(required = true)
private String id;
@JsonProperty(required = true)
private String name;
@JsonProperty(required = true)
private String description;
@JsonProperty(required = true)
private String reason;
@Override
public boolean equals(Object o)
{
if (this == o)
{
return true;
}
if (o == null || getClass() != o.getClass())
{
return false;
}
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);
}
@Override
public int hashCode()
{
return Objects.hash(id, name, description, reason);
}
}

View File

@@ -1,59 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.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;
/**
* POJO for hold bulk request
*
* @author Damian Ujma
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class HoldBulkOperation extends TestModel
{
public enum HoldBulkOperationType
{
ADD
}
@JsonProperty(required = true)
private RestRequestQueryModel query;
@JsonProperty(required = true)
private HoldBulkOperationType op;
}

View File

@@ -1,48 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.hold;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* POJO for hold bulk request entry
*
* @author Damian Ujma
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class HoldBulkOperationEntry
{
private String bulkStatusId;
private long totalItems;
}

View File

@@ -1,68 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.hold;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/**
* POJO for hold bulk request
*
* @author Damian Ujma
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class HoldBulkStatus extends TestModel
{
private String bulkStatusId;
private String startTime;
private String endTime;
private long processedItems;
private long errorsCount;
private long totalItems;
private String lastError;
private String status;
private boolean isCancelled;
private String cancellationReason;
private HoldBulkOperation holdBulkOperation;
}

View File

@@ -1,37 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.hold;
import org.alfresco.rest.core.RestModels;
/**
* Handle collection of {@link HoldBulkStatusEntry}
*
* @author Damian Ujma
*/
public class HoldBulkStatusCollection extends RestModels<HoldBulkStatusEntry, HoldBulkStatusCollection>
{}

View File

@@ -1,45 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.hold;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels;
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class HoldBulkStatusEntry extends RestModels<HoldBulkStatus, HoldBulkStatusEntry>
{
private HoldBulkStatus entry;
}

View File

@@ -1,52 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.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;
/**
* POJO for hold child
*
* @author Damian Ujma
*/
@Builder
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class HoldChild extends TestModel
{
@JsonProperty(required = true)
private String id;
}

View File

@@ -1,37 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.hold;
import org.alfresco.rest.core.RestModels;
/**
* Handle collection of {@link HoldChildEntry}
*
* @author Damian Ujma
*/
public class HoldChildCollection extends RestModels<HoldChildEntry, HoldChildCollection>
{}

View File

@@ -1,52 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.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;
/**
* POJO for hold child entry
*
* @author Damian Ujma
*/
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class HoldChildEntry extends RestModels<Hold, HoldChildEntry>
{
@JsonProperty
private HoldChild entry;
}

View File

@@ -1,37 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.hold;
import org.alfresco.rest.core.RestModels;
/**
* Handle collection of {@link HoldEntry}
*
* @author Damian Ujma
*/
public class HoldCollection extends RestModels<HoldEntry, HoldCollection>
{}

View File

@@ -1,52 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.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;
/**
* POJO for hold deletion reason
*
* @author Damian Ujma
*/
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class HoldDeletionReason extends TestModel
{
@JsonProperty
private String reason;
}

View File

@@ -1,52 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.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;
/**
* POJO for hold child entry
*
* @author Damian Ujma
*/
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class HoldDeletionReasonEntry extends RestModels<HoldDeletionReason, HoldDeletionReasonEntry>
{
@JsonProperty
private HoldDeletionReason entry;
}

View File

@@ -26,27 +26,31 @@
*/ */
package org.alfresco.rest.rm.community.model.hold; package org.alfresco.rest.rm.community.model.hold;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
import org.alfresco.rest.core.RestModels;
/** /**
* POJO for hold entry * POJO for hold entry
* *
* @author Damian Ujma * @author Rodica Sutu
* @since 3.2
*/ */
@Builder @Builder
@Data @Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class HoldEntry extends RestModels<Hold, HoldEntry> @JsonIgnoreProperties (ignoreUnknown = true)
public class HoldEntry extends TestModel
{ {
@JsonProperty @JsonProperty (required = true)
private Hold entry; private String name;
@JsonProperty (required = true)
private String nodeRef;
} }

View File

@@ -1,56 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.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;
/**
* POJO for hold entry
*
* @author Rodica Sutu
* @since 3.2
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class HoldEntry extends TestModel
{
@JsonProperty(required = true)
private String name;
@JsonProperty(required = true)
private String nodeRef;
}

View File

@@ -29,11 +29,6 @@ package org.alfresco.rest.rm.community.model.record;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.alfresco.rest.core.IRestModel; import org.alfresco.rest.core.IRestModel;
import org.alfresco.rest.core.assertion.ModelAssertion; import org.alfresco.rest.core.assertion.ModelAssertion;
@@ -42,6 +37,12 @@ import org.alfresco.rest.model.RestNodeModel;
import org.alfresco.rest.rm.community.model.common.Path; import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/** /**
* POJO for record * POJO for record
* *

View File

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

View File

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

View File

@@ -64,6 +64,7 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RESOLUTION_UNIT; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RESOLUTION_UNIT;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_AS_OF; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_AS_OF;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RMV_VERSIONED; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RMV_VERSIONED;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
@@ -84,12 +85,12 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner; import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;

View File

@@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.recordcategory;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for record category * POJO for record category
* *

View File

@@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.recordcategory;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for record category child * POJO for record category child
* *

View File

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

View File

@@ -32,15 +32,15 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_PERIOD; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_PERIOD;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE;
@@ -51,17 +51,18 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner; import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.rest.rm.community.model.common.ReviewPeriod; import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/** /**
* POJO for record category child properties * POJO for record category child properties
* *

View File

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

View File

@@ -35,22 +35,24 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_VITAL_RECORD_INDICATOR; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_VITAL_RECORD_INDICATOR;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner; import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.rest.rm.community.model.common.ReviewPeriod; import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/** /**
* POJO for record category properties * POJO for record category properties
* *

View File

@@ -29,16 +29,17 @@ package org.alfresco.rest.rm.community.model.recordfolder;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for record folder * POJO for record folder
* *

View File

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

View File

@@ -33,8 +33,10 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS; .PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields
.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION;
@@ -48,17 +50,18 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner; import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.rest.rm.community.model.common.ReviewPeriod; import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer; import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
import org.alfresco.utility.model.TestModel; import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/** /**
* POJO for record folder properties * POJO for record folder properties
* *

View File

@@ -1,60 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.retentionschedule;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.alfresco.utility.model.TestModel;
/**
* retention schedule
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class RetentionSchedule extends TestModel
{
private String id;
private String parentId;
private String authority;
private String instructions;
private boolean isRecordLevel;
private boolean isUnpublishedUpdates;
private List<RetentionScheduleActionDefinition> actions;
public boolean getIsRecordLevel()
{
return isRecordLevel;
}
public void setIsRecordLevel(boolean recordLevel)
{
isRecordLevel = recordLevel;
}
}

View File

@@ -1,51 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.retentionschedule;
import java.util.List;
import lombok.Data;
/**
* retention schedule action definition
*/
@Data
public class RetentionScheduleActionDefinition
{
private String id;
private String name;
private int periodAmount;
private String period;
private String periodProperty;
private boolean combineRetentionStepConditions;
private List<String> events;
private boolean eligibleOnFirstCompleteEvent;
private String description;
private boolean retainRecordMetadataAfterDestruction;
private String location;
private int index;
}

View File

@@ -1,32 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.retentionschedule;
import org.alfresco.rest.core.RestModels;
public class RetentionScheduleCollection extends RestModels<RetentionScheduleEntry, RetentionScheduleCollection>
{}

View File

@@ -1,39 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.retentionschedule;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.alfresco.rest.core.RestModels;
@Data
public class RetentionScheduleEntry extends RestModels<RetentionSchedule, RetentionScheduleEntry>
{
@JsonProperty
private RetentionSchedule entry;
}

View File

@@ -1,32 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.retentionschedule;
import org.alfresco.rest.core.RestModels;
public class RetentionScheduleStepCollection extends RestModels<RetentionScheduleStepEntry, RetentionScheduleStepCollection>
{}

View File

@@ -1,39 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.retentionschedule;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.alfresco.rest.core.RestModels;
@Data
public class RetentionScheduleStepEntry extends RestModels<RetentionScheduleActionDefinition, RetentionScheduleStepEntry>
{
@JsonProperty
private RetentionScheduleActionDefinition entry;
}

View File

@@ -1,91 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.role;
import java.util.List;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.CapabilityModel;
import org.alfresco.utility.model.TestModel;
/**
* POJO for role
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Role extends TestModel
{
@JsonProperty(required = true)
private String name;
@JsonProperty(required = true)
private List<CapabilityModel> capabilities;
@JsonProperty(required = true)
private String displayLabel;
@JsonProperty(required = true)
private String groupShortName;
private List<String> assignedUsers;
private List<String> assignedGroups;
private String roleGroupName;
@Override
public boolean equals(Object o)
{
if (this == o)
{
return true;
}
if (o == null || getClass() != o.getClass())
{
return false;
}
Role role = (Role) o;
return Objects.equals(name, role.name) && Objects.equals(capabilities, role.capabilities)
&& Objects.equals(displayLabel, role.displayLabel) && Objects.equals(groupShortName, role.groupShortName) && Objects.equals(assignedUsers, role.assignedUsers)
&& Objects.equals(assignedGroups, role.assignedGroups) && Objects.equals(roleGroupName, role.roleGroupName);
}
@Override
public int hashCode()
{
return Objects.hash(name, capabilities, displayLabel, groupShortName, assignedUsers, assignedGroups, roleGroupName);
}
}

View File

@@ -1,32 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.role;
import org.alfresco.rest.core.RestModels;
public class RoleCollection extends RestModels<RoleEntry, RoleCollection>
{}

View File

@@ -1,47 +0,0 @@
/*-
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.model.role;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels;
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class RoleEntry extends RestModels<Role, RoleEntry>
{
@JsonProperty
private Role entry;
}

View File

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

View File

@@ -31,8 +31,9 @@ package org.alfresco.rest.rm.community.model.rules;
*/ */
public enum ConditionsOnRule public enum ConditionsOnRule
{ {
UPDATE("update"), ADDED("inbound"), REMOVED("outbound"); UPDATE("update"),
ADDED("inbound"),
REMOVED("outbound");
private String whenConditionValue; private String whenConditionValue;
ConditionsOnRule(String value) ConditionsOnRule(String value)

View File

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

View File

@@ -27,14 +27,15 @@
package org.alfresco.rest.rm.community.model.site; package org.alfresco.rest.rm.community.model.site;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestSiteModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestSiteModel;
/** /**
* POJO for RM Site component * POJO for RM Site component
* *

View File

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

View File

@@ -27,8 +27,16 @@
package org.alfresco.rest.rm.community.model.site; package org.alfresco.rest.rm.community.model.site;
/** /**
* RM Site properties from the RM Model Schema "entry": { "id": "string", "guid": "string", "title": "string", "description": "string", "visibility": "{@link org.springframework.social.alfresco.api.entities.Site.Visibility}", "compliance": "{@link RMSiteCompliance}", "role": "{@link org.alfresco.utility.constants.UserRole}" } *RM Site properties from the RM Model Schema
* *"entry": {
* "id": "string",
* "guid": "string",
* "title": "string",
* "description": "string",
* "visibility": "{@link org.springframework.social.alfresco.api.entities.Site.Visibility}",
* "compliance": "{@link RMSiteCompliance}",
* "role": "{@link org.alfresco.utility.constants.UserRole}"
*}
* @author Tuna Aksoy * @author Tuna Aksoy
* @author Rodica Sutu * @author Rodica Sutu
* @since 2.6 * @since 2.6

View File

@@ -30,15 +30,16 @@ package org.alfresco.rest.rm.community.model.transfer;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for Transfer * POJO for Transfer
* *

View File

@@ -30,16 +30,17 @@ package org.alfresco.rest.rm.community.model.transfer;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for transfer child * POJO for transfer child
* *

View File

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

View File

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

View File

@@ -64,19 +64,20 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_X_RESOLUTION; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_X_RESOLUTION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_Y_RESOLUTION; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_Y_RESOLUTION;
import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
import org.alfresco.utility.model.TestModel;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for transfer child properties * POJO for transfer child properties
* *
@@ -136,6 +137,7 @@ public class TransferChildProperties extends TestModel
@JsonProperty (PROPERTIES_ORIGINAL_NAME) @JsonProperty (PROPERTIES_ORIGINAL_NAME)
private String originalName; private String originalName;
/*********************************/ /*********************************/
/** Electronic record parameters */ /** Electronic record parameters */
/*********************************/ /*********************************/

View File

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

View File

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

View File

@@ -27,23 +27,24 @@
package org.alfresco.rest.rm.community.model.transfer; package org.alfresco.rest.rm.community.model.transfer;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ACCESSION_INDICATOR;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_PDF_INDICATOR;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_PDF_INDICATOR;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TRANSFER_LOCATION; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TRANSFER_LOCATION;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ACCESSION_INDICATOR;
import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.utility.model.TestModel;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for Transfer properties * POJO for Transfer properties
* *

View File

@@ -30,15 +30,16 @@ package org.alfresco.rest.rm.community.model.transfercontainer;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for Transfer Container * POJO for Transfer Container
* *

View File

@@ -31,15 +31,16 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF; import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
import org.alfresco.utility.model.TestModel;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for Transfer Container properties * POJO for Transfer Container properties
* *

View File

@@ -28,17 +28,18 @@ package org.alfresco.rest.rm.community.model.unfiledcontainer;
import java.util.List; import java.util.List;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for unfiled container * POJO for unfiled container
* *

View File

@@ -28,19 +28,20 @@ package org.alfresco.rest.rm.community.model.unfiledcontainer;
import java.util.List; import java.util.List;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.rest.rm.community.model.record.RecordContent;
import org.alfresco.utility.model.TestModel;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.rest.rm.community.model.record.RecordContent;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for record category child * POJO for record category child
* *

View File

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

View File

@@ -61,15 +61,16 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.rm.community.model.common.Owner;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for record category child properties * POJO for record category child properties
* *

View File

@@ -31,14 +31,15 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.alfresco.utility.model.TestModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for file plan properties * POJO for file plan properties
* *

View File

@@ -28,18 +28,19 @@ package org.alfresco.rest.rm.community.model.unfiledcontainer;
import java.util.List; import java.util.List;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.rest.rm.community.model.record.RecordContent;
import org.alfresco.utility.model.TestModel;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestByUserModel;
import org.alfresco.rest.rm.community.model.common.Path;
import org.alfresco.rest.rm.community.model.record.RecordContent;
import org.alfresco.utility.model.TestModel;
/** /**
* POJO for unfiled container * POJO for unfiled container
* *

View File

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

View File

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

View File

@@ -29,12 +29,12 @@ package org.alfresco.rest.rm.community.requests;
import static lombok.AccessLevel.PRIVATE; import static lombok.AccessLevel.PRIVATE;
import static lombok.AccessLevel.PROTECTED; import static lombok.AccessLevel.PROTECTED;
import lombok.Getter;
import lombok.Setter;
import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.requests.ModelRequest; import org.alfresco.rest.requests.ModelRequest;
import lombok.Getter;
import lombok.Setter;
/** /**
* Extends {@link ModelRequest} to set {@link RMRestWrapper} * Extends {@link ModelRequest} to set {@link RMRestWrapper}
* *

View File

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

View File

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

View File

@@ -26,24 +26,20 @@
*/ */
package org.alfresco.rest.rm.community.requests.gscore.api; package org.alfresco.rest.rm.community.requests.gscore.api;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT;
import static org.alfresco.rest.core.RestRequest.requestWithBody; import static org.alfresco.rest.core.RestRequest.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest; import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject; import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString; import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson; import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT;
import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.fileplan.FilePlan; import org.alfresco.rest.rm.community.model.fileplan.FilePlan;
import org.alfresco.rest.rm.community.model.hold.Hold;
import org.alfresco.rest.rm.community.model.hold.HoldCollection;
import org.alfresco.rest.rm.community.model.recordcategory.RecordCategory; import org.alfresco.rest.rm.community.model.recordcategory.RecordCategory;
import org.alfresco.rest.rm.community.model.recordcategory.RecordCategoryCollection; import org.alfresco.rest.rm.community.model.recordcategory.RecordCategoryCollection;
import org.alfresco.rest.rm.community.model.role.RoleCollection;
import org.alfresco.rest.rm.community.requests.RMModelRequest; import org.alfresco.rest.rm.community.requests.RMModelRequest;
/** /**
@@ -58,8 +54,7 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Constructor. * Constructor.
* *
* @param rmRestWrapper * @param rmRestWrapper RM REST Wrapper
* RM REST Wrapper
*/ */
public FilePlanAPI(RMRestWrapper rmRestWrapper) public FilePlanAPI(RMRestWrapper rmRestWrapper)
{ {
@@ -79,13 +74,10 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Gets a file plan. * Gets a file plan.
* *
* @param filePlanId * @param filePlanId The identifier of a file plan
* The identifier of a file plan * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link FilePlan} for the given {@code filePlanId} * @return The {@link FilePlan} for the given {@code filePlanId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases:
* <ul> * <ul>
* <li>{@code filePlanId} is not a valid format</li> * <li>{@code filePlanId} is not a valid format</li>
* <li>authentication fails</li> * <li>authentication fails</li>
@@ -101,7 +93,8 @@ public class FilePlanAPI extends RMModelRequest
GET, GET,
"/file-plans/{filePlanId}?{parameters}", "/file-plans/{filePlanId}?{parameters}",
filePlanId, filePlanId,
parameters)); parameters
));
} }
/** /**
@@ -117,13 +110,10 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Gets the children (root categories) of a file plan. * Gets the children (root categories) of a file plan.
* *
* @param filePlanId * @param filePlanId The identifier of a file plan
* The identifier of a file plan * @param parameters The URL parameters to add
* @param parameters
* The URL parameters to add
* @return The {@link RecordCategoryCollection} for the given {@code filePlanId} * @return The {@link RecordCategoryCollection} for the given {@code filePlanId}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases:
* <ul> * <ul>
* <li>authentication fails</li> * <li>authentication fails</li>
* <li>current user does not have permission to read {@code filePlanId}</li> * <li>current user does not have permission to read {@code filePlanId}</li>
@@ -138,7 +128,8 @@ public class FilePlanAPI extends RMModelRequest
GET, GET,
"file-plans/{filePlanId}/categories?{parameters}", "file-plans/{filePlanId}/categories?{parameters}",
filePlanId, filePlanId,
parameters)); parameters
));
} }
/** /**
@@ -155,15 +146,11 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Creates a root record category. * Creates a root record category.
* *
* @param recordCategoryModel * @param recordCategoryModel The record category model which holds the information
* The record category model which holds the information * @param filePlanId The identifier of a file plan
* @param filePlanId * @param parameters The URL parameters to add
* The identifier of a file plan
* @param parameters
* The URL parameters to add
* @return The created {@link RecordCategory} * @return The created {@link RecordCategory}
* @throws RuntimeException * @throws RuntimeException for the following cases:
* for the following cases:
* <ul> * <ul>
* <li>{@code filePlanId} is not a valid format or {@code filePlanId} is invalid</li> * <li>{@code filePlanId} is not a valid format or {@code filePlanId} is invalid</li>
* <li>authentication fails</li> * <li>authentication fails</li>
@@ -183,7 +170,8 @@ public class FilePlanAPI extends RMModelRequest
toJson(recordCategoryModel), toJson(recordCategoryModel),
"file-plans/{filePlanId}/categories?{parameters}", "file-plans/{filePlanId}/categories?{parameters}",
filePlanId, filePlanId,
parameters)); parameters
));
} }
/** /**
@@ -200,14 +188,10 @@ public class FilePlanAPI extends RMModelRequest
/** /**
* Updates a file plan. * Updates a file plan.
* *
* @param filePlanModel * @param filePlanModel The file plan model which holds the information
* The file plan model which holds the information * @param filePlanId The identifier of the file plan
* @param filePlanId * @param parameters The URL parameters to add
* The identifier of the file plan * @throws RuntimeException for the following cases:
* @param parameters
* The URL parameters to add
* @throws RuntimeException
* for the following cases:
* <ul> * <ul>
* <li>the update request is invalid or {@code filePlanId} is not a valid format or {@code filePlanModel} is invalid</li> * <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>authentication fails</li>
@@ -229,114 +213,4 @@ public class FilePlanAPI extends RMModelRequest
parameters)); parameters));
} }
/**
* Creates a hold.
*
* @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>
*/
public Hold createHold(Hold holdModel, String filePlanId, String parameters)
{
mandatoryString("filePlanId", filePlanId);
mandatoryObject("holdModel", holdModel);
return getRmRestWrapper().processModel(Hold.class, requestWithBody(
POST,
toJson(holdModel),
"file-plans/{filePlanId}/holds",
filePlanId,
parameters));
}
/**
* See {@link #createHold(Hold, String, String)}
*/
public Hold createHold(Hold holdModel, String filePlanId)
{
return createHold(holdModel, filePlanId, EMPTY);
}
/**
* Gets the holds of a file plan.
*
* @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>
*/
public HoldCollection getHolds(String filePlanId, String parameters)
{
mandatoryString("filePlanId", filePlanId);
return getRmRestWrapper().processModels(HoldCollection.class, simpleRequest(
GET,
"file-plans/{filePlanId}/holds?{parameters}",
filePlanId,
parameters));
}
/**
* See {@link #getHolds(String, String)}
*/
public HoldCollection getHolds(String filePlanId)
{
return getHolds(filePlanId, EMPTY);
}
/**
* Gets the roles of a file plan.
*
* @param filePlanId
* The identifier of a file plan
* @param parameters
* The URL parameters to add
* @return The {Pagination and RoleModel Entries} for the given {@code filePlanId}
* @throws RuntimeException
* for the following cases:
* <ul>
* <li>authentication fails</li>
* <li>current user does not have permission to read {@code filePlanId}</li>
* <li>{@code filePlanId} does not exist</li>
* </ul>
*/
public RoleCollection getFilePlanRoles(String filePlanId, String parameters)
{
mandatoryString("filePlanId", filePlanId);
return getRmRestWrapper().processModels(RoleCollection.class, simpleRequest(
GET,
"file-plans/{filePlanId}/roles?{parameters}",
filePlanId,
parameters));
}
/**
* See {@link #getFilePlanRoles(String, String)}
*/
public RoleCollection getFilePlanRoles(String filePlanId)
{
return getFilePlanRoles(filePlanId, EMPTY);
}
} }

View File

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

View File

@@ -1,476 +0,0 @@
/*
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2025 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
* -
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* -
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* -
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.rm.community.requests.gscore.api;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.springframework.http.HttpMethod.DELETE;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST;
import static org.springframework.http.HttpMethod.PUT;
import static org.alfresco.rest.core.RestRequest.requestWithBody;
import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import org.alfresco.rest.core.RMRestWrapper;
import org.alfresco.rest.rm.community.model.hold.BulkBodyCancel;
import org.alfresco.rest.rm.community.model.hold.Hold;
import org.alfresco.rest.rm.community.model.hold.HoldBulkOperation;
import org.alfresco.rest.rm.community.model.hold.HoldBulkOperationEntry;
import org.alfresco.rest.rm.community.model.hold.HoldBulkStatus;
import org.alfresco.rest.rm.community.model.hold.HoldBulkStatusCollection;
import org.alfresco.rest.rm.community.model.hold.HoldChild;
import org.alfresco.rest.rm.community.model.hold.HoldChildCollection;
import org.alfresco.rest.rm.community.model.hold.HoldDeletionReason;
import org.alfresco.rest.rm.community.requests.RMModelRequest;
/**
* Holds REST API Wrapper
*
* @author Damian Ujma
*/
public class HoldsAPI extends RMModelRequest
{
/**
* @param rmRestWrapper
*/
public HoldsAPI(RMRestWrapper rmRestWrapper)
{
super(rmRestWrapper);
}
/**
* Gets a hold.
*
* @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>
*/
public Hold getHold(String holdId, String parameters)
{
mandatoryString("holdId", holdId);
return getRmRestWrapper().processModel(Hold.class, simpleRequest(
GET,
"holds/{holdId}?{parameters}",
holdId,
parameters));
}
/**
* See {@link #getHold(String, String)}
*/
public Hold getHold(String holdId)
{
mandatoryString("holdId", holdId);
return getHold(holdId, EMPTY);
}
/**
* 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>
*/
public Hold updateHold(Hold holdModel, String holdId, String parameters)
{
mandatoryObject("holdModel", holdModel);
mandatoryString("holdId", holdId);
return getRmRestWrapper().processModel(Hold.class, requestWithBody(
PUT,
toJson(holdModel),
"holds/{holdId}?{parameters}",
holdId,
parameters));
}
/**
* See {@link #updateHold(Hold, String, String)}
*/
public Hold updateHold(Hold holdModel, String holdId)
{
mandatoryObject("holdModel", holdModel);
mandatoryString("holdId", holdId);
return updateHold(holdModel, holdId, EMPTY);
}
/**
* 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>
*/
public void deleteHold(String holdId)
{
mandatoryString("holdId", holdId);
getRmRestWrapper().processEmptyModel(simpleRequest(
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>
*/
public HoldDeletionReason deleteHoldWithReason(HoldDeletionReason reason, String holdId)
{
mandatoryObject("reason", reason);
mandatoryString("holdId", holdId);
return getRmRestWrapper().processModel(HoldDeletionReason.class, requestWithBody(
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
* @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>
*/
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));
}
/**
* See {@link #addChildToHold(HoldChild, String, String)}
*/
public HoldChild addChildToHold(HoldChild holdChild, String holdId)
{
return addChildToHold(holdChild, holdId, EMPTY);
}
/**
* Gets the children of a hold.
*
* @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>
*/
public HoldChildCollection getChildren(String holdId, String parameters)
{
mandatoryString("holdId", holdId);
return getRmRestWrapper().processModels(HoldChildCollection.class, simpleRequest(
GET,
"holds/{holdId}/children",
holdId,
parameters));
}
/**
* See {@link #getChildren(String, String)}
*/
public HoldChildCollection getChildren(String holdId)
{
return getChildren(holdId, EMPTY);
}
/**
* 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>
*/
public void deleteHoldChild(String holdId, String holdChildId, String parameters)
{
mandatoryString("holdId", holdId);
mandatoryString("holdChildId", holdChildId);
getRmRestWrapper().processEmptyModel(simpleRequest(
DELETE,
"holds/{holdId}/children/{holdChildId}",
holdId,
holdChildId,
parameters));
}
/**
* See {@link #deleteHoldChild(String, String, String)}
*/
public void deleteHoldChild(String holdId, String holdChildId)
{
deleteHoldChild(holdId, holdChildId, EMPTY);
}
/**
* 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
* @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>
*/
public HoldBulkOperationEntry startBulkProcess(HoldBulkOperation holdBulkOperation, String hold, String parameters)
{
mandatoryObject("holdBulkOperation", holdBulkOperation);
mandatoryString("hold", hold);
return getRmRestWrapper().processModel(HoldBulkOperationEntry.class, requestWithBody(
POST,
toJson(holdBulkOperation),
"holds/{hold}/bulk",
hold,
parameters));
}
/**
* See {@link #startBulkProcess(HoldBulkOperation, String, String)}
*/
public HoldBulkOperationEntry startBulkProcess(HoldBulkOperation holdBulkOperation, String hold)
{
return startBulkProcess(holdBulkOperation, hold, EMPTY);
}
/**
* 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
* @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>
*/
public HoldBulkStatus getBulkStatus(String holdId, String holdBulkStatusId, String parameters)
{
mandatoryString("holdId", holdId);
mandatoryString("holdBulkStatusId", holdBulkStatusId);
return getRmRestWrapper().processModel(HoldBulkStatus.class, simpleRequest(
GET,
"holds/{holdId}/bulk-statuses/{holdBulkStatusId}",
holdId,
holdBulkStatusId,
parameters));
}
/**
* See {@link #getBulkStatus(String, String, String)}
*/
public HoldBulkStatus getBulkStatus(String holdId, String holdBulkStatusId)
{
return getBulkStatus(holdId, holdBulkStatusId, EMPTY);
}
/**
* Gets the statuses of all bulk processes for a hold.
*
* @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>
*/
public HoldBulkStatusCollection getBulkStatuses(String holdId, String parameters)
{
mandatoryString("holdId", holdId);
return getRmRestWrapper().processModels(HoldBulkStatusCollection.class, simpleRequest(
GET,
"holds/{holdId}/bulk-statuses",
holdId,
parameters));
}
/**
* See {@link #getBulkStatuses(String, String)}
*/
public HoldBulkStatusCollection getBulkStatuses(String holdId)
{
return getBulkStatuses(holdId, EMPTY);
}
/**
* 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>
*/
public void cancelBulkOperation(String holdId, String bulkStatusId, BulkBodyCancel bulkBodyCancel, String parameters)
{
mandatoryString("holdId", holdId);
mandatoryString("bulkStatusId", bulkStatusId);
mandatoryObject("bulkBodyCancel", bulkBodyCancel);
getRmRestWrapper().processEmptyModel(requestWithBody(
POST,
toJson(bulkBodyCancel),
"holds/{holdId}/bulk-statuses/{bulkStatusId}/cancel",
holdId,
bulkStatusId,
parameters));
}
/**
* See {@link #cancelBulkOperation(String, String, BulkBodyCancel, String)}
*/
public void cancelBulkOperation(String holdId, String bulkStatusId, BulkBodyCancel bulkBodyCancel)
{
mandatoryString("holdId", holdId);
mandatoryString("bulkStatusId", bulkStatusId);
mandatoryObject("bulkBodyCancel", bulkBodyCancel);
cancelBulkOperation(holdId, bulkStatusId, bulkBodyCancel, EMPTY);
}
}

View File

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

View File

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

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