mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-22 15:12:38 +00:00
Compare commits
2 Commits
19.2
...
autoformat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a3def2c7f | ||
|
|
45eb22e67d |
27
.github/dependabot.yml
vendored
27
.github/dependabot.yml
vendored
@@ -38,6 +38,27 @@ updates:
|
|||||||
- dependency-name: org.activiti:activiti-spring
|
- dependency-name: org.activiti:activiti-spring
|
||||||
versions:
|
versions:
|
||||||
- ">= 7.1.a, < 7.2"
|
- ">= 7.1.a, < 7.2"
|
||||||
|
- dependency-name: org.apache.camel:camel-activemq
|
||||||
|
versions:
|
||||||
|
- "> 3.7.1"
|
||||||
|
- dependency-name: org.apache.camel:camel-amqp
|
||||||
|
versions:
|
||||||
|
- "> 3.7.1"
|
||||||
|
- dependency-name: org.apache.camel:camel-direct
|
||||||
|
versions:
|
||||||
|
- "> 3.7.1"
|
||||||
|
- dependency-name: org.apache.camel:camel-directvm
|
||||||
|
versions:
|
||||||
|
- "> 3.7.1"
|
||||||
|
- dependency-name: org.apache.camel:camel-jackson
|
||||||
|
versions:
|
||||||
|
- "> 3.7.1"
|
||||||
|
- dependency-name: org.apache.camel:camel-mock
|
||||||
|
versions:
|
||||||
|
- "> 3.7.1"
|
||||||
|
- dependency-name: org.apache.camel:camel-spring
|
||||||
|
versions:
|
||||||
|
- "> 3.7.1"
|
||||||
- dependency-name: org.apache.chemistry.opencmis:chemistry-opencmis-client-impl
|
- dependency-name: org.apache.chemistry.opencmis:chemistry-opencmis-client-impl
|
||||||
versions:
|
versions:
|
||||||
- "> 1.0.0"
|
- "> 1.0.0"
|
||||||
@@ -158,9 +179,3 @@ updates:
|
|||||||
- "8.16"
|
- "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"
|
|
||||||
directory: "packaging/docker-alfresco/"
|
|
||||||
schedule:
|
|
||||||
interval: "daily"
|
|
||||||
time: "22:00"
|
|
||||||
timezone: Africa/Abidjan
|
|
||||||
|
|||||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -24,17 +24,16 @@ target
|
|||||||
*.log.*
|
*.log.*
|
||||||
|
|
||||||
# Mobile Tools for Java (J2ME)
|
# Mobile Tools for Java (J2ME)
|
||||||
|
|
||||||
.mtj
|
.mtj
|
||||||
.tmp/
|
.tmp/
|
||||||
|
|
||||||
# Package Files #
|
# Package Files #
|
||||||
|
|
||||||
*.jar
|
*.jar
|
||||||
*.war
|
*.war
|
||||||
*.ear
|
*.ear
|
||||||
|
|
||||||
# maven-shade-plugin for mmt tool
|
|
||||||
dependency-reduced-pom.xml
|
|
||||||
|
|
||||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||||
|
|
||||||
hs_err_pid*
|
hs_err_pid*
|
||||||
|
|||||||
9
.pre-commit-config.yaml
Normal file
9
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||||
|
rev: v2.4.1
|
||||||
|
hooks:
|
||||||
|
- id: prettier
|
||||||
|
types: [java]
|
||||||
|
additional_dependencies:
|
||||||
|
- prettier@2.4.1
|
||||||
|
- prettier-plugin-java@1.4.0
|
||||||
337
.travis.yml
337
.travis.yml
@@ -1,7 +1,10 @@
|
|||||||
---
|
---
|
||||||
|
import:
|
||||||
|
- source: Alfresco/alfresco-build-tools:.travis.pre-commit.yml@v1.1.5
|
||||||
|
|
||||||
dist: focal
|
dist: focal
|
||||||
language: java
|
language: java
|
||||||
jdk: openjdk17
|
jdk: openjdk11
|
||||||
|
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
@@ -26,16 +29,14 @@ branches:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)
|
|
||||||
- TAS_SCRIPTS=../alfresco-community-repo/packaging/tests/scripts
|
- TAS_SCRIPTS=../alfresco-community-repo/packaging/tests/scripts
|
||||||
- TAS_ENVIRONMENT=./packaging/tests/environment
|
- TAS_ENVIRONMENT=./packaging/tests/environment
|
||||||
- LOG_WARN="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
|
- LOG_WARN="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- name: prepare
|
- name: lint
|
||||||
if: commit_message !~ /\[skip tests\]/ AND commit_message !~ /\[force[^\]]*\]/
|
|
||||||
- name: test
|
- name: test
|
||||||
if: commit_message !~ /\[skip tests\]/ AND commit_message !~ /\[force[^\]]*\]/
|
if: commit_message !~ /\[skip tests\]/
|
||||||
- name: release
|
- name: release
|
||||||
if: commit_message !~ /\[no release\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false
|
if: commit_message !~ /\[no release\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false
|
||||||
- name: update_downstream
|
- name: update_downstream
|
||||||
@@ -46,349 +47,366 @@ install: travis_retry travis_wait 40 bash scripts/travis/build.sh
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
- name: "Prepare"
|
|
||||||
stage: prepare
|
|
||||||
install: skip
|
|
||||||
script: travis_retry travis_wait 80 bash scripts/travis/prepare.sh
|
|
||||||
|
|
||||||
- name: "Source Clear Scan (SCA)"
|
|
||||||
stage: test
|
|
||||||
if: (branch = master OR branch =~ /release\/.*/) AND type != pull_request
|
|
||||||
# Run Veracode
|
|
||||||
install: skip
|
|
||||||
script: travis_wait 30 bash scripts/travis/source_clear.sh
|
|
||||||
|
|
||||||
- name: "Core, Data-Model, Repository - AllUnitTestsSuite - Build and test"
|
- name: "Core, Data-Model, Repository - AllUnitTestsSuite - Build and test"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
script:
|
script:
|
||||||
- travis_retry mvn -B test -pl core,data-model -am -DfailIfNoTests=false
|
- travis_retry mvn -B test -pl core,data-model
|
||||||
- travis_retry mvn -B test -pl "repository,mmt" -am "-Dtest=AllUnitTestsSuite,AllMmtUnitTestSuite" -DfailIfNoTests=false
|
- travis_retry mvn -B test -pl repository -Dtest=AllUnitTestsSuite
|
||||||
|
|
||||||
- name: "Repository - AppContext01TestSuite"
|
- name: "Repository - AppContext01TestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.3
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=AppContext01TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AppContext01TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - AppContext02TestSuite"
|
- name: "Repository - AppContext02TestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=AppContext02TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AppContext02TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - AppContext03TestSuite"
|
- name: "Repository - AppContext03TestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.3
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=AppContext03TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AppContext03TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - AppContext04TestSuite"
|
- name: "Repository - AppContext04TestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.3
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=AppContext04TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AppContext04TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - AppContext05TestSuite"
|
- name: "Repository - AppContext05TestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- mkdir -p "${HOME}/tmp"
|
- mkdir -p "${HOME}/tmp"
|
||||||
- cp repository/src/test/resources/realms/alfresco-realm.json "${HOME}/tmp"
|
- cp repository/src/test/resources/realms/alfresco-realm.json "${HOME}/tmp"
|
||||||
- export HOST_IP=$(hostname -I | cut -f1 -d' ')
|
- export HOST_IP=$(hostname -I | cut -f1 -d' ')
|
||||||
- docker run -d -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -e DB_VENDOR=h2 -p 8999:8080 -e KEYCLOAK_IMPORT=/tmp/alfresco-realm.json -v $HOME/tmp/alfresco-realm.json:/tmp/alfresco-realm.json alfresco/alfresco-identity-service:1.2
|
- docker run -d -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -e DB_VENDOR=h2 -p 8999:8080 -e KEYCLOAK_IMPORT=/tmp/alfresco-realm.json -v $HOME/tmp/alfresco-realm.json:/tmp/alfresco-realm.json alfresco/alfresco-identity-service:1.2
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=AppContext05TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "-Didentity-service.auth-server-url=http://${HOST_IP}:8999/auth"
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AppContext05TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "-Didentity-service.auth-server-url=http://${HOST_IP}:8999/auth"
|
||||||
|
|
||||||
- name: "Repository - AppContext06TestSuite"
|
- name: "Repository - AppContext06TestSuite"
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.3
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=AppContext06TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AppContext06TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - AppContextExtraTestSuite"
|
- name: "Repository - AppContextExtraTestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.3
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=AppContextExtraTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AppContextExtraTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - MiscContextTestSuite"
|
- name: "Repository - MiscContextTestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.3
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=MiscContextTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=MiscContextTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - SearchTestSuite"
|
- name: "Repository - SearchTestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=SearchTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco -Dindex.subsystem.name=solr6
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=SearchTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco -Dindex.subsystem.name=solr6
|
||||||
|
|
||||||
- name: "Repository - MariaDB 10.2.18 tests"
|
- name: "Repository - MariaDB 10.2.18 tests"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 3307:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mariadb:10.2.18 --transaction-isolation=READ-COMMITTED --max-connections=300 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
- docker run -d -p 3307:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mariadb:10.2.18 --transaction-isolation=READ-COMMITTED --max-connections=300 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 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
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -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: "Repository - MariaDB 10.4 tests"
|
- name: "Repository - MariaDB 10.4 tests"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 3307:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mariadb:10.4 --transaction-isolation=READ-COMMITTED --max-connections=300 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
- docker run -d -p 3307:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mariadb:10.4 --transaction-isolation=READ-COMMITTED --max-connections=300 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 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
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -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: "Repository - MariaDB 10.5 tests"
|
- name: "Repository - MariaDB 10.5 tests"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 3307:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mariadb:10.5 --transaction-isolation=READ-COMMITTED --max-connections=300 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
- docker run -d -p 3307:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mariadb:10.5 --transaction-isolation=READ-COMMITTED --max-connections=300 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 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
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -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: "Repository - MariaDB 10.6 tests"
|
- name: "Repository - MariaDB 10.6 tests"
|
||||||
|
stage: test
|
||||||
# We run tests on the latest version of MariaDB on pull requests plus the normal master and release branches - ignored on feature branches
|
# We run tests on the latest version of MariaDB on pull requests plus the normal master and release branches - ignored on feature branches
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ ) OR commit_message =~ /\[db\]/ OR commit_message =~ /\[latest db\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ ) OR commit_message =~ /\[db\]/ OR commit_message =~ /\[latest db\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 3307:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mariadb:10.6 --transaction-isolation=READ-COMMITTED --max-connections=300 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
- docker run -d -p 3307:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mariadb:10.6 --transaction-isolation=READ-COMMITTED --max-connections=300 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 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
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -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: "Repository - MySQL 5.7.23 tests"
|
||||||
|
stage: test
|
||||||
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
|
before_script:
|
||||||
|
- docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mysql:5.7.23 --transaction-isolation='READ-COMMITTED'
|
||||||
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - MySQL 8 tests"
|
- name: "Repository - MySQL 8 tests"
|
||||||
|
stage: test
|
||||||
# We run tests on the latest version of MySQL on pull requests plus the normal master and release branches - ignored on feature branches
|
# We run tests on the latest version of MySQL on pull requests plus the normal master and release branches - ignored on feature branches
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ ) OR commit_message =~ /\[db\]/ OR commit_message =~ /\[latest db\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ ) OR commit_message =~ /\[db\]/ OR commit_message =~ /\[latest db\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mysql:8 --transaction-isolation='READ-COMMITTED'
|
- docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mysql:8 --transaction-isolation='READ-COMMITTED'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 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
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - PostgreSQL 13.7 tests"
|
- name: "Repository - PostgreSQL 10.9 tests"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.7 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:10.9 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 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
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - PostgreSQL 14.4 tests"
|
- name: "Repository - PostgreSQL 11.7 tests"
|
||||||
# We only run DB tests on the latest version of PostgreSQL on feature branches
|
stage: test
|
||||||
if: commit_message !~ /\[skip db\]/ OR commit_message =~ /\[db\]/ OR commit_message =~ /\[latest db\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.7 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 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
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
|
- name: "Repository - PostgreSQL 11.12 tests"
|
||||||
|
stage: test
|
||||||
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
|
before_script:
|
||||||
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:11.12 postgres -c 'max_connections=300'
|
||||||
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
|
- name: "Repository - PostgreSQL 12.4 tests"
|
||||||
|
stage: test
|
||||||
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
|
before_script:
|
||||||
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:12.4 postgres -c 'max_connections=300'
|
||||||
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
|
- name: "Repository - PostgreSQL 12.7 tests"
|
||||||
|
stage: test
|
||||||
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
|
before_script:
|
||||||
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:12.7 postgres -c 'max_connections=300'
|
||||||
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
|
- name: "Repository - PostgreSQL 13.1 tests"
|
||||||
|
stage: test
|
||||||
|
# We only run DB tests on the latest version of PostgreSQL on feature branches
|
||||||
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/
|
||||||
|
before_script:
|
||||||
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.1 postgres -c 'max_connections=300'
|
||||||
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
|
- name: "Repository - PostgreSQL 13.3 tests"
|
||||||
|
stage: test
|
||||||
|
# We only run DB tests on the latest version of PostgreSQL on feature branches
|
||||||
|
if: commit_message !~ /\[skip db\]/ OR commit_message =~ /\[latest db\]/
|
||||||
|
before_script:
|
||||||
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=AllDBTestsTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Repository - Messaging tests"
|
- name: "Repository - Messaging tests"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false
|
script: travis_wait 20 mvn -B test -pl repository -Dtest=CamelRoutesTest,CamelComponentsTest
|
||||||
|
|
||||||
- name: "Remote-api - AppContext01TestSuite"
|
- name: "Remote-api - AppContext01TestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContext01TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContext01TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Remote-api - AppContext02TestSuite"
|
- name: "Remote-api - AppContext02TestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.3
|
||||||
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContext02TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContext02TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Remote-api - AppContext03TestSuite"
|
- name: "Remote-api - AppContext03TestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.3
|
||||||
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContext03TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContext03TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Remote-api - AppContext04TestSuite"
|
- name: "Remote-api - AppContext04TestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.3
|
||||||
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContext04TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContext04TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "Remote-api - AppContextExtraTestSuite"
|
- name: "Remote-api - AppContextExtraTestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
- docker run -d -p 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1
|
||||||
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContextExtraTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
script: travis_wait 20 mvn -B test -pl remote-api -Dtest=AppContextExtraTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "REST API TAS tests part1"
|
- name: "REST API TAS tests part1"
|
||||||
|
stage: test
|
||||||
# TAS tests are generally skipped on feature branches as they will be repeated on the enterprise repo or community packaging builds
|
# TAS tests are generally skipped on feature branches as they will be repeated on the enterprise repo or community packaging builds
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||||
script: travis_wait 60 mvn -B verify -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false
|
script: travis_wait 60 mvn -B install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false
|
||||||
after_failure: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/tas-restapi"
|
|
||||||
|
|
||||||
- name: "REST API TAS tests part2"
|
- name: "REST API TAS tests part2"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||||
script: travis_wait 60 mvn -B verify -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false
|
script: travis_wait 60 mvn -B install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false
|
||||||
after_failure: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/tas-restapi"
|
|
||||||
|
|
||||||
- name: "REST API TAS tests part3"
|
- name: "REST API TAS tests part3"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||||
script: travis_wait 60 mvn -B verify -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false
|
script: travis_wait 60 mvn -B install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false
|
||||||
after_failure: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/tas-restapi"
|
|
||||||
|
|
||||||
- name: "CMIS TAS tests - BROWSER binding"
|
- name: "CMIS TAS tests - BROWSER binding"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||||
script: travis_wait 40 mvn -B verify -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-browser -Denvironment=default -DrunBugs=false
|
script: travis_wait 40 mvn -B install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-browser -Denvironment=default -DrunBugs=false
|
||||||
after_failure: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/tas-cmis"
|
|
||||||
|
|
||||||
- name: "CMIS TAS tests - ATOM binding"
|
- name: "CMIS TAS tests - ATOM binding"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||||
script: travis_wait 40 mvn -B verify -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-atom -Denvironment=default -DrunBugs=false
|
script: travis_wait 40 mvn -B install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-atom -Denvironment=default -DrunBugs=false
|
||||||
after_failure: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/tas-cmis"
|
|
||||||
|
|
||||||
- name: "CMIS TAS tests - WEBSERVICES binding"
|
- name: "CMIS TAS tests - WEBSERVICES binding"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||||
script: travis_wait 40 mvn -B verify -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-webservices -Denvironment=default -DrunBugs=false
|
script: travis_wait 40 mvn -B install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-webservices -Denvironment=default -DrunBugs=false
|
||||||
after_failure: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/tas-cmis"
|
|
||||||
|
|
||||||
- name: "Email TAS tests"
|
- name: "Email TAS tests"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||||
script: travis_wait 30 mvn -B verify -f packaging/tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
script: travis_wait 30 mvn -B install -f packaging/tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
||||||
after_failure: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/tas-email"
|
|
||||||
|
|
||||||
- name: "WebDAV TAS tests"
|
- name: "WebDAV TAS tests"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||||
script: travis_wait 30 mvn -B verify -f packaging/tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
script: travis_wait 30 mvn -B install -f packaging/tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
||||||
after_failure: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/tas-webdav"
|
|
||||||
|
|
||||||
- name: "Integration TAS tests"
|
- name: "Integration TAS tests"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip tas\]/) OR commit_message =~ /\[tas\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||||
- travis_retry travis_wait 40 mvn install -pl :alfresco-community-repo-integration-test -am -DskipTests -Pall-tas-tests
|
script: travis_wait 30 mvn -B install -f packaging/tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
||||||
script: travis_wait 30 mvn -B verify -f packaging/tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
|
|
||||||
after_failure: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/tas-integration"
|
|
||||||
|
|
||||||
- name: "Share Services - ShareServicesTestSuite"
|
- name: "Share Services - ShareServicesTestSuite"
|
||||||
|
stage: test
|
||||||
if: commit_message !~ /\[skip repo\]/
|
if: commit_message !~ /\[skip repo\]/
|
||||||
install: skip
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:14.4 postgres -c 'max_connections=300'
|
- docker run -d -p 5433:5432 -e POSTGRES_PASSWORD=alfresco -e POSTGRES_USER=alfresco -e POSTGRES_DB=alfresco postgres:13.3 postgres -c 'max_connections=300'
|
||||||
script: travis_wait 20 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
|
script: travis_wait 20 mvn -B test -pl :alfresco-share-services -Dtest=ShareServicesTestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
|
||||||
- name: "AGS Unit & Integration Tests 01 (PostgreSQL)"
|
- name: "AGS Unit & Integration Tests 01 (PostgreSQL)"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt1 -f amps/ags/pom.xml ${LOG_WARN}
|
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt1 -f amps/ags/pom.xml ${LOG_WARN}
|
||||||
|
|
||||||
- name: "AGS Integration Tests 02 (PostgreSQL)"
|
- name: "AGS Integration Tests 02 (PostgreSQL)"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt2 -f amps/ags/pom.xml ${LOG_WARN}
|
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt2 -f amps/ags/pom.xml ${LOG_WARN}
|
||||||
|
|
||||||
- name: "AGS Integration Tests 03 (PostgreSQL)"
|
- name: "AGS Integration Tests 03 (PostgreSQL)"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt3 -f amps/ags/pom.xml ${LOG_WARN}
|
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt3 -f amps/ags/pom.xml ${LOG_WARN}
|
||||||
|
|
||||||
- name: "AGS Unit & Integration Tests 04 (PostgreSQL)"
|
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt4 -f amps/ags/pom.xml ${LOG_WARN}
|
|
||||||
|
|
||||||
- name: "AGS Unit & Integration Tests 01 (MySQL) "
|
- name: "AGS Unit & Integration Tests 01 (MySQL) "
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags on MySQL\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags on MySQL\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt1 -f amps/ags/pom.xml ${LOG_WARN}
|
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt1 -f amps/ags/pom.xml ${LOG_WARN}
|
||||||
|
|
||||||
- name: "AGS Integration Tests 02 (MySQL) "
|
- name: "AGS Integration Tests 02 (MySQL) "
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags on MySQL\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags on MySQL\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt2 -f amps/ags/pom.xml ${LOG_WARN}
|
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt2 -f amps/ags/pom.xml ${LOG_WARN}
|
||||||
|
|
||||||
- name: "AGS Integration Tests 03 (MySQL) "
|
- name: "AGS Integration Tests 03 (MySQL) "
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
stage: test
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags on MySQL\]/
|
||||||
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt3 -f amps/ags/pom.xml ${LOG_WARN}
|
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt3 -f amps/ags/pom.xml ${LOG_WARN}
|
||||||
|
|
||||||
- name: "AGS Unit & Integration Tests 04 (MySQL) "
|
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags on MySQL\]/
|
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh
|
|
||||||
script: travis_retry travis_wait 80 mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt4 -f amps/ags/pom.xml ${LOG_WARN}
|
|
||||||
|
|
||||||
- name: "AGS Community Rest API Tests"
|
- name: "AGS Community Rest API Tests"
|
||||||
|
stage: test
|
||||||
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip ags\]/) OR commit_message =~ /\[ags\]/
|
||||||
install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh
|
|
||||||
addons:
|
addons:
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
@@ -399,12 +417,11 @@ jobs:
|
|||||||
before_script:
|
before_script:
|
||||||
- ${TAS_SCRIPTS}/start-compose.sh ./amps/ags/rm-community/rm-community-repo/docker-compose.yml
|
- ${TAS_SCRIPTS}/start-compose.sh ./amps/ags/rm-community/rm-community-repo/docker-compose.yml
|
||||||
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8080/alfresco"
|
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8080/alfresco"
|
||||||
script: travis_wait 40 mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -am -DfailIfNoTests=false -Dskip.automationtests=false -Pags
|
script: travis_wait 40 mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -Dskip.automationtests=false -Pags
|
||||||
after_script: bash amps/ags/travis/scripts/getLogs.sh
|
after_script: bash amps/ags/travis/scripts/getLogs.sh
|
||||||
|
|
||||||
- name: "Push to Nexus"
|
- name: "Push to Nexus"
|
||||||
stage: release
|
stage: release
|
||||||
install: skip
|
|
||||||
before_script: bash scripts/travis/verify_release_tag.sh
|
before_script: bash scripts/travis/verify_release_tag.sh
|
||||||
script: travis_wait 40 bash scripts/travis/maven_release.sh
|
script: travis_wait 40 bash scripts/travis/maven_release.sh
|
||||||
|
|
||||||
|
|||||||
76
README.md
76
README.md
@@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
[](https://travis-ci.com/Alfresco/alfresco-community-repo)
|
[](https://travis-ci.com/Alfresco/alfresco-community-repo)
|
||||||
|
|
||||||
|
This project contains the bulk of the [Alfresco Content Services Repository](https://community.alfresco.com/docs/DOC-6385-project-overview-repository) code.
|
||||||
|
|
||||||
|
To make the development process simpler, it brings together code historically in `alfresco-core`,
|
||||||
|
`alfresco-data-madel`, `alfresco-repository`, `alfresco-remote-api` and repository specific
|
||||||
|
tests and war file creation from `acs-community-packaging`. They exist as sub projects within the Maven Reactor and still
|
||||||
|
create the same artifacts.
|
||||||
|
|
||||||
#### Alfresco Core
|
#### Alfresco Core
|
||||||
|
|
||||||
Alfresco 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:
|
||||||
@@ -9,6 +16,8 @@ Alfresco Core is a library packaged as a jar file which contains the following:
|
|||||||
* Canned queries interface and supporting classes
|
* Canned queries interface and supporting classes
|
||||||
* Generic encryption supporting classes
|
* Generic encryption supporting classes
|
||||||
|
|
||||||
|
Version 7 of the library uses Spring 5, Quartz 2.3 and does not have Hibernate dependency.
|
||||||
|
|
||||||
#### 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
|
||||||
@@ -22,6 +31,14 @@ Repository is a library packaged as a jar file which contains the following:
|
|||||||
* Various Service implementations
|
* Various Service implementations
|
||||||
* Utility classes
|
* Utility classes
|
||||||
|
|
||||||
|
Tests are combined into test classes split by test type or Spring application context used in the test, see classes
|
||||||
|
in _src/test/java/org/alfresco_. All of these classes as well as individual tests can be run by specifying the test
|
||||||
|
class name and a set of DB connection properties. Check the travis.yml file for docker images that should be started
|
||||||
|
to provide a suitable test environment. For example:
|
||||||
|
~~~
|
||||||
|
mvn clean test -Dtest=SomeRepoTest -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql:alfresco -Ddb.username=alfresco -Ddb.password=alfresco
|
||||||
|
~~~
|
||||||
|
|
||||||
#### 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:
|
||||||
@@ -29,10 +46,13 @@ Remote API is a library packaged as a jar file which contains the following:
|
|||||||
* WebScript implementations including [V1 REST APIs](https://community.alfresco.com/community/ecm/blog/2017/05/02/v1-rest-api-10-things-you-should-know)
|
* 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
|
||||||
|
|
||||||
|
Like the `alfresco-repository` tests are combined in test classes split by test type or Spring application context used
|
||||||
|
in the test.
|
||||||
|
|
||||||
#### Artifacts
|
#### Artifacts
|
||||||
The artifacts can be obtained by:
|
The artifacts can be obtained by:
|
||||||
* downloading from [Alfresco maven repository](https://artifacts.alfresco.com/nexus/content/groups/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:
|
* getting as Maven dependency by adding the dependency to your pom file:
|
||||||
~~~
|
~~~
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
@@ -74,24 +94,40 @@ and Alfresco maven 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
|
All current source versions are held in github. Historic versions can be found in [Alfresco SVN](https://svn.alfresco.com/repos/alfresco-open-mirror/services/alfresco-core/)
|
||||||
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.
|
|
||||||
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
|
|
||||||
This project has a branch for each ACS release. For example the code in ACS 6.2.1 is a
|
|
||||||
branch called `releases/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
|
|
||||||
`releases/7.1.N` on which we gather unreleased fixes for future service pack releases. They do not indicate
|
|
||||||
that one is planned.
|
|
||||||
|
|
||||||
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>`.
|
|
||||||
|
|
||||||
The enterprise projects which extend the `alfresco-community-repo` use the same branch names and leading
|
|
||||||
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.
|
||||||
|
|
||||||
|
## Setting up your development environment
|
||||||
|
Although it is possible to work on individual github projects, we recommend working on the `alfresco-community-repo`
|
||||||
|
and `acs-community-packaging` in a single Intellij IDEA project. They depend on each other and typically you will
|
||||||
|
want to make changes to both of them if you are changing the repository code.
|
||||||
|
|
||||||
|
~~~
|
||||||
|
mkdir work
|
||||||
|
cd work
|
||||||
|
git clone git@github.com:Alfresco/alfresco-community-repo.git
|
||||||
|
git clone git@github.com:Alfresco/acs-community-packaging.git
|
||||||
|
~~~
|
||||||
|
If you wish to build these projects from the command line, use the following commands.
|
||||||
|
~~~
|
||||||
|
cd alfresco-community-repo
|
||||||
|
mvn clean install -Pbuild-docker-images -DskipTests=true -Dversion.edition=Community
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
cd acs-community-packaging
|
||||||
|
mvn clean install -Pbuild-docker-images -Dmaven.javadoc.skip=true
|
||||||
|
cd ..
|
||||||
|
~~~
|
||||||
|
In Intellij IDEA, create a new project using the `work` directory as the source.
|
||||||
|
* File > New Project from Existing Sources > .../work > Maven
|
||||||
|
|
||||||
|
## Branches
|
||||||
|
As multiple projects have been combined, branch names use the ACS version they are targeting.
|
||||||
|
For example the code used to create the repository in ACS 6.2.1 is a branch called `releases/6.2.1`.
|
||||||
|
|
||||||
|
The actual version number of the **repository artifacts** created by `alfresco-community-repo` are however different.
|
||||||
|
For example `release/6.2.1` artifacts are `7.183.x`. This adds some complexity, but ensures that
|
||||||
|
version numbers do not go backwards in existing releases. It also provides some level of
|
||||||
|
independence between the repository and other ACS components.
|
||||||
|
|||||||
@@ -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>19.2</version>
|
<version>14.15-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
@@ -21,7 +21,6 @@
|
|||||||
|
|
||||||
<license.update.dryrun>true</license.update.dryrun>
|
<license.update.dryrun>true</license.update.dryrun>
|
||||||
<license.verbose>false</license.verbose>
|
<license.verbose>false</license.verbose>
|
||||||
<license.failOnNotUptodateHeader>true</license.failOnNotUptodateHeader>
|
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@@ -30,20 +29,16 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<!-- Keeping illegal-access=permit for Java 11 compatibility, even though it has no effect on JDK 17 -->
|
|
||||||
<argLine>
|
<argLine>
|
||||||
--illegal-access=permit
|
--illegal-access=permit
|
||||||
--add-opens=java.base/java.lang=ALL-UNNAMED
|
|
||||||
</argLine>
|
</argLine>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-failsafe-plugin</artifactId>
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||||||
<!-- Keeping illegal-access=permit for Java 11 compatibility, even though it has no effect on JDK 17 -->
|
|
||||||
<configuration>
|
<configuration>
|
||||||
<argLine>
|
<argLine>
|
||||||
--illegal-access=permit
|
--illegal-access=permit
|
||||||
--add-opens=java.base/java.lang=ALL-UNNAMED
|
|
||||||
</argLine>
|
</argLine>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
@@ -51,49 +46,50 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>license-maven-plugin</artifactId>
|
<artifactId>license-maven-plugin</artifactId>
|
||||||
|
<version>1.16</version>
|
||||||
|
<configuration>
|
||||||
|
<verbose>${license.verbose}</verbose>
|
||||||
|
<addSvnKeyWords>false</addSvnKeyWords>
|
||||||
|
<addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
|
||||||
|
|
||||||
|
<!-- header configuration -->
|
||||||
|
<organizationName>Alfresco Software Limited</organizationName>
|
||||||
|
<descriptionTemplate>${project.parent.parent.basedir}/license/description.ftl</descriptionTemplate>
|
||||||
|
<canUpdateCopyright>true</canUpdateCopyright>
|
||||||
|
<canUpdateDescription>true</canUpdateDescription>
|
||||||
|
|
||||||
|
<!-- licence configuration -->
|
||||||
|
<licenseResolver>file:${project.parent.parent.basedir}/license</licenseResolver>
|
||||||
|
|
||||||
|
<!-- dry run options -->
|
||||||
|
<dryRun>${license.update.dryrun}</dryRun>
|
||||||
|
<failOnMissingHeader>true</failOnMissingHeader>
|
||||||
|
<failOnNotUptodateHeader>true</failOnNotUptodateHeader>
|
||||||
|
|
||||||
|
<!-- default root -->
|
||||||
|
<roots>
|
||||||
|
<root>src</root>
|
||||||
|
</roots>
|
||||||
|
|
||||||
|
<!-- exculsions -->
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/package-info.java</exclude>
|
||||||
|
<exclude>**/*.properties</exclude>
|
||||||
|
<exclude>**/*.css</exclude>
|
||||||
|
<exclude>**/*.xml</exclude>
|
||||||
|
<exclude>**/*.json</exclude>
|
||||||
|
<exclude>**/*.txt</exclude>
|
||||||
|
<exclude>**/*.html</exclude>
|
||||||
|
</excludes>
|
||||||
|
|
||||||
|
</configuration>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>first</id>
|
<id>first</id>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>update-file-header</goal>
|
<goal>update-file-header</goal>
|
||||||
</goals>
|
</goals>
|
||||||
<phase>none</phase>
|
<phase>process-sources</phase>
|
||||||
<configuration>
|
|
||||||
<verbose>${license.verbose}</verbose>
|
|
||||||
<addSvnKeyWords>false</addSvnKeyWords>
|
|
||||||
<addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
|
|
||||||
|
|
||||||
<!-- header configuration -->
|
|
||||||
<organizationName>Alfresco Software Limited</organizationName>
|
|
||||||
<descriptionTemplate>${project.parent.parent.basedir}/license/description.ftl</descriptionTemplate>
|
|
||||||
<canUpdateCopyright>true</canUpdateCopyright>
|
|
||||||
<canUpdateDescription>true</canUpdateDescription>
|
|
||||||
|
|
||||||
<!-- license configuration -->
|
|
||||||
<licenseResolver>file:${project.parent.parent.basedir}/license</licenseResolver>
|
|
||||||
|
|
||||||
<!-- dry run options -->
|
|
||||||
<dryRun>${license.update.dryrun}</dryRun>
|
|
||||||
<failOnMissingHeader>true</failOnMissingHeader>
|
|
||||||
<failOnNotUptodateHeader>${license.failOnNotUptodateHeader}</failOnNotUptodateHeader>
|
|
||||||
|
|
||||||
<!-- default root -->
|
|
||||||
<roots>
|
|
||||||
<root>src</root>
|
|
||||||
</roots>
|
|
||||||
|
|
||||||
<!-- exclusions -->
|
|
||||||
<excludes>
|
|
||||||
<exclude>**/package-info.java</exclude>
|
|
||||||
<exclude>**/*.properties</exclude>
|
|
||||||
<exclude>**/*.css</exclude>
|
|
||||||
<exclude>**/*.xml</exclude>
|
|
||||||
<exclude>**/*.json</exclude>
|
|
||||||
<exclude>**/*.txt</exclude>
|
|
||||||
<exclude>**/*.html</exclude>
|
|
||||||
</excludes>
|
|
||||||
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|||||||
@@ -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>19.2</version>
|
<version>14.15-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
@@ -37,16 +37,6 @@
|
|||||||
<skipTests>${skip.automationtests}</skipTests>
|
<skipTests>${skip.automationtests}</skipTests>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
|
||||||
<artifactId>license-maven-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>third-party-licenses</id>
|
|
||||||
<phase>none</phase>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -7,25 +7,20 @@
|
|||||||
<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>19.2</version>
|
<version>14.15-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>license-maven-plugin</artifactId>
|
<artifactId>license-maven-plugin</artifactId>
|
||||||
<executions>
|
<configuration>
|
||||||
<execution>
|
<licenseName>alfresco_community</licenseName>
|
||||||
<id>first</id>
|
<licenseResolver>file:${project.parent.parent.basedir}/license</licenseResolver>
|
||||||
<phase>process-sources</phase>
|
<descriptionTemplate>${project.parent.parent.basedir}/license/description.ftl</descriptionTemplate>
|
||||||
<configuration>
|
</configuration>
|
||||||
<licenseName>alfresco_community</licenseName>
|
|
||||||
<licenseResolver>file:${project.parent.parent.basedir}/license</licenseResolver>
|
|
||||||
<descriptionTemplate>${project.parent.parent.basedir}/license/description.ftl</descriptionTemplate>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
@@ -44,8 +39,8 @@
|
|||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
<artifactId>slf4j-reload4j</artifactId>
|
<artifactId>slf4j-log4j12</artifactId>
|
||||||
<version>${dependency.slf4j.version}</version>
|
<version>1.7.32</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -87,7 +82,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.docker-java</groupId>
|
<groupId>com.github.docker-java</groupId>
|
||||||
<artifactId>docker-java</artifactId>
|
<artifactId>docker-java</artifactId>
|
||||||
<version>3.2.13</version>
|
<version>3.2.12</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,12 +26,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.core;
|
package org.alfresco.rest.core;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.PropertySource;
|
import org.springframework.context.annotation.PropertySource;
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extends {@link RestProperties} to be able to change/add properties
|
* Extends {@link RestProperties} to be able to change/add properties
|
||||||
*
|
*
|
||||||
@@ -40,23 +39,31 @@ import lombok.Getter;
|
|||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Configuration
|
@Configuration
|
||||||
@PropertySource(value = {"classpath:default.properties", "classpath:config.properties"})
|
@PropertySource(
|
||||||
@PropertySource(value = "classpath:module.properties", ignoreResourceNotFound = true)
|
value = { "classpath:default.properties", "classpath:config.properties" }
|
||||||
@PropertySource(value = "classpath:local.properties", ignoreResourceNotFound = true)
|
)
|
||||||
public class RMRestProperties extends RestProperties
|
@PropertySource(
|
||||||
{
|
value = "classpath:module.properties",
|
||||||
@Value ("${alfresco.scheme}")
|
ignoreResourceNotFound = true
|
||||||
|
)
|
||||||
|
@PropertySource(
|
||||||
|
value = "classpath:local.properties",
|
||||||
|
ignoreResourceNotFound = true
|
||||||
|
)
|
||||||
|
public class RMRestProperties extends RestProperties {
|
||||||
|
|
||||||
|
@Value("${alfresco.scheme}")
|
||||||
private String scheme;
|
private String scheme;
|
||||||
|
|
||||||
@Value ("${alfresco.server}")
|
@Value("${alfresco.server}")
|
||||||
private String server;
|
private String server;
|
||||||
|
|
||||||
@Value ("${alfresco.port}")
|
@Value("${alfresco.port}")
|
||||||
private String port;
|
private String port;
|
||||||
|
|
||||||
@Value ("${rest.rmPath}")
|
@Value("${rest.rmPath}")
|
||||||
private String restRmPath;
|
private String restRmPath;
|
||||||
|
|
||||||
@Value ("${docker.host}")
|
@Value("${docker.host}")
|
||||||
private String dockerHost;
|
private String dockerHost;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
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.alfresco.rest.exception.EmptyJsonResponseException;
|
import org.alfresco.rest.exception.EmptyJsonResponseException;
|
||||||
import org.alfresco.rest.model.RestErrorModel;
|
import org.alfresco.rest.model.RestErrorModel;
|
||||||
import org.alfresco.rest.model.RestHtmlResponse;
|
import org.alfresco.rest.model.RestHtmlResponse;
|
||||||
@@ -43,8 +43,6 @@ import org.springframework.context.annotation.Scope;
|
|||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.stereotype.Service;
|
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
|
||||||
*
|
*
|
||||||
@@ -53,8 +51,8 @@ import lombok.Getter;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@Scope(value = "prototype")
|
@Scope(value = "prototype")
|
||||||
public class RMRestWrapper
|
public class RMRestWrapper {
|
||||||
{
|
|
||||||
/** The class that wraps the ReST APIs from core. */
|
/** The class that wraps the ReST APIs from core. */
|
||||||
@Autowired
|
@Autowired
|
||||||
private RestWrapper restWrapper;
|
private RestWrapper restWrapper;
|
||||||
@@ -63,92 +61,77 @@ public class RMRestWrapper
|
|||||||
@Getter
|
@Getter
|
||||||
private RMRestProperties rmRestProperties;
|
private RMRestProperties rmRestProperties;
|
||||||
|
|
||||||
public GSCoreAPI withGSCoreAPI()
|
public GSCoreAPI withGSCoreAPI() {
|
||||||
{
|
|
||||||
return new GSCoreAPI(this, getRmRestProperties());
|
return new GSCoreAPI(this, getRmRestProperties());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get the core class that wraps the ReST APIs. */
|
/** Get the core class that wraps the ReST APIs. */
|
||||||
public RestWrapper getRestWrapper()
|
public RestWrapper getRestWrapper() {
|
||||||
{
|
|
||||||
return restWrapper;
|
return restWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Authenticate specific user to Alfresco REST API */
|
/** Authenticate specific user to Alfresco REST API */
|
||||||
public void authenticateUser(UserModel userModel)
|
public void authenticateUser(UserModel userModel) {
|
||||||
{
|
|
||||||
restWrapper.authenticateUser(userModel);
|
restWrapper.authenticateUser(userModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get the last error thrown (if any). */
|
/** Get the last error thrown (if any). */
|
||||||
public RestErrorModel assertLastError()
|
public RestErrorModel assertLastError() {
|
||||||
{
|
|
||||||
return restWrapper.assertLastError();
|
return restWrapper.assertLastError();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Process responses for a collection of models as {@link RestSiteModelsCollection}. */
|
/** Process responses for a collection of models as {@link RestSiteModelsCollection}. */
|
||||||
public <T> T processModels(Class<T> classz, RestRequest simpleRequest)
|
public <T> T processModels(Class<T> classz, RestRequest simpleRequest) {
|
||||||
{
|
|
||||||
return restWrapper.processModels(classz, simpleRequest);
|
return restWrapper.processModels(classz, simpleRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Process responses for a single model as {@link RestSiteModel}. */
|
/** Process responses for a single model as {@link RestSiteModel}. */
|
||||||
public <T> T processModel(Class<T> classz, RestRequest restRequest)
|
public <T> T processModel(Class<T> classz, RestRequest restRequest) {
|
||||||
{
|
|
||||||
return restWrapper.processModel(classz, restRequest);
|
return restWrapper.processModel(classz, restRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Process a response that has no body - basically will need only the status code from it. */
|
/** Process a response that has no body - basically will need only the status code from it. */
|
||||||
public void processEmptyModel(RestRequest simpleRequest)
|
public void processEmptyModel(RestRequest simpleRequest) {
|
||||||
{
|
|
||||||
restWrapper.processEmptyModel(simpleRequest);
|
restWrapper.processEmptyModel(simpleRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get the most recently returned status object. */
|
/** Get the most recently returned status object. */
|
||||||
public StatusModel getLastStatus()
|
public StatusModel getLastStatus() {
|
||||||
{
|
|
||||||
return restWrapper.getLastStatus();
|
return restWrapper.getLastStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get the most recently returned status code. */
|
/** Get the most recently returned status code. */
|
||||||
public String getStatusCode()
|
public String getStatusCode() {
|
||||||
{
|
|
||||||
return restWrapper.getStatusCode();
|
return restWrapper.getStatusCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Set the status code. This should only be needed when calling APIs without using the TAS framework. */
|
/** Set the status code. This should only be needed when calling APIs without using the TAS framework. */
|
||||||
public void setStatusCode(String statusCode)
|
public void setStatusCode(String statusCode) {
|
||||||
{
|
|
||||||
restWrapper.setStatusCode(statusCode);
|
restWrapper.setStatusCode(statusCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Assert that a specific status code is returned. */
|
/** Assert that a specific status code is returned. */
|
||||||
public void assertStatusCodeIs(HttpStatus statusCode)
|
public void assertStatusCodeIs(HttpStatus statusCode) {
|
||||||
{
|
|
||||||
restWrapper.assertStatusCodeIs(statusCode);
|
restWrapper.assertStatusCodeIs(statusCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return A parameters string that you could pass on the request ?param=value */
|
/** @return A parameters string that you could pass on the request ?param=value */
|
||||||
public String getParameters()
|
public String getParameters() {
|
||||||
{
|
|
||||||
return restWrapper.getParameters();
|
return restWrapper.getParameters();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Create a {@link UserModel} for a new test user. */
|
/** Create a {@link UserModel} for a new test user. */
|
||||||
public UserModel getTestUser()
|
public UserModel getTestUser() {
|
||||||
{
|
|
||||||
return restWrapper.getTestUser();
|
return restWrapper.getTestUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get the Alfresco Core API. */
|
/** Get the Alfresco Core API. */
|
||||||
public RestCoreAPI withCoreAPI()
|
public RestCoreAPI withCoreAPI() {
|
||||||
{
|
|
||||||
return restWrapper.withCoreAPI();
|
return restWrapper.withCoreAPI();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get the Alfresco Search API. */
|
/** Get the Alfresco Search API. */
|
||||||
public SearchAPI withSearchAPI()
|
public SearchAPI withSearchAPI() {
|
||||||
{
|
|
||||||
return restWrapper.withSearchAPI();
|
return restWrapper.withSearchAPI();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,8 +146,7 @@ public class RMRestWrapper
|
|||||||
* restClient.withCoreAPI().usingNode(ContentModel.my()).createNode();
|
* restClient.withCoreAPI().usingNode(ContentModel.my()).createNode();
|
||||||
* </pre> This will create the node using the multipart data defined.
|
* </pre> This will create the node using the multipart data defined.
|
||||||
*/
|
*/
|
||||||
public RequestSpecBuilder configureRequestSpec()
|
public RequestSpecBuilder configureRequestSpec() {
|
||||||
{
|
|
||||||
return restWrapper.configureRequestSpec();
|
return restWrapper.configureRequestSpec();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -173,8 +155,7 @@ public class RMRestWrapper
|
|||||||
*
|
*
|
||||||
* @throws EmptyJsonResponseException If there is no response from the server.
|
* @throws EmptyJsonResponseException If there is no response from the server.
|
||||||
*/
|
*/
|
||||||
public RestHtmlResponse processHtmlResponse(RestRequest simpleRequest)
|
public RestHtmlResponse processHtmlResponse(RestRequest simpleRequest) {
|
||||||
{
|
|
||||||
return restWrapper.processHtmlResponse(simpleRequest);
|
return restWrapper.processHtmlResponse(simpleRequest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -29,7 +29,6 @@ package org.alfresco.rest.core;
|
|||||||
import static lombok.AccessLevel.PROTECTED;
|
import static lombok.AccessLevel.PROTECTED;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.alfresco.rest.requests.Node;
|
import org.alfresco.rest.requests.Node;
|
||||||
@@ -63,10 +62,10 @@ import org.springframework.stereotype.Service;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@Scope(value = "prototype")
|
@Scope(value = "prototype")
|
||||||
public class RestAPIFactory
|
public class RestAPIFactory {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@Getter (value = PROTECTED)
|
@Getter(value = PROTECTED)
|
||||||
private DataUserAIS dataUser;
|
private DataUserAIS dataUser;
|
||||||
|
|
||||||
@Resource(name = "RMRestWrapper")
|
@Resource(name = "RMRestWrapper")
|
||||||
@@ -74,173 +73,149 @@ public class RestAPIFactory
|
|||||||
@Setter
|
@Setter
|
||||||
private RMRestWrapper rmRestWrapper;
|
private RMRestWrapper rmRestWrapper;
|
||||||
|
|
||||||
private GSCoreAPI getGSCoreAPI(UserModel userModel)
|
private GSCoreAPI getGSCoreAPI(UserModel userModel) {
|
||||||
{
|
getRmRestWrapper()
|
||||||
getRmRestWrapper().authenticateUser(userModel != null ? userModel : getDataUser().getAdminUser());
|
.authenticateUser(
|
||||||
|
userModel != null ? userModel : getDataUser().getAdminUser()
|
||||||
|
);
|
||||||
return getRmRestWrapper().withGSCoreAPI();
|
return getRmRestWrapper().withGSCoreAPI();
|
||||||
}
|
}
|
||||||
|
|
||||||
private RestCoreAPI getCoreAPI(UserModel userModel)
|
private RestCoreAPI getCoreAPI(UserModel userModel) {
|
||||||
{
|
getRmRestWrapper()
|
||||||
getRmRestWrapper().authenticateUser(userModel != null ? userModel : getDataUser().getAdminUser());
|
.authenticateUser(
|
||||||
|
userModel != null ? userModel : getDataUser().getAdminUser()
|
||||||
|
);
|
||||||
return getRmRestWrapper().withCoreAPI();
|
return getRmRestWrapper().withCoreAPI();
|
||||||
}
|
}
|
||||||
|
|
||||||
public SearchAPI getSearchAPI(UserModel userModel)
|
public SearchAPI getSearchAPI(UserModel userModel) {
|
||||||
{
|
getRmRestWrapper()
|
||||||
getRmRestWrapper().authenticateUser(userModel != null ? userModel : getDataUser().getAdminUser());
|
.authenticateUser(
|
||||||
|
userModel != null ? userModel : getDataUser().getAdminUser()
|
||||||
|
);
|
||||||
return getRmRestWrapper().withSearchAPI();
|
return getRmRestWrapper().withSearchAPI();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When no user is given the default is set to admin
|
* When no user is given the default is set to admin
|
||||||
*/
|
*/
|
||||||
public SearchAPI getSearchAPI()
|
public SearchAPI getSearchAPI() {
|
||||||
{
|
|
||||||
return getSearchAPI(null);
|
return getSearchAPI(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Node getNodeAPI(RepoTestModel model) throws RuntimeException
|
public Node getNodeAPI(RepoTestModel model) throws RuntimeException {
|
||||||
{
|
try {
|
||||||
try
|
|
||||||
{
|
|
||||||
return getCoreAPI(null).usingNode(model);
|
return getCoreAPI(null).usingNode(model);
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new RuntimeException("Failed to load nodeAPI.", e);
|
throw new RuntimeException("Failed to load nodeAPI.", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Node getNodeAPI(UserModel userModel, RepoTestModel model) throws RuntimeException
|
public Node getNodeAPI(UserModel userModel, RepoTestModel model)
|
||||||
{
|
throws RuntimeException {
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
return getCoreAPI(userModel).usingNode(model);
|
return getCoreAPI(userModel).usingNode(model);
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new RuntimeException("Failed to load nodeAPI.", e);
|
throw new RuntimeException("Failed to load nodeAPI.", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public RMSiteAPI getRMSiteAPI()
|
public RMSiteAPI getRMSiteAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingRMSite();
|
return getGSCoreAPI(null).usingRMSite();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RMSiteAPI getRMSiteAPI(UserModel userModel)
|
public RMSiteAPI getRMSiteAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingRMSite();
|
return getGSCoreAPI(userModel).usingRMSite();
|
||||||
}
|
}
|
||||||
|
|
||||||
public FilePlanAPI getFilePlansAPI()
|
public FilePlanAPI getFilePlansAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingFilePlans();
|
return getGSCoreAPI(null).usingFilePlans();
|
||||||
}
|
}
|
||||||
|
|
||||||
public FilePlanAPI getFilePlansAPI(UserModel userModel)
|
public FilePlanAPI getFilePlansAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingFilePlans();
|
return getGSCoreAPI(userModel).usingFilePlans();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecordCategoryAPI getRecordCategoryAPI()
|
public RecordCategoryAPI getRecordCategoryAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingRecordCategory();
|
return getGSCoreAPI(null).usingRecordCategory();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecordCategoryAPI getRecordCategoryAPI(UserModel userModel)
|
public RecordCategoryAPI getRecordCategoryAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingRecordCategory();
|
return getGSCoreAPI(userModel).usingRecordCategory();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecordFolderAPI getRecordFolderAPI()
|
public RecordFolderAPI getRecordFolderAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingRecordFolder();
|
return getGSCoreAPI(null).usingRecordFolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecordFolderAPI getRecordFolderAPI(UserModel userModel)
|
public RecordFolderAPI getRecordFolderAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingRecordFolder();
|
return getGSCoreAPI(userModel).usingRecordFolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecordsAPI getRecordsAPI()
|
public RecordsAPI getRecordsAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingRecords();
|
return getGSCoreAPI(null).usingRecords();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecordsAPI getRecordsAPI(UserModel userModel)
|
public RecordsAPI getRecordsAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingRecords();
|
return getGSCoreAPI(userModel).usingRecords();
|
||||||
}
|
}
|
||||||
|
|
||||||
public FilesAPI getFilesAPI()
|
public FilesAPI getFilesAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingFiles();
|
return getGSCoreAPI(null).usingFiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
public FilesAPI getFilesAPI(UserModel userModel)
|
public FilesAPI getFilesAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingFiles();
|
return getGSCoreAPI(userModel).usingFiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TransferContainerAPI getTransferContainerAPI()
|
public TransferContainerAPI getTransferContainerAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingTransferContainer();
|
return getGSCoreAPI(null).usingTransferContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TransferContainerAPI getTransferContainerAPI(UserModel userModel)
|
public TransferContainerAPI getTransferContainerAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingTransferContainer();
|
return getGSCoreAPI(userModel).usingTransferContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TransferAPI getTransferAPI()
|
public TransferAPI getTransferAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingTransfer();
|
return getGSCoreAPI(null).usingTransfer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TransferAPI getTransferAPI(UserModel userModel)
|
public TransferAPI getTransferAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingTransfer();
|
return getGSCoreAPI(userModel).usingTransfer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RMUserAPI getRMUserAPI()
|
public RMUserAPI getRMUserAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingRMUser();
|
return getGSCoreAPI(null).usingRMUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RMUserAPI getRMUserAPI(UserModel userModel)
|
public RMUserAPI getRMUserAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingRMUser();
|
return getGSCoreAPI(userModel).usingRMUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
public UnfiledContainerAPI getUnfiledContainersAPI()
|
public UnfiledContainerAPI getUnfiledContainersAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingUnfiledContainers();
|
return getGSCoreAPI(null).usingUnfiledContainers();
|
||||||
}
|
}
|
||||||
|
|
||||||
public UnfiledContainerAPI getUnfiledContainersAPI(UserModel userModel)
|
public UnfiledContainerAPI getUnfiledContainersAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingUnfiledContainers();
|
return getGSCoreAPI(userModel).usingUnfiledContainers();
|
||||||
}
|
}
|
||||||
|
|
||||||
public UnfiledRecordFolderAPI getUnfiledRecordFoldersAPI()
|
public UnfiledRecordFolderAPI getUnfiledRecordFoldersAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingUnfiledRecordFolder();
|
return getGSCoreAPI(null).usingUnfiledRecordFolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
public UnfiledRecordFolderAPI getUnfiledRecordFoldersAPI(UserModel userModel)
|
public UnfiledRecordFolderAPI getUnfiledRecordFoldersAPI(
|
||||||
{
|
UserModel userModel
|
||||||
|
) {
|
||||||
return getGSCoreAPI(userModel).usingUnfiledRecordFolder();
|
return getGSCoreAPI(userModel).usingUnfiledRecordFolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ActionsExecutionAPI getActionsAPI(UserModel userModel)
|
public ActionsExecutionAPI getActionsAPI(UserModel userModel) {
|
||||||
{
|
|
||||||
return getGSCoreAPI(userModel).usingActionsExecutionsAPI();
|
return getGSCoreAPI(userModel).usingActionsExecutionsAPI();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ActionsExecutionAPI getActionsAPI()
|
public ActionsExecutionAPI getActionsAPI() {
|
||||||
{
|
|
||||||
return getGSCoreAPI(null).usingActionsExecutionsAPI();
|
return getGSCoreAPI(null).usingActionsExecutionsAPI();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,7 +27,6 @@
|
|||||||
package org.alfresco.rest.core.search;
|
package org.alfresco.rest.core.search;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.alfresco.rest.search.Pagination;
|
import org.alfresco.rest.search.Pagination;
|
||||||
import org.alfresco.rest.search.RestRequestQueryModel;
|
import org.alfresco.rest.search.RestRequestQueryModel;
|
||||||
import org.alfresco.rest.search.SearchRequest;
|
import org.alfresco.rest.search.SearchRequest;
|
||||||
@@ -35,23 +34,22 @@ import org.alfresco.rest.search.SearchRequest;
|
|||||||
/**
|
/**
|
||||||
* Builder class for creating a search api request
|
* Builder class for creating a search api request
|
||||||
*/
|
*/
|
||||||
public class SearchRequestBuilder extends SearchRequest
|
public class SearchRequestBuilder extends SearchRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Constructor for Search API Request
|
* Constructor for Search API Request
|
||||||
*/
|
*/
|
||||||
public SearchRequestBuilder()
|
public SearchRequestBuilder() {
|
||||||
{
|
|
||||||
new SearchRequest();
|
new SearchRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the sql statement for the SearchRequest
|
* Set the sql statement for the SearchRequest
|
||||||
*
|
*
|
||||||
* @param query sql statement
|
* @param query sql statement
|
||||||
* @return search request
|
* @return search request
|
||||||
*/
|
*/
|
||||||
public SearchRequestBuilder setQueryBuilder(RestRequestQueryModel query)
|
public SearchRequestBuilder setQueryBuilder(RestRequestQueryModel query) {
|
||||||
{
|
|
||||||
super.setQuery(query);
|
super.setQuery(query);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -62,8 +60,7 @@ public class SearchRequestBuilder extends SearchRequest
|
|||||||
* @param paging pagination requested
|
* @param paging pagination requested
|
||||||
* @return search request
|
* @return search request
|
||||||
*/
|
*/
|
||||||
public SearchRequestBuilder setPagingBuilder(Pagination paging)
|
public SearchRequestBuilder setPagingBuilder(Pagination paging) {
|
||||||
{
|
|
||||||
super.setPaging(paging);
|
super.setPaging(paging);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -71,8 +68,7 @@ public class SearchRequestBuilder extends SearchRequest
|
|||||||
/**
|
/**
|
||||||
* Set the pagination properties
|
* Set the pagination properties
|
||||||
*/
|
*/
|
||||||
public Pagination setPagination(Integer maxItems, Integer skipCount)
|
public Pagination setPagination(Integer maxItems, Integer skipCount) {
|
||||||
{
|
|
||||||
Pagination pagination = new Pagination();
|
Pagination pagination = new Pagination();
|
||||||
pagination.setMaxItems(maxItems);
|
pagination.setMaxItems(maxItems);
|
||||||
pagination.setSkipCount(skipCount);
|
pagination.setSkipCount(skipCount);
|
||||||
@@ -85,10 +81,8 @@ public class SearchRequestBuilder extends SearchRequest
|
|||||||
* @param fields requested fields
|
* @param fields requested fields
|
||||||
* @return search request
|
* @return search request
|
||||||
*/
|
*/
|
||||||
public SearchRequestBuilder setFieldsBuilder(List<String> fields)
|
public SearchRequestBuilder setFieldsBuilder(List<String> fields) {
|
||||||
{
|
|
||||||
super.setFields(fields);
|
super.setFields(fields);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,13 +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 javax.json.Json;
|
||||||
|
import javax.json.JsonReader;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.http.HttpEntity;
|
import org.apache.http.HttpEntity;
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
@@ -48,19 +47,20 @@ import org.slf4j.LoggerFactory;
|
|||||||
* @author Tom Page
|
* @author Tom Page
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class APIUtils
|
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()
|
||||||
new DateTimeFormatterBuilder().appendInstant(3).toFormatter();
|
.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.
|
||||||
@@ -68,16 +68,21 @@ public class APIUtils
|
|||||||
* @param httpResponse The HTTP response.
|
* @param httpResponse The HTTP response.
|
||||||
* @return A JSON representation of the object.
|
* @return A JSON representation of the object.
|
||||||
*/
|
*/
|
||||||
public static JSONObject convertHTTPResponseToJSON(HttpResponse httpResponse)
|
public static JSONObject convertHTTPResponseToJSON(
|
||||||
{
|
HttpResponse httpResponse
|
||||||
|
) {
|
||||||
String source = null;
|
String source = null;
|
||||||
try
|
try {
|
||||||
{
|
source =
|
||||||
source = IOUtils.toString(httpResponse.getEntity().getContent(), "UTF-8");
|
IOUtils.toString(
|
||||||
}
|
httpResponse.getEntity().getContent(),
|
||||||
catch (IOException e)
|
"UTF-8"
|
||||||
{
|
);
|
||||||
throw new IllegalArgumentException("Could not extract JSON from HTTP response.", e);
|
} catch (IOException e) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
"Could not extract JSON from HTTP response.",
|
||||||
|
e
|
||||||
|
);
|
||||||
}
|
}
|
||||||
LOGGER.info("Response body:\n{}", source);
|
LOGGER.info("Response body:\n{}", source);
|
||||||
return new JSONObject(source);
|
return new JSONObject(source);
|
||||||
@@ -89,30 +94,25 @@ public class APIUtils
|
|||||||
* @param httpResponse http response
|
* @param httpResponse http response
|
||||||
* @return error message from the http response
|
* @return error message from the http response
|
||||||
*/
|
*/
|
||||||
public static String extractErrorMessageFromHttpResponse(HttpResponse httpResponse)
|
public static String extractErrorMessageFromHttpResponse(
|
||||||
{
|
HttpResponse httpResponse
|
||||||
|
) {
|
||||||
final HttpEntity entity = httpResponse.getEntity();
|
final HttpEntity entity = httpResponse.getEntity();
|
||||||
JsonReader reader = null;
|
JsonReader reader = null;
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
final InputStream responseStream = entity.getContent();
|
final InputStream responseStream = entity.getContent();
|
||||||
reader = Json.createReader(responseStream);
|
reader = Json.createReader(responseStream);
|
||||||
return reader.readObject().getString("message");
|
return reader.readObject().getString("message");
|
||||||
}
|
} catch (JSONException error) {
|
||||||
catch (JSONException error)
|
LOGGER.error(
|
||||||
{
|
"Converting message body to JSON failed. Body: {}",
|
||||||
|
httpResponse,
|
||||||
LOGGER.error("Converting message body to JSON failed. Body: {}", httpResponse, error);
|
error
|
||||||
}
|
);
|
||||||
catch (ParseException | IOException error)
|
} catch (ParseException | IOException error) {
|
||||||
{
|
|
||||||
|
|
||||||
LOGGER.error("Parsing message body failed.", error);
|
LOGGER.error("Parsing message body failed.", error);
|
||||||
}
|
} finally {
|
||||||
finally
|
if (reader != null) {
|
||||||
{
|
|
||||||
if (reader != null)
|
|
||||||
{
|
|
||||||
reader.close();
|
reader.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -38,7 +38,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
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.AlfrescoHttpClient;
|
||||||
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
|
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
|
||||||
import org.alfresco.dataprep.ContentService;
|
import org.alfresco.dataprep.ContentService;
|
||||||
@@ -70,20 +69,25 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
* @author Kristijan Conkas
|
* @author Kristijan Conkas
|
||||||
* @since 2.5
|
* @since 2.5
|
||||||
*/
|
*/
|
||||||
public abstract class BaseAPI
|
public abstract class BaseAPI {
|
||||||
{
|
|
||||||
// logger
|
// logger
|
||||||
protected static final Logger LOGGER = LoggerFactory.getLogger(BaseAPI.class);
|
protected static final Logger LOGGER = LoggerFactory.getLogger(
|
||||||
|
BaseAPI.class
|
||||||
|
);
|
||||||
|
|
||||||
/** exception key in JSON response body */
|
/** exception key in JSON response body */
|
||||||
private static final String EXCEPTION_KEY = "exception";
|
private static final String EXCEPTION_KEY = "exception";
|
||||||
private static final String MESSAGE_KEY = "message";
|
private static final String MESSAGE_KEY = "message";
|
||||||
public static final String NODE_PREFIX = "workspace/SpacesStore/";
|
public static final String NODE_PREFIX = "workspace/SpacesStore/";
|
||||||
protected static final String UPDATE_METADATA_API = "{0}node/{1}/formprocessor";
|
protected static final String UPDATE_METADATA_API =
|
||||||
|
"{0}node/{1}/formprocessor";
|
||||||
protected static final String ACTIONS_API = "{0}actionQueue";
|
protected static final String ACTIONS_API = "{0}actionQueue";
|
||||||
protected static final String RM_ACTIONS_API = "{0}rma/actions/ExecutionQueue";
|
protected static final String RM_ACTIONS_API =
|
||||||
|
"{0}rma/actions/ExecutionQueue";
|
||||||
public static final String RM_SITE_ID = "rm";
|
public static final String RM_SITE_ID = "rm";
|
||||||
protected static final String SHARE_ACTION_API = "{0}internal/shared/share/workspace/SpacesStore/{1}";
|
protected static final String SHARE_ACTION_API =
|
||||||
|
"{0}internal/shared/share/workspace/SpacesStore/{1}";
|
||||||
private static final String SLINGSHOT_PREFIX = "alfresco/s/slingshot/";
|
private static final String SLINGSHOT_PREFIX = "alfresco/s/slingshot/";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -92,7 +96,8 @@ public abstract class BaseAPI
|
|||||||
@Autowired
|
@Autowired
|
||||||
protected ContentService contentService;
|
protected ContentService contentService;
|
||||||
|
|
||||||
public static final String NODE_REF_WORKSPACE_SPACES_STORE = "workspace://SpacesStore/";
|
public static final String NODE_REF_WORKSPACE_SPACES_STORE =
|
||||||
|
"workspace://SpacesStore/";
|
||||||
private static final String FILE_PLAN_PATH = "/Sites/rm/documentLibrary";
|
private static final String FILE_PLAN_PATH = "/Sites/rm/documentLibrary";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -102,20 +107,18 @@ public abstract class BaseAPI
|
|||||||
* @return list of specified property values in result
|
* @return list of specified property values in result
|
||||||
* @throws RuntimeException for malformed response
|
* @throws RuntimeException for malformed response
|
||||||
*/
|
*/
|
||||||
protected List<String> getPropertyValues(JSONObject result, String propertyName)
|
protected List<String> getPropertyValues(
|
||||||
{
|
JSONObject result,
|
||||||
|
String propertyName
|
||||||
|
) {
|
||||||
ArrayList<String> results = new ArrayList<>();
|
ArrayList<String> results = new ArrayList<>();
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
JSONArray items = result.getJSONArray("items");
|
JSONArray items = result.getJSONArray("items");
|
||||||
|
|
||||||
for (int i = 0; i < items.length(); i++)
|
for (int i = 0; i < items.length(); i++) {
|
||||||
{
|
|
||||||
results.add(items.getJSONObject(i).getString(propertyName));
|
results.add(items.getJSONObject(i).getString(propertyName));
|
||||||
}
|
}
|
||||||
}
|
} catch (JSONException error) {
|
||||||
catch (JSONException error)
|
|
||||||
{
|
|
||||||
throw new RuntimeException("Unable to parse result", error);
|
throw new RuntimeException("Unable to parse result", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,35 +127,36 @@ public abstract class BaseAPI
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper method to extract the property value for the given nodeRef and property name
|
* Helper method to extract the property value for the given nodeRef and property name
|
||||||
*
|
*
|
||||||
* @param result
|
* @param result
|
||||||
* @param nodeRef
|
* @param nodeRef
|
||||||
* @param propertyName
|
* @param propertyName
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
protected String getPropertyValue(JSONObject result, String nodeRef, String propertyName)
|
protected String getPropertyValue(
|
||||||
{
|
JSONObject result,
|
||||||
|
String nodeRef,
|
||||||
|
String propertyName
|
||||||
|
) {
|
||||||
String propertyValue = "";
|
String propertyValue = "";
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
JSONArray items = result.getJSONArray("items");
|
JSONArray items = result.getJSONArray("items");
|
||||||
for (int i = 0; i < items.length(); i++)
|
for (int i = 0; i < items.length(); i++) {
|
||||||
{
|
|
||||||
JSONObject item = items.getJSONObject(i);
|
JSONObject item = items.getJSONObject(i);
|
||||||
if(nodeRef.equals(item.getString("nodeRef")))
|
if (nodeRef.equals(item.getString("nodeRef"))) {
|
||||||
{
|
propertyValue =
|
||||||
propertyValue = item.getJSONObject("properties").getString(propertyName);
|
item
|
||||||
|
.getJSONObject("properties")
|
||||||
|
.getString(propertyName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} catch (JSONException error) {
|
||||||
catch (JSONException error)
|
|
||||||
{
|
|
||||||
throw new RuntimeException("Unable to parse result", error);
|
throw new RuntimeException("Unable to parse result", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
return propertyValue;
|
return propertyValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
@@ -160,26 +164,32 @@ public abstract class BaseAPI
|
|||||||
* @return a map containing information about multiple properties values that correspond to a unique one
|
* @return a map containing information about multiple properties values that correspond to a unique one
|
||||||
* @throws RuntimeException for malformed response
|
* @throws RuntimeException for malformed response
|
||||||
*/
|
*/
|
||||||
protected Map<String, List<String>> getPropertyValuesByUniquePropertyValue(JSONObject requestResult, String uniqueProperty, List<String> otherProperties)
|
protected Map<String, List<String>> getPropertyValuesByUniquePropertyValue(
|
||||||
{
|
JSONObject requestResult,
|
||||||
|
String uniqueProperty,
|
||||||
|
List<String> otherProperties
|
||||||
|
) {
|
||||||
Map<String, List<String>> valuesByUniqueProperty = new HashMap<>();
|
Map<String, List<String>> valuesByUniqueProperty = new HashMap<>();
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
JSONArray items = requestResult.getJSONArray("items");
|
JSONArray items = requestResult.getJSONArray("items");
|
||||||
|
|
||||||
for (int i = 0; i < items.length(); i++)
|
for (int i = 0; i < items.length(); i++) {
|
||||||
{
|
|
||||||
List<String> otherPropertiesValues = new ArrayList<>();
|
List<String> otherPropertiesValues = new ArrayList<>();
|
||||||
|
|
||||||
for (int j = 0; j < otherProperties.size(); j++)
|
for (int j = 0; j < otherProperties.size(); j++) {
|
||||||
{
|
otherPropertiesValues.add(
|
||||||
otherPropertiesValues.add(items.getJSONObject(i).get(otherProperties.get(j)).toString());
|
items
|
||||||
|
.getJSONObject(i)
|
||||||
|
.get(otherProperties.get(j))
|
||||||
|
.toString()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
valuesByUniqueProperty.put(items.getJSONObject(i).getString(uniqueProperty), otherPropertiesValues);
|
valuesByUniqueProperty.put(
|
||||||
|
items.getJSONObject(i).getString(uniqueProperty),
|
||||||
|
otherPropertiesValues
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
} catch (JSONException error) {
|
||||||
catch (JSONException error)
|
|
||||||
{
|
|
||||||
throw new RuntimeException("Unable to parse result", error);
|
throw new RuntimeException("Unable to parse result", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,9 +206,16 @@ public abstract class BaseAPI
|
|||||||
* when trying to get File Plan, the path would be ""
|
* 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,
|
||||||
return contentService.getNodeRefByPath(username, password, FILE_PLAN_PATH + path);
|
String password,
|
||||||
|
String path
|
||||||
|
) {
|
||||||
|
return contentService.getNodeRefByPath(
|
||||||
|
username,
|
||||||
|
password,
|
||||||
|
FILE_PLAN_PATH + path
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -209,14 +226,18 @@ public abstract class BaseAPI
|
|||||||
* @param path the object path
|
* @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
|
||||||
|
) {
|
||||||
CmisObject object;
|
CmisObject object;
|
||||||
try
|
try {
|
||||||
{
|
object =
|
||||||
object = contentService.getCMISSession(username, password).getObjectByPath(path);
|
contentService
|
||||||
} catch (CmisObjectNotFoundException notFoundError)
|
.getCMISSession(username, password)
|
||||||
{
|
.getObjectByPath(path);
|
||||||
|
} catch (CmisObjectNotFoundException notFoundError) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return object;
|
return object;
|
||||||
@@ -230,23 +251,25 @@ public abstract class BaseAPI
|
|||||||
* @param parameters if the request has parameters
|
* @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
|
||||||
|
) {
|
||||||
String requestURL;
|
String requestURL;
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
|
|
||||||
if (parameters == null || parameters.isEmpty())
|
if (parameters == null || parameters.isEmpty()) {
|
||||||
{
|
requestURL =
|
||||||
requestURL = MessageFormat.format(
|
MessageFormat.format(requestURI, client.getAlfrescoUrl());
|
||||||
requestURI,
|
} else {
|
||||||
client.getAlfrescoUrl());
|
requestURL =
|
||||||
}
|
MessageFormat.format(
|
||||||
else
|
|
||||||
{
|
|
||||||
requestURL = MessageFormat.format(
|
|
||||||
requestURI,
|
requestURI,
|
||||||
client.getAlfrescoUrl(),
|
client.getAlfrescoUrl(),
|
||||||
URLEncodedUtils.format(parameters, "UTF-8"));
|
URLEncodedUtils.format(parameters, "UTF-8")
|
||||||
|
);
|
||||||
}
|
}
|
||||||
LOGGER.info("On GET {}, received following response: ", requestURL);
|
LOGGER.info("On GET {}, received following response: ", requestURL);
|
||||||
client.close();
|
client.close();
|
||||||
@@ -260,24 +283,29 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplate request URL template
|
* @param urlTemplate request URL template
|
||||||
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
||||||
*/
|
*/
|
||||||
protected JSONObject doGetRequest(String adminUser,
|
protected JSONObject doGetRequest(
|
||||||
|
String adminUser,
|
||||||
String adminPassword,
|
String adminPassword,
|
||||||
String urlTemplate,
|
String urlTemplate,
|
||||||
String ... urlTemplateParams)
|
String... urlTemplateParams
|
||||||
{
|
) {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
String requestUrl = MessageFormat.format(
|
String requestUrl = MessageFormat.format(
|
||||||
urlTemplate,
|
urlTemplate,
|
||||||
client.getApiUrl(),
|
client.getApiUrl(),
|
||||||
urlTemplateParams);
|
urlTemplateParams
|
||||||
|
);
|
||||||
client.close();
|
client.close();
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
return doRequest(
|
||||||
return doRequest(HttpGet.class, requestUrl, adminUser, adminPassword, null);
|
HttpGet.class,
|
||||||
}
|
requestUrl,
|
||||||
catch (InstantiationException | IllegalAccessException error)
|
adminUser,
|
||||||
{
|
adminPassword,
|
||||||
|
null
|
||||||
|
);
|
||||||
|
} catch (InstantiationException | IllegalAccessException error) {
|
||||||
throw new IllegalArgumentException("doGetRequest failed", error);
|
throw new IllegalArgumentException("doGetRequest failed", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -289,24 +317,29 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplate request URL template
|
* @param urlTemplate request URL template
|
||||||
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
||||||
*/
|
*/
|
||||||
protected JSONObject doDeleteRequest(String adminUser,
|
protected JSONObject doDeleteRequest(
|
||||||
|
String adminUser,
|
||||||
String adminPassword,
|
String adminPassword,
|
||||||
String urlTemplate,
|
String urlTemplate,
|
||||||
String ... urlTemplateParams)
|
String... urlTemplateParams
|
||||||
{
|
) {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
String requestUrl = MessageFormat.format(
|
String requestUrl = MessageFormat.format(
|
||||||
urlTemplate,
|
urlTemplate,
|
||||||
client.getApiUrl(),
|
client.getApiUrl(),
|
||||||
urlTemplateParams);
|
urlTemplateParams
|
||||||
|
);
|
||||||
client.close();
|
client.close();
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
return doRequest(
|
||||||
return doRequest(HttpDelete.class, requestUrl, adminUser, adminPassword, null);
|
HttpDelete.class,
|
||||||
}
|
requestUrl,
|
||||||
catch (InstantiationException | IllegalAccessException error)
|
adminUser,
|
||||||
{
|
adminPassword,
|
||||||
|
null
|
||||||
|
);
|
||||||
|
} catch (InstantiationException | IllegalAccessException error) {
|
||||||
throw new IllegalArgumentException("doDeleteRequest failed", error);
|
throw new IllegalArgumentException("doDeleteRequest failed", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -319,25 +352,30 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplate request URL template
|
* @param urlTemplate request URL template
|
||||||
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
||||||
*/
|
*/
|
||||||
protected JSONObject doPutRequest(String adminUser,
|
protected JSONObject doPutRequest(
|
||||||
|
String adminUser,
|
||||||
String adminPassword,
|
String adminPassword,
|
||||||
JSONObject requestParams,
|
JSONObject requestParams,
|
||||||
String urlTemplate,
|
String urlTemplate,
|
||||||
String ... urlTemplateParams)
|
String... urlTemplateParams
|
||||||
{
|
) {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
String requestUrl = MessageFormat.format(
|
String requestUrl = MessageFormat.format(
|
||||||
urlTemplate,
|
urlTemplate,
|
||||||
client.getApiUrl(),
|
client.getApiUrl(),
|
||||||
urlTemplateParams);
|
urlTemplateParams
|
||||||
|
);
|
||||||
client.close();
|
client.close();
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
return doRequest(
|
||||||
return doRequest(HttpPut.class, requestUrl, adminUser, adminPassword, requestParams);
|
HttpPut.class,
|
||||||
}
|
requestUrl,
|
||||||
catch (InstantiationException | IllegalAccessException error)
|
adminUser,
|
||||||
{
|
adminPassword,
|
||||||
|
requestParams
|
||||||
|
);
|
||||||
|
} catch (InstantiationException | IllegalAccessException error) {
|
||||||
throw new IllegalArgumentException("doPutRequest failed", error);
|
throw new IllegalArgumentException("doPutRequest failed", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -352,15 +390,24 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplate request URL template
|
* @param urlTemplate request URL template
|
||||||
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
||||||
*/
|
*/
|
||||||
protected HttpResponse doPutJsonRequest(String adminUser,
|
protected HttpResponse doPutJsonRequest(
|
||||||
String adminPassword,
|
String adminUser,
|
||||||
int expectedStatusCode,
|
String adminPassword,
|
||||||
JSONObject requestParams,
|
int expectedStatusCode,
|
||||||
String urlTemplate,
|
JSONObject requestParams,
|
||||||
String... urlTemplateParams)
|
String urlTemplate,
|
||||||
{
|
String... urlTemplateParams
|
||||||
|
) {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
return doPutJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getApiUrl(), requestParams, urlTemplate, urlTemplateParams);
|
return doPutJsonRequest(
|
||||||
|
adminUser,
|
||||||
|
adminPassword,
|
||||||
|
expectedStatusCode,
|
||||||
|
client.getApiUrl(),
|
||||||
|
requestParams,
|
||||||
|
urlTemplate,
|
||||||
|
urlTemplateParams
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -375,23 +422,35 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
||||||
* @throws AssertionError if the returned status code is not as expected.
|
* @throws AssertionError if the returned status code is not as expected.
|
||||||
*/
|
*/
|
||||||
private HttpResponse doPutJsonRequest(String adminUser,
|
private HttpResponse doPutJsonRequest(
|
||||||
String adminPassword,
|
String adminUser,
|
||||||
int expectedStatusCode,
|
String adminPassword,
|
||||||
String urlStart,
|
int expectedStatusCode,
|
||||||
JSONObject requestParams,
|
String urlStart,
|
||||||
String urlTemplate,
|
JSONObject requestParams,
|
||||||
String... urlTemplateParams)
|
String urlTemplate,
|
||||||
{
|
String... urlTemplateParams
|
||||||
String requestUrl = formatRequestUrl(urlStart, urlTemplate, urlTemplateParams);
|
) {
|
||||||
try
|
String requestUrl = formatRequestUrl(
|
||||||
{
|
urlStart,
|
||||||
HttpResponse httpResponse = doRequestJson(HttpPut.class, requestUrl, adminUser, adminPassword, requestParams);
|
urlTemplate,
|
||||||
assertEquals("PUT request to " + requestUrl + " was not successful.", expectedStatusCode, httpResponse.getStatusLine().getStatusCode());
|
urlTemplateParams
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
HttpResponse httpResponse = doRequestJson(
|
||||||
|
HttpPut.class,
|
||||||
|
requestUrl,
|
||||||
|
adminUser,
|
||||||
|
adminPassword,
|
||||||
|
requestParams
|
||||||
|
);
|
||||||
|
assertEquals(
|
||||||
|
"PUT request to " + requestUrl + " was not successful.",
|
||||||
|
expectedStatusCode,
|
||||||
|
httpResponse.getStatusLine().getStatusCode()
|
||||||
|
);
|
||||||
return httpResponse;
|
return httpResponse;
|
||||||
}
|
} catch (InstantiationException | IllegalAccessException error) {
|
||||||
catch (InstantiationException | IllegalAccessException error)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("doPutRequest failed", error);
|
throw new IllegalArgumentException("doPutRequest failed", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -404,12 +463,18 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplateParams Any parameters that need to be filled into the URL 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,
|
||||||
if (urlTemplateParams.length == 1)
|
String urlTemplate,
|
||||||
{
|
String[] urlTemplateParams
|
||||||
|
) {
|
||||||
|
if (urlTemplateParams.length == 1) {
|
||||||
// The format method needs some help to know not to use the whole array object.
|
// The format method needs some help to know not to use the whole array object.
|
||||||
return MessageFormat.format(urlTemplate, urlStart, urlTemplateParams[0]);
|
return MessageFormat.format(
|
||||||
|
urlTemplate,
|
||||||
|
urlStart,
|
||||||
|
urlTemplateParams[0]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return MessageFormat.format(urlTemplate, urlStart, urlTemplateParams);
|
return MessageFormat.format(urlTemplate, urlStart, urlTemplateParams);
|
||||||
}
|
}
|
||||||
@@ -422,25 +487,30 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplate request URL template
|
* @param urlTemplate request URL template
|
||||||
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
||||||
*/
|
*/
|
||||||
protected JSONObject doPostRequest(String adminUser,
|
protected JSONObject doPostRequest(
|
||||||
|
String adminUser,
|
||||||
String adminPassword,
|
String adminPassword,
|
||||||
JSONObject requestParams,
|
JSONObject requestParams,
|
||||||
String urlTemplate,
|
String urlTemplate,
|
||||||
String ... urlTemplateParams)
|
String... urlTemplateParams
|
||||||
{
|
) {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
String requestUrl = MessageFormat.format(
|
String requestUrl = MessageFormat.format(
|
||||||
urlTemplate,
|
urlTemplate,
|
||||||
client.getApiUrl(),
|
client.getApiUrl(),
|
||||||
urlTemplateParams);
|
urlTemplateParams
|
||||||
|
);
|
||||||
client.close();
|
client.close();
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
return doRequest(
|
||||||
return doRequest(HttpPost.class, requestUrl, adminUser, adminPassword, requestParams);
|
HttpPost.class,
|
||||||
}
|
requestUrl,
|
||||||
catch (InstantiationException | IllegalAccessException error)
|
adminUser,
|
||||||
{
|
adminPassword,
|
||||||
|
requestParams
|
||||||
|
);
|
||||||
|
} catch (InstantiationException | IllegalAccessException error) {
|
||||||
throw new IllegalArgumentException("doPostRequest failed", error);
|
throw new IllegalArgumentException("doPostRequest failed", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -455,15 +525,24 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplate request URL template
|
* @param urlTemplate request URL template
|
||||||
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
||||||
*/
|
*/
|
||||||
protected HttpResponse doPostJsonRequest(String adminUser,
|
protected HttpResponse doPostJsonRequest(
|
||||||
String adminPassword,
|
String adminUser,
|
||||||
int expectedStatusCode,
|
String adminPassword,
|
||||||
JSONObject requestParams,
|
int expectedStatusCode,
|
||||||
String urlTemplate,
|
JSONObject requestParams,
|
||||||
String... urlTemplateParams)
|
String urlTemplate,
|
||||||
{
|
String... urlTemplateParams
|
||||||
|
) {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
return doPostJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getApiUrl(), requestParams, urlTemplate, urlTemplateParams);
|
return doPostJsonRequest(
|
||||||
|
adminUser,
|
||||||
|
adminPassword,
|
||||||
|
expectedStatusCode,
|
||||||
|
client.getApiUrl(),
|
||||||
|
requestParams,
|
||||||
|
urlTemplate,
|
||||||
|
urlTemplateParams
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -476,15 +555,24 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplate request URL template
|
* @param urlTemplate request URL template
|
||||||
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
||||||
*/
|
*/
|
||||||
protected HttpResponse doSlingshotPostJsonRequest(String adminUser,
|
protected HttpResponse doSlingshotPostJsonRequest(
|
||||||
String adminPassword,
|
String adminUser,
|
||||||
int expectedStatusCode,
|
String adminPassword,
|
||||||
JSONObject requestParams,
|
int expectedStatusCode,
|
||||||
String urlTemplate,
|
JSONObject requestParams,
|
||||||
String... urlTemplateParams)
|
String urlTemplate,
|
||||||
{
|
String... urlTemplateParams
|
||||||
|
) {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
return doPostJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getAlfrescoUrl() + SLINGSHOT_PREFIX, requestParams, urlTemplate, urlTemplateParams);
|
return doPostJsonRequest(
|
||||||
|
adminUser,
|
||||||
|
adminPassword,
|
||||||
|
expectedStatusCode,
|
||||||
|
client.getAlfrescoUrl() + SLINGSHOT_PREFIX,
|
||||||
|
requestParams,
|
||||||
|
urlTemplate,
|
||||||
|
urlTemplateParams
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -499,24 +587,32 @@ public abstract class BaseAPI
|
|||||||
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
* @param urlTemplateParams zero or more parameters used with <i>urlTemplate</i>
|
||||||
* @throws AssertionError if the returned status code is not as expected.
|
* @throws AssertionError if the returned status code is not as expected.
|
||||||
*/
|
*/
|
||||||
private HttpResponse doPostJsonRequest(String adminUser,
|
private HttpResponse doPostJsonRequest(
|
||||||
String adminPassword,
|
String adminUser,
|
||||||
int expectedStatusCode,
|
String adminPassword,
|
||||||
String urlStart,
|
int expectedStatusCode,
|
||||||
JSONObject requestParams,
|
String urlStart,
|
||||||
String urlTemplate,
|
JSONObject requestParams,
|
||||||
String... urlTemplateParams)
|
String urlTemplate,
|
||||||
{
|
String... urlTemplateParams
|
||||||
|
) {
|
||||||
String requestUrl;
|
String requestUrl;
|
||||||
requestUrl = formatRequestUrl(urlStart, urlTemplate, urlTemplateParams);
|
requestUrl = formatRequestUrl(urlStart, urlTemplate, urlTemplateParams);
|
||||||
try
|
try {
|
||||||
{
|
HttpResponse httpResponse = doRequestJson(
|
||||||
HttpResponse httpResponse = doRequestJson(HttpPost.class, requestUrl, adminUser, adminPassword, requestParams);
|
HttpPost.class,
|
||||||
assertEquals("POST request to " + requestUrl + " was not successful.", expectedStatusCode, httpResponse.getStatusLine().getStatusCode());
|
requestUrl,
|
||||||
|
adminUser,
|
||||||
|
adminPassword,
|
||||||
|
requestParams
|
||||||
|
);
|
||||||
|
assertEquals(
|
||||||
|
"POST request to " + requestUrl + " was not successful.",
|
||||||
|
expectedStatusCode,
|
||||||
|
httpResponse.getStatusLine().getStatusCode()
|
||||||
|
);
|
||||||
return httpResponse;
|
return httpResponse;
|
||||||
}
|
} catch (InstantiationException | IllegalAccessException error) {
|
||||||
catch (InstantiationException | IllegalAccessException error)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("doPostRequest failed", error);
|
throw new IllegalArgumentException("doPostRequest failed", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -537,84 +633,95 @@ public abstract class BaseAPI
|
|||||||
String requestUrl,
|
String requestUrl,
|
||||||
String adminUser,
|
String adminUser,
|
||||||
String adminPassword,
|
String adminPassword,
|
||||||
JSONObject requestParams) throws InstantiationException, IllegalAccessException
|
JSONObject requestParams
|
||||||
{
|
) throws InstantiationException, IllegalAccessException {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
T request = requestType.newInstance();
|
T request = requestType.newInstance();
|
||||||
|
|
||||||
JSONObject responseBody = null;
|
JSONObject responseBody = null;
|
||||||
JSONObject returnValues = null;
|
JSONObject returnValues = null;
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
request.setURI(new URI(requestUrl));
|
request.setURI(new URI(requestUrl));
|
||||||
|
|
||||||
if (requestParams != null && request instanceof HttpEntityEnclosingRequestBase)
|
if (
|
||||||
{
|
requestParams != null &&
|
||||||
((HttpEntityEnclosingRequestBase) request).setEntity(new StringEntity(requestParams.toString()));
|
request instanceof HttpEntityEnclosingRequestBase
|
||||||
|
) {
|
||||||
|
((HttpEntityEnclosingRequestBase) request).setEntity(
|
||||||
|
new StringEntity(requestParams.toString())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
LOGGER.info("Sending {} request to {}", requestType.getSimpleName(), requestUrl);
|
LOGGER.info(
|
||||||
|
"Sending {} request to {}",
|
||||||
|
requestType.getSimpleName(),
|
||||||
|
requestUrl
|
||||||
|
);
|
||||||
LOGGER.info("Request body: {}", requestParams);
|
LOGGER.info("Request body: {}", requestParams);
|
||||||
HttpResponse response = client.execute(adminUser, adminPassword, request);
|
HttpResponse response = client.execute(
|
||||||
|
adminUser,
|
||||||
|
adminPassword,
|
||||||
|
request
|
||||||
|
);
|
||||||
LOGGER.info("Response: {}", response.getStatusLine());
|
LOGGER.info("Response: {}", response.getStatusLine());
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
responseBody =
|
||||||
responseBody = new JSONObject(EntityUtils.toString(response.getEntity()));
|
new JSONObject(EntityUtils.toString(response.getEntity()));
|
||||||
}
|
} catch (JSONException error) {
|
||||||
catch (JSONException error)
|
LOGGER.error(
|
||||||
{
|
"Converting message body to JSON failed. Body: {}",
|
||||||
LOGGER.error("Converting message body to JSON failed. Body: {}", responseBody, error);
|
responseBody,
|
||||||
}
|
error
|
||||||
catch (ParseException | IOException error)
|
);
|
||||||
{
|
} catch (ParseException | IOException error) {
|
||||||
LOGGER.error("Parsing message body failed.", error);
|
LOGGER.error("Parsing message body failed.", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (response.getStatusLine().getStatusCode())
|
switch (response.getStatusLine().getStatusCode()) {
|
||||||
{
|
|
||||||
case HttpStatus.SC_OK:
|
case HttpStatus.SC_OK:
|
||||||
case HttpStatus.SC_CREATED:
|
case HttpStatus.SC_CREATED:
|
||||||
// request successful
|
// request successful
|
||||||
if (responseBody != null)
|
if (responseBody != null) {
|
||||||
{
|
|
||||||
returnValues = responseBody;
|
returnValues = responseBody;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HttpStatus.SC_INTERNAL_SERVER_ERROR:
|
case HttpStatus.SC_INTERNAL_SERVER_ERROR:
|
||||||
if (responseBody != null && responseBody.has(EXCEPTION_KEY))
|
if (
|
||||||
{
|
responseBody != null && responseBody.has(EXCEPTION_KEY)
|
||||||
LOGGER.error("Request failed with error message: {}", responseBody.getString(MESSAGE_KEY));
|
) {
|
||||||
|
LOGGER.error(
|
||||||
|
"Request failed with error message: {}",
|
||||||
|
responseBody.getString(MESSAGE_KEY)
|
||||||
|
);
|
||||||
returnValues = responseBody;
|
returnValues = responseBody;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case HttpStatus.SC_BAD_REQUEST:
|
case HttpStatus.SC_BAD_REQUEST:
|
||||||
case HttpStatus.SC_UNPROCESSABLE_ENTITY:
|
case HttpStatus.SC_UNPROCESSABLE_ENTITY:
|
||||||
if (responseBody != null && responseBody.has(EXCEPTION_KEY))
|
if (
|
||||||
{
|
responseBody != null && responseBody.has(EXCEPTION_KEY)
|
||||||
LOGGER.error("Request failed: {}", responseBody.getString(EXCEPTION_KEY));
|
) {
|
||||||
|
LOGGER.error(
|
||||||
|
"Request failed: {}",
|
||||||
|
responseBody.getString(EXCEPTION_KEY)
|
||||||
|
);
|
||||||
returnValues = responseBody;
|
returnValues = responseBody;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
LOGGER.error("Request returned unexpected HTTP status {}", response.getStatusLine().getStatusCode());
|
LOGGER.error(
|
||||||
|
"Request returned unexpected HTTP status {}",
|
||||||
|
response.getStatusLine().getStatusCode()
|
||||||
|
);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
} catch (JSONException error) {
|
||||||
catch (JSONException error)
|
|
||||||
{
|
|
||||||
LOGGER.error("Unable to extract response parameter", error);
|
LOGGER.error("Unable to extract response parameter", error);
|
||||||
}
|
} catch (UnsupportedEncodingException | URISyntaxException error1) {
|
||||||
catch (UnsupportedEncodingException | URISyntaxException error1)
|
|
||||||
{
|
|
||||||
LOGGER.error("Unable to construct request", error1);
|
LOGGER.error("Unable to construct request", error1);
|
||||||
}
|
} finally {
|
||||||
finally
|
if (request != null) {
|
||||||
{
|
|
||||||
if (request != null)
|
|
||||||
{
|
|
||||||
request.releaseConnection();
|
request.releaseConnection();
|
||||||
}
|
}
|
||||||
client.close();
|
client.close();
|
||||||
@@ -624,39 +731,45 @@ public abstract class BaseAPI
|
|||||||
}
|
}
|
||||||
|
|
||||||
private <T extends HttpRequestBase> HttpResponse doRequestJson(
|
private <T extends HttpRequestBase> HttpResponse doRequestJson(
|
||||||
Class<T> requestType,
|
Class<T> requestType,
|
||||||
String requestUrl,
|
String requestUrl,
|
||||||
String adminUser,
|
String adminUser,
|
||||||
String adminPassword,
|
String adminPassword,
|
||||||
JSONObject requestParams) throws InstantiationException, IllegalAccessException
|
JSONObject requestParams
|
||||||
{
|
) throws InstantiationException, IllegalAccessException {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
T request = requestType.newInstance();
|
T request = requestType.newInstance();
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
request.setURI(new URI(requestUrl));
|
request.setURI(new URI(requestUrl));
|
||||||
request.setHeader("Content-Type", "application/json");
|
request.setHeader("Content-Type", "application/json");
|
||||||
|
|
||||||
if (requestParams != null && request instanceof HttpEntityEnclosingRequestBase)
|
if (
|
||||||
{
|
requestParams != null &&
|
||||||
((HttpEntityEnclosingRequestBase) request).setEntity(new StringEntity(requestParams.toString()));
|
request instanceof HttpEntityEnclosingRequestBase
|
||||||
|
) {
|
||||||
|
((HttpEntityEnclosingRequestBase) request).setEntity(
|
||||||
|
new StringEntity(requestParams.toString())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGGER.info("Sending {} request to {}", requestType.getSimpleName(), requestUrl);
|
LOGGER.info(
|
||||||
|
"Sending {} request to {}",
|
||||||
|
requestType.getSimpleName(),
|
||||||
|
requestUrl
|
||||||
|
);
|
||||||
LOGGER.info("Request body: {}", requestParams);
|
LOGGER.info("Request body: {}", requestParams);
|
||||||
HttpResponse httpResponse = client.execute(adminUser, adminPassword, request);
|
HttpResponse httpResponse = client.execute(
|
||||||
|
adminUser,
|
||||||
|
adminPassword,
|
||||||
|
request
|
||||||
|
);
|
||||||
LOGGER.info("Response: {}", httpResponse.getStatusLine());
|
LOGGER.info("Response: {}", httpResponse.getStatusLine());
|
||||||
return httpResponse;
|
return httpResponse;
|
||||||
}
|
} catch (UnsupportedEncodingException | URISyntaxException error1) {
|
||||||
catch (UnsupportedEncodingException | URISyntaxException error1)
|
|
||||||
{
|
|
||||||
LOGGER.error("Unable to construct request", error1);
|
LOGGER.error("Unable to construct request", error1);
|
||||||
}
|
} finally {
|
||||||
finally
|
if (request != null) {
|
||||||
{
|
|
||||||
if (request != null)
|
|
||||||
{
|
|
||||||
request.releaseConnection();
|
request.releaseConnection();
|
||||||
}
|
}
|
||||||
client.close();
|
client.close();
|
||||||
@@ -669,8 +782,7 @@ public abstract class BaseAPI
|
|||||||
* Used to set RM items properties
|
* Used to set RM items properties
|
||||||
* including records, categories and folders
|
* including records, categories and folders
|
||||||
*/
|
*/
|
||||||
public enum RMProperty
|
public enum RMProperty {
|
||||||
{
|
|
||||||
NAME,
|
NAME,
|
||||||
TITLE,
|
TITLE,
|
||||||
CONTENT,
|
CONTENT,
|
||||||
@@ -684,11 +796,10 @@ public abstract class BaseAPI
|
|||||||
FILE,
|
FILE,
|
||||||
ORIGINATOR,
|
ORIGINATOR,
|
||||||
ORIGINATING_ORGANIZATION,
|
ORIGINATING_ORGANIZATION,
|
||||||
PUBLICATION_DATE
|
PUBLICATION_DATE,
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum RETENTION_SCHEDULE
|
public enum RETENTION_SCHEDULE {
|
||||||
{
|
|
||||||
NAME,
|
NAME,
|
||||||
DESCRIPTION,
|
DESCRIPTION,
|
||||||
RETENTION_AUTHORITY,
|
RETENTION_AUTHORITY,
|
||||||
@@ -699,14 +810,13 @@ public abstract class BaseAPI
|
|||||||
RETENTION_GHOST,
|
RETENTION_GHOST,
|
||||||
RETENTION_ELIGIBLE_FIRST_EVENT,
|
RETENTION_ELIGIBLE_FIRST_EVENT,
|
||||||
RETENTION_EVENTS,
|
RETENTION_EVENTS,
|
||||||
COMBINE_DISPOSITION_STEP_CONDITIONS
|
COMBINE_DISPOSITION_STEP_CONDITIONS,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to execute rm actions on a node
|
* Used to execute rm actions on a node
|
||||||
*/
|
*/
|
||||||
public enum RM_ACTIONS
|
public enum RM_ACTIONS {
|
||||||
{
|
|
||||||
EDIT_DISPOSITION_DATE("editDispositionActionAsOfDate"),
|
EDIT_DISPOSITION_DATE("editDispositionActionAsOfDate"),
|
||||||
END_RETENTION("retain"),
|
END_RETENTION("retain"),
|
||||||
CUT_OFF("cutoff"),
|
CUT_OFF("cutoff"),
|
||||||
@@ -715,21 +825,19 @@ public abstract class BaseAPI
|
|||||||
COMPLETE_EVENT("completeEvent"),
|
COMPLETE_EVENT("completeEvent"),
|
||||||
UNDO_EVENT("undoEvent"),
|
UNDO_EVENT("undoEvent"),
|
||||||
DESTROY("destroy");
|
DESTROY("destroy");
|
||||||
|
|
||||||
String action;
|
String action;
|
||||||
|
|
||||||
private RM_ACTIONS(String action)
|
private RM_ACTIONS(String action) {
|
||||||
{
|
|
||||||
this.action = action;
|
this.action = action;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAction()
|
public String getAction() {
|
||||||
{
|
|
||||||
return action;
|
return action;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum PermissionType
|
public enum PermissionType {
|
||||||
{
|
|
||||||
SET_READ,
|
SET_READ,
|
||||||
REMOVE_READ,
|
REMOVE_READ,
|
||||||
SET_READ_AND_FILE,
|
SET_READ_AND_FILE,
|
||||||
@@ -743,11 +851,12 @@ public abstract class BaseAPI
|
|||||||
* @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
|
||||||
|
) {
|
||||||
String value = properties.get(property);
|
String value = properties.get(property);
|
||||||
if (value == null)
|
if (value == null) {
|
||||||
{
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
return value;
|
return value;
|
||||||
@@ -762,12 +871,15 @@ public abstract class BaseAPI
|
|||||||
* @param property the property in the property map to check value for
|
* @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 {
|
||||||
String propertyValue = getPropertyValue(itemProperties, property);
|
String propertyValue = getPropertyValue(itemProperties, property);
|
||||||
|
|
||||||
if (!propertyValue.equals(""))
|
if (!propertyValue.equals("")) {
|
||||||
{
|
|
||||||
requestParams.put(propertyRequestValue, propertyValue);
|
requestParams.put(propertyRequestValue, propertyValue);
|
||||||
}
|
}
|
||||||
return requestParams;
|
return requestParams;
|
||||||
@@ -783,14 +895,23 @@ public abstract class BaseAPI
|
|||||||
* in case of a record /categoryName/folderName/recordName
|
* 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,
|
||||||
CmisObject container = getObjectByPath(username, password, FILE_PLAN_PATH + itemPath);
|
String password,
|
||||||
if (container != null)
|
String itemPath
|
||||||
{
|
) {
|
||||||
|
CmisObject container = getObjectByPath(
|
||||||
|
username,
|
||||||
|
password,
|
||||||
|
FILE_PLAN_PATH + itemPath
|
||||||
|
);
|
||||||
|
if (container != null) {
|
||||||
container.delete();
|
container.delete();
|
||||||
}
|
}
|
||||||
assertNull("Could not delete " + itemPath, getObjectByPath(username, password, itemPath));
|
assertNull(
|
||||||
|
"Could not delete " + itemPath,
|
||||||
|
getObjectByPath(username, password, itemPath)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -798,8 +919,7 @@ public abstract class BaseAPI
|
|||||||
*
|
*
|
||||||
* @return node ref spaces store
|
* @return node ref spaces store
|
||||||
*/
|
*/
|
||||||
public static String getNodeRefSpacesStore()
|
public static String getNodeRefSpacesStore() {
|
||||||
{
|
|
||||||
return NODE_REF_WORKSPACE_SPACES_STORE;
|
return NODE_REF_WORKSPACE_SPACES_STORE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -808,8 +928,7 @@ public abstract class BaseAPI
|
|||||||
*
|
*
|
||||||
* @return the File Plan path
|
* @return the File Plan path
|
||||||
*/
|
*/
|
||||||
public static String getFilePlanPath()
|
public static String getFilePlanPath() {
|
||||||
{
|
|
||||||
return FILE_PLAN_PATH;
|
return FILE_PLAN_PATH;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,24 +26,24 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.core.v0;
|
package org.alfresco.rest.core.v0;
|
||||||
|
|
||||||
public enum RMEvents
|
public enum RMEvents {
|
||||||
{
|
|
||||||
ABOLISHED("abolished"),
|
ABOLISHED("abolished"),
|
||||||
ALL_ALLOWANCES_GRANTED_ARE_TERMINATED("all_allowances_granted_are_terminated"),
|
ALL_ALLOWANCES_GRANTED_ARE_TERMINATED(
|
||||||
|
"all_allowances_granted_are_terminated"
|
||||||
|
),
|
||||||
CASE_CLOSED("case_closed"),
|
CASE_CLOSED("case_closed"),
|
||||||
DECLASSIFICATION_REVIEW("declassification_review"),
|
DECLASSIFICATION_REVIEW("declassification_review"),
|
||||||
OBSOLETE("obsolete"),
|
OBSOLETE("obsolete"),
|
||||||
NO_LONGER_NEEDED("no_longer_needed"),
|
NO_LONGER_NEEDED("no_longer_needed"),
|
||||||
STUDY_COMPLETE("study_complete");
|
STUDY_COMPLETE("study_complete");
|
||||||
|
|
||||||
private String eventName;
|
private String eventName;
|
||||||
|
|
||||||
RMEvents(String eventName)
|
RMEvents(String eventName) {
|
||||||
{
|
|
||||||
this.eventName = eventName;
|
this.eventName = eventName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getEventName()
|
public String getEventName() {
|
||||||
{
|
|
||||||
return eventName;
|
return eventName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,11 +26,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.audit;
|
package org.alfresco.rest.rm.community.model.audit;
|
||||||
|
|
||||||
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 java.util.List;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -47,43 +45,42 @@ import org.alfresco.utility.model.TestModel;
|
|||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@JsonIgnoreProperties (ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class AuditEntry extends TestModel
|
public class AuditEntry extends TestModel {
|
||||||
{
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeName;
|
private String nodeName;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private List<Object> changedValues;
|
private List<Object> changedValues;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String path;
|
private String path;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeRef;
|
private String nodeRef;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String fullName;
|
private String fullName;
|
||||||
|
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String createPerson;
|
private String createPerson;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String userName;
|
private String userName;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String userRole;
|
private String userRole;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String event;
|
private String event;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String timestamp;
|
private String timestamp;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -33,8 +33,7 @@ package org.alfresco.rest.rm.community.model.audit;
|
|||||||
* @since 2.7
|
* @since 2.7
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public enum AuditEvents
|
public enum AuditEvents {
|
||||||
{
|
|
||||||
CREATE_PERSON("Create Person", "Create User"),
|
CREATE_PERSON("Create Person", "Create User"),
|
||||||
DELETE_PERSON("Delete Person", "Delete User"),
|
DELETE_PERSON("Delete Person", "Delete User"),
|
||||||
CREATE_USER_GROUP("Create User Group", "Create User Group"),
|
CREATE_USER_GROUP("Create User Group", "Create User Group"),
|
||||||
@@ -54,8 +53,7 @@ public enum AuditEvents
|
|||||||
/** display name for the event audited */
|
/** display name for the event audited */
|
||||||
public final String eventDisplayName;
|
public final String eventDisplayName;
|
||||||
|
|
||||||
AuditEvents(String event, String displayName)
|
AuditEvents(String event, String displayName) {
|
||||||
{
|
|
||||||
this.event = event;
|
this.event = event;
|
||||||
this.eventDisplayName = displayName;
|
this.eventDisplayName = displayName;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,10 +26,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.common;
|
package org.alfresco.rest.rm.community.model.common;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.util.List;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -45,17 +43,17 @@ import lombok.NoArgsConstructor;
|
|||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class IdNamePair
|
public class IdNamePair {
|
||||||
{
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private List<String> aspectNames;
|
private List<String> aspectNames;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,7 +27,6 @@
|
|||||||
package org.alfresco.rest.rm.community.model.common;
|
package org.alfresco.rest.rm.community.model.common;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.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;
|
||||||
@@ -44,8 +43,5 @@ import org.alfresco.utility.model.TestModel;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
//@NoArgsConstructor
|
//@NoArgsConstructor
|
||||||
//@AllArgsConstructor
|
//@AllArgsConstructor
|
||||||
@JsonIgnoreProperties (ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class Owner extends TestModel
|
public class Owner extends TestModel {}
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,17 +26,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.common;
|
package org.alfresco.rest.rm.community.model.common;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.util.List;
|
||||||
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
|
||||||
@@ -49,14 +46,14 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class Path extends TestModel
|
public class Path extends TestModel {
|
||||||
{
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private Boolean isComplete;
|
private Boolean isComplete;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private List<IdNamePair> elements;
|
private List<IdNamePair> elements;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,7 +27,6 @@
|
|||||||
package org.alfresco.rest.rm.community.model.common;
|
package org.alfresco.rest.rm.community.model.common;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -43,11 +42,11 @@ import lombok.NoArgsConstructor;
|
|||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class ReviewPeriod
|
public class ReviewPeriod {
|
||||||
{
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String periodType;
|
private String periodType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String expression;
|
private String expression;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -32,12 +32,12 @@ package org.alfresco.rest.rm.community.model.custom;
|
|||||||
* @author Rodica Sutu
|
* @author Rodica Sutu
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public enum CustomDefinitions
|
public enum CustomDefinitions {
|
||||||
{
|
|
||||||
ATTACHMENT("Attachment"),
|
ATTACHMENT("Attachment"),
|
||||||
MESSAGE("Message"),
|
MESSAGE("Message"),
|
||||||
NEXT_VERSION("Next Version"),
|
NEXT_VERSION("Next Version"),
|
||||||
RENDITION("Rendition");
|
RENDITION("Rendition");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The name of custom reference.
|
* The name of custom reference.
|
||||||
*/
|
*/
|
||||||
@@ -46,8 +46,7 @@ public enum CustomDefinitions
|
|||||||
/**
|
/**
|
||||||
* Private constructor.
|
* Private constructor.
|
||||||
*/
|
*/
|
||||||
CustomDefinitions(String definition)
|
CustomDefinitions(String definition) {
|
||||||
{
|
|
||||||
this.definition = definition;
|
this.definition = definition;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,8 +55,7 @@ public enum CustomDefinitions
|
|||||||
*
|
*
|
||||||
* @return The value of custom reference.
|
* @return The value of custom reference.
|
||||||
*/
|
*/
|
||||||
public String getDefinition()
|
public String getDefinition() {
|
||||||
{
|
|
||||||
return definition;
|
return definition;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,19 +26,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.fileplan;
|
package org.alfresco.rest.rm.community.model.fileplan;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
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 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
|
||||||
@@ -52,40 +49,40 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class FilePlan extends TestModel
|
public class FilePlan extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private List<String> aspectNames;
|
private List<String> aspectNames;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private FilePlanProperties properties;
|
private FilePlanProperties properties;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -34,14 +34,12 @@ 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
|
||||||
@@ -54,29 +52,29 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class FilePlanProperties extends TestModel
|
public class FilePlanProperties extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_COMPONENT_ID)
|
@JsonProperty(required = true, value = PROPERTIES_COMPONENT_ID)
|
||||||
private String componentd;
|
private String componentd;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
/** Optional parameters */
|
/** Optional parameters */
|
||||||
/************************/
|
/************************/
|
||||||
@JsonProperty (PROPERTIES_COUNT)
|
@JsonProperty(PROPERTIES_COUNT)
|
||||||
private Integer count;
|
private Integer count;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_TITLE)
|
@JsonProperty(PROPERTIES_TITLE)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_DESCRIPTION)
|
@JsonProperty(PROPERTIES_DESCRIPTION)
|
||||||
private String description;
|
private String description;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -32,8 +32,8 @@ package org.alfresco.rest.rm.community.model.fileplancomponents;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class FilePlanComponentAlias
|
public class FilePlanComponentAlias {
|
||||||
{
|
|
||||||
public static final String FILE_PLAN_ALIAS = "-filePlan-";
|
public static final String FILE_PLAN_ALIAS = "-filePlan-";
|
||||||
public static final String TRANSFERS_ALIAS = "-transfers-";
|
public static final String TRANSFERS_ALIAS = "-transfers-";
|
||||||
public static final String UNFILED_RECORDS_CONTAINER_ALIAS = "-unfiled-";
|
public static final String UNFILED_RECORDS_CONTAINER_ALIAS = "-unfiled-";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -32,20 +32,19 @@ package org.alfresco.rest.rm.community.model.fileplancomponents;
|
|||||||
* @author Kristijan Conkas
|
* @author Kristijan Conkas
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class FilePlanComponentAspects
|
public class FilePlanComponentAspects {
|
||||||
{
|
|
||||||
/** Private constructor to prevent instantiation. */
|
/** Private constructor to prevent instantiation. */
|
||||||
private FilePlanComponentAspects()
|
private FilePlanComponentAspects() {}
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// aspect present on completed records
|
// aspect present on completed records
|
||||||
public static final String ASPECTS_COMPLETED_RECORD = "rma:declaredRecord";
|
public static final String ASPECTS_COMPLETED_RECORD = "rma:declaredRecord";
|
||||||
|
|
||||||
// aspect present on record folders/categories with vital records
|
// aspect present on record folders/categories with vital records
|
||||||
public static final String ASPECTS_VITAL_RECORD_DEFINITION= "rma:vitalRecordDefinition";
|
public static final String ASPECTS_VITAL_RECORD_DEFINITION =
|
||||||
|
"rma:vitalRecordDefinition";
|
||||||
|
|
||||||
// aspect present on vital records
|
// aspect present on vital records
|
||||||
public static final String ASPECTS_VITAL_RECORD = "rma:vitalRecord";
|
public static final String ASPECTS_VITAL_RECORD = "rma:vitalRecord";
|
||||||
|
|
||||||
// Frozen aspect
|
// Frozen aspect
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -32,8 +32,8 @@ package org.alfresco.rest.rm.community.model.fileplancomponents;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class FilePlanComponentFields
|
public class FilePlanComponentFields {
|
||||||
{
|
|
||||||
/** Common properties for file plans, record categories, record folders and records */
|
/** Common properties for file plans, record categories, record folders and records */
|
||||||
public static final String PROPERTIES_ROOT_NODE_REF = "rma:rootNodeRef";
|
public static final String PROPERTIES_ROOT_NODE_REF = "rma:rootNodeRef";
|
||||||
public static final String PROPERTIES_IDENTIFIER = "rma:identifier";
|
public static final String PROPERTIES_IDENTIFIER = "rma:identifier";
|
||||||
@@ -44,24 +44,35 @@ public class FilePlanComponentFields
|
|||||||
public static final String PROPERTIES_DESCRIPTION = "cm:description";
|
public static final String PROPERTIES_DESCRIPTION = "cm:description";
|
||||||
|
|
||||||
/** Common properties for record categories and record folders **/
|
/** Common properties for record categories and record folders **/
|
||||||
public static final String PROPERTIES_VITAL_RECORD_INDICATOR = "rma:vitalRecordIndicator";
|
public static final String PROPERTIES_VITAL_RECORD_INDICATOR =
|
||||||
|
"rma:vitalRecordIndicator";
|
||||||
public static final String PROPERTIES_REVIEW_PERIOD = "rma:reviewPeriod";
|
public static final String PROPERTIES_REVIEW_PERIOD = "rma:reviewPeriod";
|
||||||
public static final String PROPERTIES_OWNER = "cm:owner";
|
public static final String PROPERTIES_OWNER = "cm:owner";
|
||||||
public static final String PROPERTIES_AUTHOR="cm:author";
|
public static final String PROPERTIES_AUTHOR = "cm:author";
|
||||||
|
|
||||||
/** Common properties for record folders and records */
|
/** Common properties for record folders and records */
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE = "rma:recordSearchHasDispositionSchedule";
|
public static final String PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE =
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION = "rma:recordSearchDispositionPeriodExpression";
|
"rma:recordSearchHasDispositionSchedule";
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY = "rma:recordSearchDispositionAuthority";
|
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION =
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF = "rma:recordSearchDispositionActionAsOf";
|
"rma:recordSearchDispositionPeriodExpression";
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD = "rma:recordSearchDispositionPeriod";
|
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY =
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME = "rma:recordSearchDispositionActionName";
|
"rma:recordSearchDispositionAuthority";
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE = "rma:recordSearchDispositionEventsEligible";
|
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF =
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS = "rma:recordSearchDispositionInstructions";
|
"rma:recordSearchDispositionActionAsOf";
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS = "rma:recordSearchDispositionEvents";
|
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD =
|
||||||
public static final String PROPERTIES_DECLASSIFICATION_REVIEW_COMPLETED_BY = "rma:declassificationReviewCompletedBy";
|
"rma:recordSearchDispositionPeriod";
|
||||||
public static final String PROPERTIES_DECLASSIFICATION_REVIEW_COMPLETED_AT = "rma:declassificationReviewCompletedAt";
|
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME =
|
||||||
|
"rma:recordSearchDispositionActionName";
|
||||||
|
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE =
|
||||||
|
"rma:recordSearchDispositionEventsEligible";
|
||||||
|
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS =
|
||||||
|
"rma:recordSearchDispositionInstructions";
|
||||||
|
public static final String PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS =
|
||||||
|
"rma:recordSearchDispositionEvents";
|
||||||
|
public static final String PROPERTIES_DECLASSIFICATION_REVIEW_COMPLETED_BY =
|
||||||
|
"rma:declassificationReviewCompletedBy";
|
||||||
|
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";
|
||||||
@@ -72,10 +83,13 @@ public class FilePlanComponentFields
|
|||||||
|
|
||||||
/** Record folder properties */
|
/** Record folder properties */
|
||||||
public static final String PROPERTIES_IS_CLOSED = "rma:isClosed"; // not to be confused with IS_CLOSED!
|
public static final String PROPERTIES_IS_CLOSED = "rma:isClosed"; // not to be confused with IS_CLOSED!
|
||||||
public static final String PROPERTIES_HELD_CHILDREN_COUNT = "rma:heldChildrenCount";
|
public static final String PROPERTIES_HELD_CHILDREN_COUNT =
|
||||||
|
"rma:heldChildrenCount";
|
||||||
public static final String PROPERTIES_LOCATION = "rma:location";
|
public static final String PROPERTIES_LOCATION = "rma:location";
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD = "rma:recordSearchVitalRecordReviewPeriod";
|
public static final String PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD =
|
||||||
public static final String PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION = "rma:recordSearchVitalRecordReviewPeriodExpression";
|
"rma:recordSearchVitalRecordReviewPeriod";
|
||||||
|
public static final String PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION =
|
||||||
|
"rma:recordSearchVitalRecordReviewPeriodExpression";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Record properties
|
* Record properties
|
||||||
@@ -88,39 +102,53 @@ public class FilePlanComponentFields
|
|||||||
/** Electronic record properties */
|
/** Electronic record properties */
|
||||||
public static final String PROPERTIES_VERSION_TYPE = "cm:versionType";
|
public static final String PROPERTIES_VERSION_TYPE = "cm:versionType";
|
||||||
public static final String PROPERTIES_VERSION_LABEL = "cm:versionLabel";
|
public static final String PROPERTIES_VERSION_LABEL = "cm:versionLabel";
|
||||||
public static final String PROPERTIES_VERSIONED_NODEREF = "rmv:versionedNodeRef";
|
public static final String PROPERTIES_VERSIONED_NODEREF =
|
||||||
|
"rmv:versionedNodeRef";
|
||||||
public static final String PROPERTIES_RMV_VERSIONED = "rmv:versionLabel";
|
public static final String PROPERTIES_RMV_VERSIONED = "rmv:versionLabel";
|
||||||
public static final String PROPERTIES_DATE_TIME_ORIGINAL = "exif:dateTimeOriginal";
|
public static final String PROPERTIES_DATE_TIME_ORIGINAL =
|
||||||
|
"exif:dateTimeOriginal";
|
||||||
public static final String PROPERTIES_EXPOSURE_TIME = "exif:exposureTime";
|
public static final String PROPERTIES_EXPOSURE_TIME = "exif:exposureTime";
|
||||||
public static final String PROPERTIES_FLASH = "exif:flash";
|
public static final String PROPERTIES_FLASH = "exif:flash";
|
||||||
public static final String PROPERTIES_F_NUMBER = "exif:fNumber";
|
public static final String PROPERTIES_F_NUMBER = "exif:fNumber";
|
||||||
public static final String PROPERTIES_FOCAL_LENGTH = "exif:focalLength";
|
public static final String PROPERTIES_FOCAL_LENGTH = "exif:focalLength";
|
||||||
public static final String PROPERTIES_ISO_SPEED_RATINGS = "exif:isoSpeedRatings";
|
public static final String PROPERTIES_ISO_SPEED_RATINGS =
|
||||||
|
"exif:isoSpeedRatings";
|
||||||
public static final String PROPERTIES_MANUFACTURER = "exif:manufacturer";
|
public static final String PROPERTIES_MANUFACTURER = "exif:manufacturer";
|
||||||
public static final String PROPERTIES_MODEL = "exif:model";
|
public static final String PROPERTIES_MODEL = "exif:model";
|
||||||
public static final String PROPERTIES_ORIENTATION = "exif:orientation";
|
public static final String PROPERTIES_ORIENTATION = "exif:orientation";
|
||||||
public static final String PROPERTIES_PIXEL_X_DIMENSION = "exif:pixelXDimension";
|
public static final String PROPERTIES_PIXEL_X_DIMENSION =
|
||||||
public static final String PROPERTIES_PIXEL_Y_DIMENSION = "exif:pixelYDimension";
|
"exif:pixelXDimension";
|
||||||
public static final String PROPERTIES_RESOLUTION_UNIT = "exif:resolutionUnit";
|
public static final String PROPERTIES_PIXEL_Y_DIMENSION =
|
||||||
|
"exif:pixelYDimension";
|
||||||
|
public static final String PROPERTIES_RESOLUTION_UNIT =
|
||||||
|
"exif:resolutionUnit";
|
||||||
public static final String PROPERTIES_SOFTWARE = "exif:software";
|
public static final String PROPERTIES_SOFTWARE = "exif:software";
|
||||||
public static final String PROPERTIES_X_RESOLUTION = "exif:xResolution";
|
public static final String PROPERTIES_X_RESOLUTION = "exif:xResolution";
|
||||||
public static final String PROPERTIES_Y_RESOLUTION = "exif:yResolution";
|
public static final String PROPERTIES_Y_RESOLUTION = "exif:yResolution";
|
||||||
public static final String PROPERTIES_RECORD_ORIGINATING_LOCATION = "rma:recordOriginatingLocation";
|
public static final String PROPERTIES_RECORD_ORIGINATING_LOCATION =
|
||||||
public static final String PROPERTIES_RECORD_ORIGINATING_USER_ID = "rma:recordOriginatingUserId";
|
"rma:recordOriginatingLocation";
|
||||||
public static final String PROPERTIES_RECORD_ORIGINATING_CREATION_DATE = "rma:recordOriginatingCreationDate";
|
public static final String PROPERTIES_RECORD_ORIGINATING_USER_ID =
|
||||||
|
"rma:recordOriginatingUserId";
|
||||||
|
public static final String PROPERTIES_RECORD_ORIGINATING_CREATION_DATE =
|
||||||
|
"rma:recordOriginatingCreationDate";
|
||||||
|
|
||||||
/** Non-electronic record properties */
|
/** Non-electronic record properties */
|
||||||
public static final String PROPERTIES_SHELF = "rma:shelf";
|
public static final String PROPERTIES_SHELF = "rma:shelf";
|
||||||
public static final String PROPERTIES_STORAGE_LOCATION = "rma:storageLocation";
|
public static final String PROPERTIES_STORAGE_LOCATION =
|
||||||
|
"rma:storageLocation";
|
||||||
public static final String PROPERTIES_FILE = "rma:file";
|
public static final String PROPERTIES_FILE = "rma:file";
|
||||||
public static final String PROPERTIES_BOX = "rma:box";
|
public static final String PROPERTIES_BOX = "rma:box";
|
||||||
public static final String PROPERTIES_NUMBER_OF_COPIES = "rma:numberOfCopies";
|
public static final String PROPERTIES_NUMBER_OF_COPIES =
|
||||||
|
"rma:numberOfCopies";
|
||||||
public static final String PROPERTIES_PHYSICAL_SIZE = "rma:physicalSize";
|
public static final String PROPERTIES_PHYSICAL_SIZE = "rma:physicalSize";
|
||||||
|
|
||||||
/** Transfer properties */
|
/** Transfer properties */
|
||||||
public static final String PROPERTIES_PDF_INDICATOR = "rma:transferPDFIndicator";
|
public static final String PROPERTIES_PDF_INDICATOR =
|
||||||
public static final String PROPERTIES_TRANSFER_LOCATION = "rma:transferLocation";
|
"rma:transferPDFIndicator";
|
||||||
public static final String PROPERTIES_ACCESSION_INDICATOR = "rma:transferAccessionIndicator";
|
public static final String PROPERTIES_TRANSFER_LOCATION =
|
||||||
|
"rma:transferLocation";
|
||||||
|
public static final String PROPERTIES_ACCESSION_INDICATOR =
|
||||||
|
"rma:transferAccessionIndicator";
|
||||||
|
|
||||||
/** Parameters */
|
/** Parameters */
|
||||||
public static final String RELATIVE_PATH = "relativePath";
|
public static final String RELATIVE_PATH = "relativePath";
|
||||||
@@ -135,5 +163,6 @@ public class FilePlanComponentFields
|
|||||||
/** CONTENT STORE property */
|
/** CONTENT STORE property */
|
||||||
public static final String PROPERTIES_STORE = "cm:storeName";
|
public static final String PROPERTIES_STORE = "cm:storeName";
|
||||||
/** WORM Unlock Date */
|
/** WORM Unlock Date */
|
||||||
public static final String PROPERTIES_WORM_UNLOCK_DATE = "rme:wormUnlockDate";
|
public static final String PROPERTIES_WORM_UNLOCK_DATE =
|
||||||
|
"rme:wormUnlockDate";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -32,17 +32,21 @@ package org.alfresco.rest.rm.community.model.fileplancomponents;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class FilePlanComponentType
|
public class FilePlanComponentType {
|
||||||
{
|
|
||||||
public static final String FILE_PLAN_TYPE = "rma:filePlan";
|
public static final String FILE_PLAN_TYPE = "rma:filePlan";
|
||||||
public static final String RECORD_CATEGORY_TYPE = "rma:recordCategory";
|
public static final String RECORD_CATEGORY_TYPE = "rma:recordCategory";
|
||||||
public static final String RECORD_FOLDER_TYPE = "rma:recordFolder";
|
public static final String RECORD_FOLDER_TYPE = "rma:recordFolder";
|
||||||
public static final String RECORD_TYPE = "rma:record"; // generic record type
|
public static final String RECORD_TYPE = "rma:record"; // generic record type
|
||||||
public static final String UNFILED_RECORD_FOLDER_TYPE = "rma:unfiledRecordFolder";
|
public static final String UNFILED_RECORD_FOLDER_TYPE =
|
||||||
|
"rma:unfiledRecordFolder";
|
||||||
public static final String TRANSFER_TYPE = "rma:transfer";
|
public static final String TRANSFER_TYPE = "rma:transfer";
|
||||||
public static final String TRANSFER_CONTAINER_TYPE = "rma:transferContainer";
|
public static final String TRANSFER_CONTAINER_TYPE =
|
||||||
public static final String UNFILED_CONTAINER_TYPE = "rma:unfiledRecordContainer";
|
"rma:transferContainer";
|
||||||
|
public static final String UNFILED_CONTAINER_TYPE =
|
||||||
|
"rma:unfiledRecordContainer";
|
||||||
public static final String FOLDER_TYPE = "cm:folder";
|
public static final String FOLDER_TYPE = "cm:folder";
|
||||||
public static final String CONTENT_TYPE = "cm:content";
|
public static final String CONTENT_TYPE = "cm:content";
|
||||||
public static final String NON_ELECTRONIC_RECORD_TYPE = "rma:nonElectronicDocument";
|
public static final String NON_ELECTRONIC_RECORD_TYPE =
|
||||||
|
"rma:nonElectronicDocument";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -28,7 +28,6 @@ package org.alfresco.rest.rm.community.model.hold;
|
|||||||
|
|
||||||
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;
|
||||||
@@ -45,12 +44,12 @@ import org.alfresco.utility.model.TestModel;
|
|||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@JsonIgnoreProperties (ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class HoldEntry extends TestModel
|
public class HoldEntry extends TestModel {
|
||||||
{
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeRef;
|
private String nodeRef;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,10 +26,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.record;
|
package org.alfresco.rest.rm.community.model.record;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.util.List;
|
||||||
|
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;
|
||||||
import org.alfresco.rest.model.RestByUserModel;
|
import org.alfresco.rest.model.RestByUserModel;
|
||||||
@@ -37,12 +40,6 @@ import org.alfresco.rest.model.RestNodeModel;
|
|||||||
import org.alfresco.rest.rm.community.model.common.Path;
|
import org.alfresco.rest.rm.community.model.common.Path;
|
||||||
import org.alfresco.utility.model.TestModel;
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for record
|
* POJO for record
|
||||||
*
|
*
|
||||||
@@ -54,35 +51,35 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class Record extends TestModel implements IRestModel<RestNodeModel>
|
public class Record extends TestModel implements IRestModel<RestNodeModel> {
|
||||||
{
|
|
||||||
public final static String CONTENT_NODE_TYPE = "cm:content";
|
public static final String CONTENT_NODE_TYPE = "cm:content";
|
||||||
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
@@ -107,23 +104,20 @@ public class Record extends TestModel implements IRestModel<RestNodeModel>
|
|||||||
private Path path;
|
private Path path;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ModelAssertion<RestNodeModel> assertThat()
|
public ModelAssertion<RestNodeModel> assertThat() {
|
||||||
{
|
|
||||||
return new ModelAssertion<>(this);
|
return new ModelAssertion<>(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ModelAssertion<RestNodeModel> and()
|
public ModelAssertion<RestNodeModel> and() {
|
||||||
{
|
|
||||||
return assertThat();
|
return assertThat();
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsonProperty (value = "entry")
|
@JsonProperty(value = "entry")
|
||||||
RestNodeModel model;
|
RestNodeModel model;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RestNodeModel onModel()
|
public RestNodeModel onModel() {
|
||||||
{
|
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,14 +27,12 @@
|
|||||||
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
|
||||||
@@ -47,8 +45,8 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RecordBodyFile extends TestModel
|
public class RecordBodyFile extends TestModel {
|
||||||
{
|
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String targetParentId;
|
private String targetParentId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,14 +27,12 @@
|
|||||||
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
|
||||||
@@ -48,17 +46,17 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RecordContent extends TestModel
|
public class RecordContent extends TestModel {
|
||||||
{
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String mimeType;
|
private String mimeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String mimeTypeName;
|
private String mimeTypeName;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private Integer sizeInBytes;
|
private Integer sizeInBytes;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String encoding;
|
private String encoding;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -64,7 +64,6 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
|
|||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RESOLUTION_UNIT;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RESOLUTION_UNIT;
|
||||||
|
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_AS_OF;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_AS_OF;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RMV_VERSIONED;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RMV_VERSIONED;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
|
||||||
@@ -80,12 +79,10 @@ 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 java.util.Date;
|
|
||||||
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 java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -106,165 +103,170 @@ import org.alfresco.utility.model.TestModel;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class RecordProperties extends TestModel
|
public class RecordProperties extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_DATE_FILED)
|
@JsonProperty(required = true, value = PROPERTIES_DATE_FILED)
|
||||||
private String dateField;
|
private String dateField;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
|
@JsonProperty(
|
||||||
|
required = true,
|
||||||
|
value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE
|
||||||
|
)
|
||||||
private Boolean recordSearchHasDispositionSchedule;
|
private Boolean recordSearchHasDispositionSchedule;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_ORIGINAL_NAME)
|
@JsonProperty(required = true, value = PROPERTIES_ORIGINAL_NAME)
|
||||||
private String originalName;
|
private String originalName;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_CLASSIFICATION)
|
@JsonProperty(PROPERTIES_CLASSIFICATION)
|
||||||
private List<String> classification;
|
private List<String> classification;
|
||||||
|
|
||||||
/*********************************/
|
/*********************************/
|
||||||
/** Electronic record parameters */
|
/** Electronic record parameters */
|
||||||
/*********************************/
|
/*********************************/
|
||||||
@JsonProperty (PROPERTIES_VERSION_TYPE)
|
@JsonProperty(PROPERTIES_VERSION_TYPE)
|
||||||
private String versionType;
|
private String versionType;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_VERSION_LABEL)
|
@JsonProperty(PROPERTIES_VERSION_LABEL)
|
||||||
private String versionLabel;
|
private String versionLabel;
|
||||||
|
|
||||||
@JsonProperty(PROPERTIES_VERSIONED_NODEREF)
|
@JsonProperty(PROPERTIES_VERSIONED_NODEREF)
|
||||||
private String versionedNodeRef;
|
private String versionedNodeRef;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RMV_VERSIONED)
|
@JsonProperty(PROPERTIES_RMV_VERSIONED)
|
||||||
private String recordVersionLabel;
|
private String recordVersionLabel;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_DATE_TIME_ORIGINAL)
|
@JsonProperty(PROPERTIES_DATE_TIME_ORIGINAL)
|
||||||
private String dateTimeOriginal;
|
private String dateTimeOriginal;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_EXPOSURE_TIME)
|
@JsonProperty(PROPERTIES_EXPOSURE_TIME)
|
||||||
private Double exposureTime;
|
private Double exposureTime;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_FLASH)
|
@JsonProperty(PROPERTIES_FLASH)
|
||||||
private Boolean flash;
|
private Boolean flash;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_F_NUMBER)
|
@JsonProperty(PROPERTIES_F_NUMBER)
|
||||||
private Double fNumber;
|
private Double fNumber;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_FOCAL_LENGTH)
|
@JsonProperty(PROPERTIES_FOCAL_LENGTH)
|
||||||
private Double focalLength;
|
private Double focalLength;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ISO_SPEED_RATINGS)
|
@JsonProperty(PROPERTIES_ISO_SPEED_RATINGS)
|
||||||
private Integer isoSpeedRatings;
|
private Integer isoSpeedRatings;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_MANUFACTURER)
|
@JsonProperty(PROPERTIES_MANUFACTURER)
|
||||||
private String manufacturer;
|
private String manufacturer;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_MODEL)
|
@JsonProperty(PROPERTIES_MODEL)
|
||||||
private String model;
|
private String model;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ORIENTATION)
|
@JsonProperty(PROPERTIES_ORIENTATION)
|
||||||
private Integer orientation;
|
private Integer orientation;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PIXEL_X_DIMENSION)
|
@JsonProperty(PROPERTIES_PIXEL_X_DIMENSION)
|
||||||
private Integer pixelXDimension;
|
private Integer pixelXDimension;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PIXEL_Y_DIMENSION)
|
@JsonProperty(PROPERTIES_PIXEL_Y_DIMENSION)
|
||||||
private Integer pixelYDimension;
|
private Integer pixelYDimension;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RESOLUTION_UNIT)
|
@JsonProperty(PROPERTIES_RESOLUTION_UNIT)
|
||||||
private String resolutionUnit;
|
private String resolutionUnit;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_SOFTWARE)
|
@JsonProperty(PROPERTIES_SOFTWARE)
|
||||||
private String software;
|
private String software;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_X_RESOLUTION)
|
@JsonProperty(PROPERTIES_X_RESOLUTION)
|
||||||
private Double xResolution;
|
private Double xResolution;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_Y_RESOLUTION)
|
@JsonProperty(PROPERTIES_Y_RESOLUTION)
|
||||||
private Double yResolution;
|
private Double yResolution;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_ORIGINATING_LOCATION)
|
@JsonProperty(PROPERTIES_RECORD_ORIGINATING_LOCATION)
|
||||||
private String originatingLocation;
|
private String originatingLocation;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_ORIGINATING_USER_ID)
|
@JsonProperty(PROPERTIES_RECORD_ORIGINATING_USER_ID)
|
||||||
private String originatingUserId;
|
private String originatingUserId;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_ORIGINATING_CREATION_DATE)
|
@JsonProperty(PROPERTIES_RECORD_ORIGINATING_CREATION_DATE)
|
||||||
private String originatingCreationDate;
|
private String originatingCreationDate;
|
||||||
|
|
||||||
/*************************************/
|
/*************************************/
|
||||||
/** Non-electronic record parameters */
|
/** Non-electronic record parameters */
|
||||||
/*************************************/
|
/*************************************/
|
||||||
@JsonProperty (PROPERTIES_TITLE)
|
@JsonProperty(PROPERTIES_TITLE)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_SHELF)
|
@JsonProperty(PROPERTIES_SHELF)
|
||||||
private String shelf;
|
private String shelf;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_STORAGE_LOCATION)
|
@JsonProperty(PROPERTIES_STORAGE_LOCATION)
|
||||||
private String storageLocation;
|
private String storageLocation;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_FILE)
|
@JsonProperty(PROPERTIES_FILE)
|
||||||
private String file;
|
private String file;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_BOX)
|
@JsonProperty(PROPERTIES_BOX)
|
||||||
private String box;
|
private String box;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_DESCRIPTION)
|
@JsonProperty(PROPERTIES_DESCRIPTION)
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_NUMBER_OF_COPIES)
|
@JsonProperty(PROPERTIES_NUMBER_OF_COPIES)
|
||||||
private Integer numberOfCopies;
|
private Integer numberOfCopies;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PHYSICAL_SIZE)
|
@JsonProperty(PROPERTIES_PHYSICAL_SIZE)
|
||||||
private Integer physicalSize;
|
private Integer physicalSize;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_OWNER)
|
@JsonProperty(PROPERTIES_OWNER)
|
||||||
private Owner owner;
|
private Owner owner;
|
||||||
|
|
||||||
@JsonProperty(PROPERTIES_AUTHOR)
|
@JsonProperty(PROPERTIES_AUTHOR)
|
||||||
private String author;
|
private String author;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION)
|
||||||
private String recordSearchDispositionPeriodExpression;
|
private String recordSearchDispositionPeriodExpression;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY)
|
||||||
private String recordSearchDispositionAuthority;
|
private String recordSearchDispositionAuthority;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF)
|
||||||
private Date recordSearchDispositionActionAsOf;
|
private Date recordSearchDispositionActionAsOf;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD)
|
||||||
private String recordSearchDispositionPeriod;
|
private String recordSearchDispositionPeriod;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME)
|
||||||
private String recordSearchDispositionActionName;
|
private String recordSearchDispositionActionName;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE)
|
||||||
private Boolean recordSearchDispositionEventsEligible;
|
private Boolean recordSearchDispositionEventsEligible;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS)
|
||||||
private List<String> recordSearchDispositionEvents;
|
private List<String> recordSearchDispositionEvents;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS)
|
||||||
private String recordSearchDispositionInstructions;
|
private String recordSearchDispositionInstructions;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD)
|
||||||
private String recordSearchVitalRecordReviewPeriod;
|
private String recordSearchVitalRecordReviewPeriod;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION)
|
@JsonProperty(
|
||||||
|
PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION
|
||||||
|
)
|
||||||
private String recordSearchVitalRecordReviewPeriodExpression;
|
private String recordSearchVitalRecordReviewPeriodExpression;
|
||||||
|
|
||||||
@JsonProperty(PROPERTIES_REVIEW_AS_OF)
|
@JsonProperty(PROPERTIES_REVIEW_AS_OF)
|
||||||
private Date reviewAsOf;
|
private Date reviewAsOf;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_STORE)
|
@JsonProperty(PROPERTIES_STORE)
|
||||||
private String store;
|
private String store;
|
||||||
|
|
||||||
@JsonProperty(PROPERTIES_WORM_UNLOCK_DATE)
|
@JsonProperty(PROPERTIES_WORM_UNLOCK_DATE)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,19 +26,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.recordcategory;
|
package org.alfresco.rest.rm.community.model.recordcategory;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
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 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
|
||||||
@@ -51,42 +48,42 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RecordCategory extends TestModel
|
public class RecordCategory extends TestModel {
|
||||||
{
|
|
||||||
public static final String DEFAULT_FILE_PLAN_ALIAS = "-filePlan-";
|
public static final String DEFAULT_FILE_PLAN_ALIAS = "-filePlan-";
|
||||||
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private List<String> aspectNames;
|
private List<String> aspectNames;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RecordCategoryProperties properties;
|
private RecordCategoryProperties properties;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,19 +26,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.recordcategory;
|
package org.alfresco.rest.rm.community.model.recordcategory;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
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 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
|
||||||
@@ -51,35 +48,35 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RecordCategoryChild extends TestModel
|
public class RecordCategoryChild extends TestModel {
|
||||||
{
|
|
||||||
public static final String RECORD_FOLDER_NODE_TYPE = "rma:recordFolder";
|
public static final String RECORD_FOLDER_NODE_TYPE = "rma:recordFolder";
|
||||||
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -35,7 +35,5 @@ import org.alfresco.rest.core.RestModels;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class RecordCategoryChildCollection extends RestModels<RecordCategoryChildEntry, RecordCategoryChildCollection>
|
public class RecordCategoryChildCollection
|
||||||
{
|
extends RestModels<RecordCategoryChildEntry, RecordCategoryChildCollection> {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,11 +27,9 @@
|
|||||||
package org.alfresco.rest.rm.community.model.recordcategory;
|
package org.alfresco.rest.rm.community.model.recordcategory;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
import org.alfresco.rest.core.RestModels;
|
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.alfresco.rest.core.RestModels;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for record category child entry
|
* POJO for record category child entry
|
||||||
@@ -41,8 +39,9 @@ import lombok.EqualsAndHashCode;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public class RecordCategoryChildEntry extends RestModels<RecordCategory, RecordCategoryChildEntry>
|
public class RecordCategoryChildEntry
|
||||||
{
|
extends RestModels<RecordCategory, RecordCategoryChildEntry> {
|
||||||
|
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private RecordCategoryChild entry;
|
private RecordCategoryChild entry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -32,36 +32,33 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
|
|||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS;
|
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE;
|
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION;
|
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY;
|
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD;
|
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME;
|
||||||
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY;
|
||||||
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS;
|
||||||
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD;
|
||||||
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION;
|
||||||
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_PERIOD;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_REVIEW_PERIOD;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TITLE;
|
||||||
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.Date;
|
|
||||||
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 java.util.Date;
|
||||||
import org.alfresco.rest.rm.community.model.common.Owner;
|
import java.util.List;
|
||||||
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
|
|
||||||
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
|
|
||||||
import org.alfresco.utility.model.TestModel;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.alfresco.rest.rm.community.model.common.Owner;
|
||||||
|
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
|
||||||
|
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
|
||||||
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for record category child properties
|
* POJO for record category child properties
|
||||||
@@ -74,70 +71,69 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RecordCategoryChildProperties extends TestModel
|
public class RecordCategoryChildProperties extends TestModel {
|
||||||
{
|
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
/** Mandatory parameters - Shared by record categories and record folders */
|
/** Mandatory parameters - Shared by record categories and record folders */
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
@JsonProperty (required = true, value = PROPERTIES_TITLE)
|
@JsonProperty(required = true, value = PROPERTIES_TITLE)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR)
|
@JsonProperty(required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR)
|
||||||
private Boolean vitalRecordIndicator;
|
private Boolean vitalRecordIndicator;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_REVIEW_PERIOD)
|
@JsonProperty(required = true, value = PROPERTIES_REVIEW_PERIOD)
|
||||||
@JsonSerialize (using = ReviewPeriodSerializer.class)
|
@JsonSerialize(using = ReviewPeriodSerializer.class)
|
||||||
private ReviewPeriod reviewPeriod;
|
private ReviewPeriod reviewPeriod;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_DESCRIPTION)
|
@JsonProperty(required = true, value = PROPERTIES_DESCRIPTION)
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
/** Optional parameters - Applies only to record folders */
|
/** Optional parameters - Applies only to record folders */
|
||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
@JsonProperty (PROPERTIES_HELD_CHILDREN_COUNT)
|
@JsonProperty(PROPERTIES_HELD_CHILDREN_COUNT)
|
||||||
private Integer heldChildrenCount;
|
private Integer heldChildrenCount;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_LOCATION)
|
@JsonProperty(PROPERTIES_LOCATION)
|
||||||
private String location;
|
private String location;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_IS_CLOSED)
|
@JsonProperty(PROPERTIES_IS_CLOSED)
|
||||||
private Boolean isClosed;
|
private Boolean isClosed;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
|
||||||
private Boolean recordSearchHasDispositionSchedule;
|
private Boolean recordSearchHasDispositionSchedule;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD_EXPRESSION)
|
||||||
private String recordSearchDispositionPeriodExpression;
|
private String recordSearchDispositionPeriodExpression;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY)
|
||||||
private String recordSearchDispositionAuthority;
|
private String recordSearchDispositionAuthority;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_AS_OF)
|
||||||
private Date recordSearchDispositionActionAsOf;
|
private Date recordSearchDispositionActionAsOf;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_PERIOD)
|
||||||
private String recordSearchDispositionPeriod;
|
private String recordSearchDispositionPeriod;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_ACTION_NAME)
|
||||||
private String recordSearchDispositionActionName;
|
private String recordSearchDispositionActionName;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS_ELIGIBLE)
|
||||||
private Boolean recordSearchDispositionEventsEligible;
|
private Boolean recordSearchDispositionEventsEligible;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS)
|
||||||
private String recordSearchDispositionInstructions;
|
private String recordSearchDispositionInstructions;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_EVENTS)
|
||||||
private List<String> recordSearchDispositionEvents;
|
private List<String> recordSearchDispositionEvents;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_OWNER)
|
|
||||||
private Owner owner;
|
|
||||||
|
|
||||||
|
@JsonProperty(PROPERTIES_OWNER)
|
||||||
|
private Owner owner;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -35,7 +35,5 @@ import org.alfresco.rest.core.RestModels;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class RecordCategoryCollection extends RestModels<RecordCategoryEntry, RecordCategoryCollection>
|
public class RecordCategoryCollection
|
||||||
{
|
extends RestModels<RecordCategoryEntry, RecordCategoryCollection> {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,12 +27,10 @@
|
|||||||
package org.alfresco.rest.rm.community.model.recordcategory;
|
package org.alfresco.rest.rm.community.model.recordcategory;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
import org.alfresco.rest.core.RestModels;
|
|
||||||
import org.alfresco.rest.rm.community.model.fileplan.FilePlan;
|
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.alfresco.rest.core.RestModels;
|
||||||
|
import org.alfresco.rest.rm.community.model.fileplan.FilePlan;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for file plan entry
|
* POJO for file plan entry
|
||||||
@@ -43,8 +41,9 @@ import lombok.EqualsAndHashCode;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public class RecordCategoryEntry extends RestModels<FilePlan, RecordCategoryEntry>
|
public class RecordCategoryEntry
|
||||||
{
|
extends RestModels<FilePlan, RecordCategoryEntry> {
|
||||||
|
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private RecordCategory entry;
|
private RecordCategory entry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -35,23 +35,19 @@ 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 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 java.util.List;
|
||||||
import org.alfresco.rest.rm.community.model.common.Owner;
|
|
||||||
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
|
|
||||||
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
|
|
||||||
import org.alfresco.utility.model.TestModel;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.alfresco.rest.rm.community.model.common.Owner;
|
||||||
|
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
|
||||||
|
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
|
||||||
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for record category properties
|
* POJO for record category properties
|
||||||
@@ -64,37 +60,37 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@JsonIgnoreProperties (ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class RecordCategoryProperties extends TestModel
|
public class RecordCategoryProperties extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_REVIEW_PERIOD)
|
@JsonProperty(required = true, value = PROPERTIES_REVIEW_PERIOD)
|
||||||
@JsonSerialize (using = ReviewPeriodSerializer.class)
|
@JsonSerialize(using = ReviewPeriodSerializer.class)
|
||||||
private ReviewPeriod reviewPeriod;
|
private ReviewPeriod reviewPeriod;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR)
|
@JsonProperty(required = true, value = PROPERTIES_VITAL_RECORD_INDICATOR)
|
||||||
private Boolean vitalRecordIndicator;
|
private Boolean vitalRecordIndicator;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
/** Optional parameters */
|
/** Optional parameters */
|
||||||
/************************/
|
/************************/
|
||||||
@JsonProperty (PROPERTIES_TITLE)
|
@JsonProperty(PROPERTIES_TITLE)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_DESCRIPTION)
|
@JsonProperty(PROPERTIES_DESCRIPTION)
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_OWNER)
|
@JsonProperty(PROPERTIES_OWNER)
|
||||||
private Owner owner;
|
private Owner owner;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_CLASSIFICATION)
|
@JsonProperty(PROPERTIES_CLASSIFICATION)
|
||||||
private List<String> classification;
|
private List<String> classification;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -29,8 +29,7 @@ package org.alfresco.rest.rm.community.model.recordcategory;
|
|||||||
/**
|
/**
|
||||||
* The property of the dispositioned item that is used to calculate the "as of" period.
|
* The property of the dispositioned item that is used to calculate the "as of" period.
|
||||||
*/
|
*/
|
||||||
public enum RetentionPeriodProperty
|
public enum RetentionPeriodProperty {
|
||||||
{
|
|
||||||
/** Item created date. */
|
/** Item created date. */
|
||||||
CREATED_DATE("cm:created"),
|
CREATED_DATE("cm:created"),
|
||||||
/** Record filed date. */
|
/** Record filed date. */
|
||||||
@@ -40,13 +39,11 @@ public enum RetentionPeriodProperty
|
|||||||
|
|
||||||
String periodProperty;
|
String periodProperty;
|
||||||
|
|
||||||
RetentionPeriodProperty(String periodProperty)
|
RetentionPeriodProperty(String periodProperty) {
|
||||||
{
|
|
||||||
this.periodProperty = periodProperty;
|
this.periodProperty = periodProperty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPeriodProperty()
|
public String getPeriodProperty() {
|
||||||
{
|
|
||||||
return periodProperty;
|
return periodProperty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,19 +26,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.recordfolder;
|
package org.alfresco.rest.rm.community.model.recordfolder;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
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 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
|
||||||
@@ -51,39 +48,39 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RecordFolder extends TestModel
|
public class RecordFolder extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private List<String> aspectNames;
|
private List<String> aspectNames;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RecordFolderProperties properties;
|
private RecordFolderProperties properties;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -35,7 +35,5 @@ import org.alfresco.rest.core.RestModels;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class RecordFolderCollection extends RestModels<RecordFolderEntry, RecordFolderCollection>
|
public class RecordFolderCollection
|
||||||
{
|
extends RestModels<RecordFolderEntry, RecordFolderCollection> {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,15 +27,13 @@
|
|||||||
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
|
||||||
@@ -48,8 +46,9 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RecordFolderEntry extends RestModels<RecordFolder, RecordFolderEntry>
|
public class RecordFolderEntry
|
||||||
{
|
extends RestModels<RecordFolder, RecordFolderEntry> {
|
||||||
|
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private Record entry;
|
private Record entry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -33,10 +33,8 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
|
|||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IS_CLOSED;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_LOCATION;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY;
|
||||||
.PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields
|
|
||||||
.PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS;
|
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION;
|
||||||
@@ -45,22 +43,19 @@ 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 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 java.util.List;
|
||||||
import org.alfresco.rest.rm.community.model.common.Owner;
|
|
||||||
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
|
|
||||||
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
|
|
||||||
import org.alfresco.utility.model.TestModel;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.alfresco.rest.rm.community.model.common.Owner;
|
||||||
|
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
|
||||||
|
import org.alfresco.rest.rm.community.util.ReviewPeriodSerializer;
|
||||||
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for record folder properties
|
* POJO for record folder properties
|
||||||
@@ -73,62 +68,63 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@JsonIgnoreProperties (ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class RecordFolderProperties extends TestModel
|
public class RecordFolderProperties extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IS_CLOSED)
|
@JsonProperty(required = true, value = PROPERTIES_IS_CLOSED)
|
||||||
private Boolean isClosed;
|
private Boolean isClosed;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_HELD_CHILDREN_COUNT)
|
@JsonProperty(required = true, value = PROPERTIES_HELD_CHILDREN_COUNT)
|
||||||
private Integer heldChildrenCount;
|
private Integer heldChildrenCount;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
/** Optional parameters */
|
/** Optional parameters */
|
||||||
/************************/
|
/************************/
|
||||||
@JsonProperty (PROPERTIES_TITLE)
|
@JsonProperty(PROPERTIES_TITLE)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_VITAL_RECORD_INDICATOR)
|
@JsonProperty(PROPERTIES_VITAL_RECORD_INDICATOR)
|
||||||
private Boolean vitalRecordIndicator;
|
private Boolean vitalRecordIndicator;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_LOCATION)
|
@JsonProperty(PROPERTIES_LOCATION)
|
||||||
private String location;
|
private String location;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
|
||||||
private Boolean recordSearchHasDispositionSchedule;
|
private Boolean recordSearchHasDispositionSchedule;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_REVIEW_PERIOD)
|
@JsonProperty(PROPERTIES_REVIEW_PERIOD)
|
||||||
@JsonSerialize (using = ReviewPeriodSerializer.class)
|
@JsonSerialize(using = ReviewPeriodSerializer.class)
|
||||||
private ReviewPeriod reviewPeriod;
|
private ReviewPeriod reviewPeriod;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_CLASSIFICATION)
|
@JsonProperty(PROPERTIES_CLASSIFICATION)
|
||||||
private List<String> classification;
|
private List<String> classification;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_DESCRIPTION)
|
@JsonProperty(PROPERTIES_DESCRIPTION)
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_OWNER)
|
@JsonProperty(PROPERTIES_OWNER)
|
||||||
private Owner owner;
|
private Owner owner;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD)
|
||||||
private String recordSearchVitalRecordReviewPeriod;
|
private String recordSearchVitalRecordReviewPeriod;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION)
|
@JsonProperty(
|
||||||
|
PROPERTIES_RECORD_SEARCH_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION
|
||||||
|
)
|
||||||
private String recordSearchVitalRecordReviewPeriodExpression;
|
private String recordSearchVitalRecordReviewPeriodExpression;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_AUTHORITY)
|
||||||
private String recordSearchDispositionAuthority;
|
private String recordSearchDispositionAuthority;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_DISPOSITION_INSTRUCTIONS)
|
||||||
private String recordSearchDispositionInstructions;
|
private String recordSearchDispositionInstructions;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -29,8 +29,7 @@ package org.alfresco.rest.rm.community.model.rules;
|
|||||||
/**
|
/**
|
||||||
* Action values.
|
* Action values.
|
||||||
*/
|
*/
|
||||||
public enum ActionsOnRule
|
public enum ActionsOnRule {
|
||||||
{
|
|
||||||
COMPLETE_RECORD("declareRecord"),
|
COMPLETE_RECORD("declareRecord"),
|
||||||
REOPEN_RECORD("undeclareRecord"),
|
REOPEN_RECORD("undeclareRecord"),
|
||||||
OPEN_RECORD_FOLDER("openRecordFolder"),
|
OPEN_RECORD_FOLDER("openRecordFolder"),
|
||||||
@@ -54,13 +53,11 @@ public enum ActionsOnRule
|
|||||||
|
|
||||||
private String actionValue;
|
private String actionValue;
|
||||||
|
|
||||||
ActionsOnRule(String value)
|
ActionsOnRule(String value) {
|
||||||
{
|
|
||||||
this.actionValue = value;
|
this.actionValue = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getActionValue()
|
public String getActionValue() {
|
||||||
{
|
|
||||||
return actionValue;
|
return actionValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -29,20 +29,18 @@ package org.alfresco.rest.rm.community.model.rules;
|
|||||||
/**
|
/**
|
||||||
* enum used to find the when condition names options by their value
|
* enum used to find the when condition names options by their value
|
||||||
*/
|
*/
|
||||||
public enum ConditionsOnRule
|
public enum ConditionsOnRule {
|
||||||
{
|
|
||||||
UPDATE("update"),
|
UPDATE("update"),
|
||||||
ADDED("inbound"),
|
ADDED("inbound"),
|
||||||
REMOVED("outbound");
|
REMOVED("outbound");
|
||||||
|
|
||||||
private String whenConditionValue;
|
private String whenConditionValue;
|
||||||
|
|
||||||
ConditionsOnRule(String value)
|
ConditionsOnRule(String value) {
|
||||||
{
|
this.whenConditionValue = value;
|
||||||
this.whenConditionValue = value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getWhenConditionValue()
|
public String getWhenConditionValue() {
|
||||||
{
|
return whenConditionValue;
|
||||||
return whenConditionValue;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -31,8 +31,8 @@ import java.util.List;
|
|||||||
/**
|
/**
|
||||||
* A class describing the rule
|
* A class describing the rule
|
||||||
*/
|
*/
|
||||||
public class RuleDefinition
|
public class RuleDefinition {
|
||||||
{
|
|
||||||
private String id = "";
|
private String id = "";
|
||||||
private String title;
|
private String title;
|
||||||
private String description = "";
|
private String description = "";
|
||||||
@@ -52,152 +52,124 @@ public class RuleDefinition
|
|||||||
*
|
*
|
||||||
* @return the object
|
* @return the object
|
||||||
*/
|
*/
|
||||||
public static RuleDefinition createNewRule()
|
public static RuleDefinition createNewRule() {
|
||||||
{
|
|
||||||
return new RuleDefinition();
|
return new RuleDefinition();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getId()
|
public String getId() {
|
||||||
{
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition id(String id)
|
public RuleDefinition id(String id) {
|
||||||
{
|
|
||||||
this.id = id;
|
this.id = id;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTitle()
|
public String getTitle() {
|
||||||
{
|
|
||||||
return title;
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition title(String title)
|
public RuleDefinition title(String title) {
|
||||||
{
|
|
||||||
this.title = title;
|
this.title = title;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription()
|
public String getDescription() {
|
||||||
{
|
|
||||||
return description;
|
return description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition description(String description)
|
public RuleDefinition description(String description) {
|
||||||
{
|
|
||||||
this.description = description;
|
this.description = description;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDisabled()
|
public boolean isDisabled() {
|
||||||
{
|
|
||||||
return disabled;
|
return disabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition disabled(boolean disabled)
|
public RuleDefinition disabled(boolean disabled) {
|
||||||
{
|
|
||||||
this.disabled = disabled;
|
this.disabled = disabled;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isApplyToChildren()
|
public boolean isApplyToChildren() {
|
||||||
{
|
|
||||||
return applyToChildren;
|
return applyToChildren;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition applyToChildren(boolean applyToChildren)
|
public RuleDefinition applyToChildren(boolean applyToChildren) {
|
||||||
{
|
|
||||||
this.applyToChildren = applyToChildren;
|
this.applyToChildren = applyToChildren;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getRunInBackground()
|
public boolean getRunInBackground() {
|
||||||
{
|
|
||||||
return runInBackground;
|
return runInBackground;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition runInBackground(boolean runInBackground)
|
public RuleDefinition runInBackground(boolean runInBackground) {
|
||||||
{
|
|
||||||
this.runInBackground = runInBackground;
|
this.runInBackground = runInBackground;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRuleType()
|
public String getRuleType() {
|
||||||
{
|
|
||||||
return ruleType;
|
return ruleType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition ruleType(String ruleType)
|
public RuleDefinition ruleType(String ruleType) {
|
||||||
{
|
|
||||||
this.ruleType = ruleType;
|
this.ruleType = ruleType;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPath()
|
public String getPath() {
|
||||||
{
|
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition path(String path)
|
public RuleDefinition path(String path) {
|
||||||
{
|
|
||||||
this.path = path;
|
this.path = path;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getCreateRecordPath()
|
public Boolean getCreateRecordPath() {
|
||||||
{
|
|
||||||
return createRecordPath;
|
return createRecordPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition createRecordPath(boolean createRecordPath)
|
public RuleDefinition createRecordPath(boolean createRecordPath) {
|
||||||
{
|
|
||||||
this.createRecordPath = createRecordPath;
|
this.createRecordPath = createRecordPath;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getContentTitle()
|
public String getContentTitle() {
|
||||||
{
|
|
||||||
return contentTitle;
|
return contentTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition contentTitle(String contentTitle)
|
public RuleDefinition contentTitle(String contentTitle) {
|
||||||
{
|
|
||||||
this.contentTitle = contentTitle;
|
this.contentTitle = contentTitle;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getContentDescription()
|
public String getContentDescription() {
|
||||||
{
|
|
||||||
return contentDescription;
|
return contentDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition contentDescription(String contentDescription)
|
public RuleDefinition contentDescription(String contentDescription) {
|
||||||
{
|
|
||||||
this.contentDescription = contentDescription;
|
this.contentDescription = contentDescription;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRejectReason()
|
public String getRejectReason() {
|
||||||
{
|
|
||||||
return rejectReason;
|
return rejectReason;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition rejectReason(String rejectReason)
|
public RuleDefinition rejectReason(String rejectReason) {
|
||||||
{
|
|
||||||
this.rejectReason = rejectReason;
|
this.rejectReason = rejectReason;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getActions()
|
public List<String> getActions() {
|
||||||
{
|
|
||||||
return actions;
|
return actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RuleDefinition actions(List<String> actions)
|
public RuleDefinition actions(List<String> actions) {
|
||||||
{
|
|
||||||
this.actions = actions;
|
this.actions = actions;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,14 +27,12 @@
|
|||||||
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
|
||||||
@@ -46,15 +44,18 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RMSite extends RestSiteModel
|
public class RMSite extends RestSiteModel {
|
||||||
{
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RMSiteCompliance compliance;
|
private RMSiteCompliance compliance;
|
||||||
|
|
||||||
/** Private constructor allowing Lombok to include superclass fields in the builder. */
|
/** Private constructor allowing Lombok to include superclass fields in the builder. */
|
||||||
@Builder
|
@Builder
|
||||||
private RMSite(String title, String description, RMSiteCompliance compliance)
|
private RMSite(
|
||||||
{
|
String title,
|
||||||
|
String description,
|
||||||
|
RMSiteCompliance compliance
|
||||||
|
) {
|
||||||
this.setTitle(title);
|
this.setTitle(title);
|
||||||
this.setDescription(description);
|
this.setDescription(description);
|
||||||
this.compliance = compliance;
|
this.compliance = compliance;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -32,8 +32,7 @@ package org.alfresco.rest.rm.community.model.site;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public enum RMSiteCompliance
|
public enum RMSiteCompliance {
|
||||||
{
|
|
||||||
STANDARD,
|
STANDARD,
|
||||||
DOD5015
|
DOD5015,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -41,12 +41,12 @@ package org.alfresco.rest.rm.community.model.site;
|
|||||||
* @author Rodica Sutu
|
* @author Rodica Sutu
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class RMSiteFields
|
public class RMSiteFields {
|
||||||
{
|
|
||||||
public static final String ID = "id";
|
public static final String ID = "id";
|
||||||
public static final String COMPLIANCE = "compliance";
|
public static final String COMPLIANCE = "compliance";
|
||||||
public static final String TITLE = "title";
|
public static final String TITLE = "title";
|
||||||
public static final String DESCRIPTION = "description";
|
public static final String DESCRIPTION = "description";
|
||||||
public static final String VISIBILITY ="visibility";
|
public static final String VISIBILITY = "visibility";
|
||||||
public static final String ROLE = "role";
|
public static final String ROLE = "role";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,18 +27,15 @@
|
|||||||
|
|
||||||
package org.alfresco.rest.rm.community.model.transfer;
|
package org.alfresco.rest.rm.community.model.transfer;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.util.List;
|
||||||
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
|
||||||
@@ -51,33 +48,33 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class Transfer extends TestModel
|
public class Transfer extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private List<String> aspectNames;
|
private List<String> aspectNames;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private TransferProperties properties;
|
private TransferProperties properties;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,19 +27,16 @@
|
|||||||
|
|
||||||
package org.alfresco.rest.rm.community.model.transfer;
|
package org.alfresco.rest.rm.community.model.transfer;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
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 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
|
||||||
@@ -52,33 +49,33 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class TransferChild extends TestModel
|
public class TransferChild extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -34,7 +34,5 @@ import org.alfresco.rest.core.RestModels;
|
|||||||
* @author Silviu Dinuta
|
* @author Silviu Dinuta
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class TransferChildCollection extends RestModels<TransferChildEntry, TransferChildCollection>
|
public class TransferChildCollection
|
||||||
{
|
extends RestModels<TransferChildEntry, TransferChildCollection> {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,15 +27,13 @@
|
|||||||
|
|
||||||
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
|
||||||
@@ -48,8 +46,9 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class TransferChildEntry extends RestModels<Transfer, TransferChildEntry>
|
public class TransferChildEntry
|
||||||
{
|
extends RestModels<Transfer, TransferChildEntry> {
|
||||||
|
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private TransferChild entry;
|
private TransferChild entry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -64,19 +64,17 @@ 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
|
||||||
@@ -89,131 +87,130 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class TransferChildProperties extends TestModel
|
public class TransferChildProperties extends TestModel {
|
||||||
{
|
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
/** Mandatory parameters - Shared by record folders and records*/
|
/** Mandatory parameters - Shared by record folders and records*/
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
@JsonProperty (PROPERTIES_TITLE)
|
@JsonProperty(PROPERTIES_TITLE)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_DESCRIPTION)
|
@JsonProperty(PROPERTIES_DESCRIPTION)
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
/** Optional parameters - Applies only to record folders */
|
/** Optional parameters - Applies only to record folders */
|
||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
@JsonProperty (PROPERTIES_VITAL_RECORD_INDICATOR)
|
@JsonProperty(PROPERTIES_VITAL_RECORD_INDICATOR)
|
||||||
private Boolean vitalRecordIndicator;
|
private Boolean vitalRecordIndicator;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_REVIEW_PERIOD)
|
@JsonProperty(PROPERTIES_REVIEW_PERIOD)
|
||||||
@JsonSerialize (using = ReviewPeriodSerializer.class)
|
@JsonSerialize(using = ReviewPeriodSerializer.class)
|
||||||
private ReviewPeriod reviewPeriod;
|
private ReviewPeriod reviewPeriod;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_HELD_CHILDREN_COUNT)
|
@JsonProperty(PROPERTIES_HELD_CHILDREN_COUNT)
|
||||||
private Integer heldChildrenCount;
|
private Integer heldChildrenCount;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_LOCATION)
|
@JsonProperty(PROPERTIES_LOCATION)
|
||||||
private String location;
|
private String location;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_IS_CLOSED)
|
@JsonProperty(PROPERTIES_IS_CLOSED)
|
||||||
private Boolean isClosed;
|
private Boolean isClosed;
|
||||||
|
|
||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
/** Optional parameters - Applies only to records */
|
/** Optional parameters - Applies only to records */
|
||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
@JsonProperty (PROPERTIES_DATE_FILED)
|
@JsonProperty(PROPERTIES_DATE_FILED)
|
||||||
private String dateField;
|
private String dateField;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
|
@JsonProperty(PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
|
||||||
private Boolean recordSearchHasDispositionSchedule;
|
private Boolean recordSearchHasDispositionSchedule;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ORIGINAL_NAME)
|
@JsonProperty(PROPERTIES_ORIGINAL_NAME)
|
||||||
private String originalName;
|
private String originalName;
|
||||||
|
|
||||||
|
|
||||||
/*********************************/
|
/*********************************/
|
||||||
/** Electronic record parameters */
|
/** Electronic record parameters */
|
||||||
/*********************************/
|
/*********************************/
|
||||||
@JsonProperty (PROPERTIES_VERSION_TYPE)
|
@JsonProperty(PROPERTIES_VERSION_TYPE)
|
||||||
private String versionType;
|
private String versionType;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_VERSION_LABEL)
|
@JsonProperty(PROPERTIES_VERSION_LABEL)
|
||||||
private String versionLabel;
|
private String versionLabel;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_DATE_TIME_ORIGINAL)
|
@JsonProperty(PROPERTIES_DATE_TIME_ORIGINAL)
|
||||||
private String dateTimeOriginal;
|
private String dateTimeOriginal;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_EXPOSURE_TIME)
|
@JsonProperty(PROPERTIES_EXPOSURE_TIME)
|
||||||
private Double exposureTime;
|
private Double exposureTime;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_FLASH)
|
@JsonProperty(PROPERTIES_FLASH)
|
||||||
private Boolean flash;
|
private Boolean flash;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_F_NUMBER)
|
@JsonProperty(PROPERTIES_F_NUMBER)
|
||||||
private Double fNumber;
|
private Double fNumber;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_FOCAL_LENGTH)
|
@JsonProperty(PROPERTIES_FOCAL_LENGTH)
|
||||||
private Double focalLength;
|
private Double focalLength;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ISO_SPEED_RATINGS)
|
@JsonProperty(PROPERTIES_ISO_SPEED_RATINGS)
|
||||||
private Integer isoSpeedRatings;
|
private Integer isoSpeedRatings;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_MANUFACTURER)
|
@JsonProperty(PROPERTIES_MANUFACTURER)
|
||||||
private String manufacturer;
|
private String manufacturer;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_MODEL)
|
@JsonProperty(PROPERTIES_MODEL)
|
||||||
private String model;
|
private String model;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ORIENTATION)
|
@JsonProperty(PROPERTIES_ORIENTATION)
|
||||||
private Integer orientation;
|
private Integer orientation;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PIXEL_X_DIMENSION)
|
@JsonProperty(PROPERTIES_PIXEL_X_DIMENSION)
|
||||||
private Integer pixelXDimension;
|
private Integer pixelXDimension;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PIXEL_Y_DIMENSION)
|
@JsonProperty(PROPERTIES_PIXEL_Y_DIMENSION)
|
||||||
private Integer pixelYDimension;
|
private Integer pixelYDimension;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RESOLUTION_UNIT)
|
@JsonProperty(PROPERTIES_RESOLUTION_UNIT)
|
||||||
private String resolutionUnit;
|
private String resolutionUnit;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_SOFTWARE)
|
@JsonProperty(PROPERTIES_SOFTWARE)
|
||||||
private String software;
|
private String software;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_X_RESOLUTION)
|
@JsonProperty(PROPERTIES_X_RESOLUTION)
|
||||||
private Double xResolution;
|
private Double xResolution;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_Y_RESOLUTION)
|
@JsonProperty(PROPERTIES_Y_RESOLUTION)
|
||||||
private Double yResolution;
|
private Double yResolution;
|
||||||
|
|
||||||
/*************************************/
|
/*************************************/
|
||||||
/** Non-electronic record parameters */
|
/** Non-electronic record parameters */
|
||||||
/*************************************/
|
/*************************************/
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_SHELF)
|
@JsonProperty(PROPERTIES_SHELF)
|
||||||
private String shelf;
|
private String shelf;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_STORAGE_LOCATION)
|
@JsonProperty(PROPERTIES_STORAGE_LOCATION)
|
||||||
private String storageLocation;
|
private String storageLocation;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_FILE)
|
@JsonProperty(PROPERTIES_FILE)
|
||||||
private String file;
|
private String file;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_BOX)
|
@JsonProperty(PROPERTIES_BOX)
|
||||||
private String box;
|
private String box;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_NUMBER_OF_COPIES)
|
@JsonProperty(PROPERTIES_NUMBER_OF_COPIES)
|
||||||
private Integer numberOfCopies;
|
private Integer numberOfCopies;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PHYSICAL_SIZE)
|
@JsonProperty(PROPERTIES_PHYSICAL_SIZE)
|
||||||
private Integer physicalSize;
|
private Integer physicalSize;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_OWNER)
|
@JsonProperty(PROPERTIES_OWNER)
|
||||||
private Owner owner;
|
private Owner owner;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -34,7 +34,5 @@ import org.alfresco.rest.core.RestModels;
|
|||||||
* @author Silviu Dinuta
|
* @author Silviu Dinuta
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class TransferCollection extends RestModels<TransferEntry, TransferCollection>
|
public class TransferCollection
|
||||||
{
|
extends RestModels<TransferEntry, TransferCollection> {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,16 +27,14 @@
|
|||||||
|
|
||||||
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
|
||||||
@@ -49,8 +47,9 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class TransferEntry extends RestModels<TransferContainer, TransferEntry>
|
public class TransferEntry
|
||||||
{
|
extends RestModels<TransferContainer, TransferEntry> {
|
||||||
|
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private Transfer entry;
|
private Transfer entry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,23 +27,21 @@
|
|||||||
|
|
||||||
package org.alfresco.rest.rm.community.model.transfer;
|
package org.alfresco.rest.rm.community.model.transfer;
|
||||||
|
|
||||||
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ACCESSION_INDICATOR;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_IDENTIFIER;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_OWNER;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
|
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_PDF_INDICATOR;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_PDF_INDICATOR;
|
||||||
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ROOT_NODE_REF;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TRANSFER_LOCATION;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_TRANSFER_LOCATION;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentFields.PROPERTIES_ACCESSION_INDICATOR;
|
|
||||||
|
|
||||||
import org.alfresco.rest.rm.community.model.common.Owner;
|
|
||||||
import org.alfresco.utility.model.TestModel;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.alfresco.rest.rm.community.model.common.Owner;
|
||||||
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for Transfer properties
|
* POJO for Transfer properties
|
||||||
@@ -56,29 +54,29 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class TransferProperties extends TestModel
|
public class TransferProperties extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
/** Optional parameters */
|
/** Optional parameters */
|
||||||
/************************/
|
/************************/
|
||||||
@JsonProperty (PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_OWNER)
|
@JsonProperty(PROPERTIES_OWNER)
|
||||||
private Owner owner;
|
private Owner owner;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PDF_INDICATOR)
|
@JsonProperty(PROPERTIES_PDF_INDICATOR)
|
||||||
private Boolean pdfIndicator;
|
private Boolean pdfIndicator;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_TRANSFER_LOCATION)
|
@JsonProperty(PROPERTIES_TRANSFER_LOCATION)
|
||||||
private String transferLocation;
|
private String transferLocation;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ACCESSION_INDICATOR)
|
@JsonProperty(PROPERTIES_ACCESSION_INDICATOR)
|
||||||
private Boolean accessionIndicator;
|
private Boolean accessionIndicator;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,18 +27,15 @@
|
|||||||
|
|
||||||
package org.alfresco.rest.rm.community.model.transfercontainer;
|
package org.alfresco.rest.rm.community.model.transfercontainer;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.util.List;
|
||||||
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
|
||||||
@@ -51,39 +48,39 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class TransferContainer extends TestModel
|
public class TransferContainer extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private List<String> aspectNames;
|
private List<String> aspectNames;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private TransferContainerProperties properties;
|
private TransferContainerProperties properties;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -31,15 +31,13 @@ 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
|
||||||
@@ -52,21 +50,20 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class TransferContainerProperties extends TestModel
|
public class TransferContainerProperties extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
/** Optional parameters */
|
/** Optional parameters */
|
||||||
/************************/
|
/************************/
|
||||||
@JsonProperty (PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_COUNT)
|
@JsonProperty(PROPERTIES_COUNT)
|
||||||
private Integer count;
|
private Integer count;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,19 +26,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.unfiledcontainer;
|
package org.alfresco.rest.rm.community.model.unfiledcontainer;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.alfresco.rest.model.RestByUserModel;
|
|
||||||
import org.alfresco.rest.rm.community.model.common.Path;
|
|
||||||
import org.alfresco.utility.model.TestModel;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.util.List;
|
||||||
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
|
||||||
@@ -51,39 +48,39 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class UnfiledContainer extends TestModel
|
public class UnfiledContainer extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private List<String> aspectNames;
|
private List<String> aspectNames;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private UnfiledContainerProperties properties;
|
private UnfiledContainerProperties properties;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,21 +26,18 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.unfiledcontainer;
|
package org.alfresco.rest.rm.community.model.unfiledcontainer;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.alfresco.rest.model.RestByUserModel;
|
|
||||||
import org.alfresco.rest.rm.community.model.common.Path;
|
|
||||||
import org.alfresco.rest.rm.community.model.record.RecordContent;
|
|
||||||
import org.alfresco.utility.model.TestModel;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.util.List;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.alfresco.rest.model.RestByUserModel;
|
||||||
|
import org.alfresco.rest.rm.community.model.common.Path;
|
||||||
|
import org.alfresco.rest.rm.community.model.record.RecordContent;
|
||||||
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for record category child
|
* POJO for record category child
|
||||||
@@ -53,40 +50,40 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@JsonIgnoreProperties (ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class UnfiledContainerChild extends TestModel
|
public class UnfiledContainerChild extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private Boolean isUnfiledRecordFolder;
|
private Boolean isUnfiledRecordFolder;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private Boolean isRecord;
|
private Boolean isRecord;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -35,7 +35,5 @@ import org.alfresco.rest.core.RestModels;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class UnfiledContainerChildCollection extends RestModels<UnfiledContainerChildEntry, UnfiledContainerChildCollection>
|
public class UnfiledContainerChildCollection
|
||||||
{
|
extends RestModels<UnfiledContainerChildEntry, UnfiledContainerChildCollection> {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,11 +27,9 @@
|
|||||||
package org.alfresco.rest.rm.community.model.unfiledcontainer;
|
package org.alfresco.rest.rm.community.model.unfiledcontainer;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
import org.alfresco.rest.core.RestModels;
|
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.alfresco.rest.core.RestModels;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for record category child entry
|
* POJO for record category child entry
|
||||||
@@ -41,8 +39,9 @@ import lombok.EqualsAndHashCode;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public class UnfiledContainerChildEntry extends RestModels<UnfiledContainer, UnfiledContainerChildEntry>
|
public class UnfiledContainerChildEntry
|
||||||
{
|
extends RestModels<UnfiledContainer, UnfiledContainerChildEntry> {
|
||||||
|
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private UnfiledContainerChild entry;
|
private UnfiledContainerChild entry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -61,15 +61,13 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
import org.alfresco.rest.rm.community.model.common.Owner;
|
|
||||||
import org.alfresco.utility.model.TestModel;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.alfresco.rest.rm.community.model.common.Owner;
|
||||||
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for record category child properties
|
* POJO for record category child properties
|
||||||
@@ -83,112 +81,112 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@JsonIgnoreProperties (ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class UnfiledContainerChildProperties extends TestModel
|
public class UnfiledContainerChildProperties extends TestModel {
|
||||||
{
|
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
/** Mandatory parameters - Shared by unfiled record folder and records */
|
/** Mandatory parameters - Shared by unfiled record folder and records */
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
@JsonProperty (required = true, value = PROPERTIES_TITLE)
|
@JsonProperty(required = true, value = PROPERTIES_TITLE)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_DESCRIPTION)
|
@JsonProperty(required = true, value = PROPERTIES_DESCRIPTION)
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
@JsonProperty (value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
|
@JsonProperty(value = PROPERTIES_RECORD_SEARCH_HAS_DISPOSITION_SCHEDULE)
|
||||||
private Boolean recordSearchHasDispositionSchedule;
|
private Boolean recordSearchHasDispositionSchedule;
|
||||||
|
|
||||||
/*********************************/
|
/*********************************/
|
||||||
/** Electronic record parameters */
|
/** Electronic record parameters */
|
||||||
/*********************************/
|
/*********************************/
|
||||||
@JsonProperty (PROPERTIES_VERSION_TYPE)
|
@JsonProperty(PROPERTIES_VERSION_TYPE)
|
||||||
private String versionType;
|
private String versionType;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_VERSION_LABEL)
|
@JsonProperty(PROPERTIES_VERSION_LABEL)
|
||||||
private String versionLabel;
|
private String versionLabel;
|
||||||
|
|
||||||
@JsonProperty(PROPERTIES_VERSIONED_NODEREF)
|
@JsonProperty(PROPERTIES_VERSIONED_NODEREF)
|
||||||
private String versionedNodeRef;
|
private String versionedNodeRef;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RMV_VERSIONED)
|
@JsonProperty(PROPERTIES_RMV_VERSIONED)
|
||||||
private String recordVersionLabel;
|
private String recordVersionLabel;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_DATE_TIME_ORIGINAL)
|
@JsonProperty(PROPERTIES_DATE_TIME_ORIGINAL)
|
||||||
private String dateTimeOriginal;
|
private String dateTimeOriginal;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_EXPOSURE_TIME)
|
@JsonProperty(PROPERTIES_EXPOSURE_TIME)
|
||||||
private Double exposureTime;
|
private Double exposureTime;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_FLASH)
|
@JsonProperty(PROPERTIES_FLASH)
|
||||||
private Boolean flash;
|
private Boolean flash;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_F_NUMBER)
|
@JsonProperty(PROPERTIES_F_NUMBER)
|
||||||
private Double fNumber;
|
private Double fNumber;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_FOCAL_LENGTH)
|
@JsonProperty(PROPERTIES_FOCAL_LENGTH)
|
||||||
private Double focalLength;
|
private Double focalLength;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ISO_SPEED_RATINGS)
|
@JsonProperty(PROPERTIES_ISO_SPEED_RATINGS)
|
||||||
private Integer isoSpeedRatings;
|
private Integer isoSpeedRatings;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_MANUFACTURER)
|
@JsonProperty(PROPERTIES_MANUFACTURER)
|
||||||
private String manufacturer;
|
private String manufacturer;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_MODEL)
|
@JsonProperty(PROPERTIES_MODEL)
|
||||||
private String model;
|
private String model;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ORIENTATION)
|
@JsonProperty(PROPERTIES_ORIENTATION)
|
||||||
private Integer orientation;
|
private Integer orientation;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PIXEL_X_DIMENSION)
|
@JsonProperty(PROPERTIES_PIXEL_X_DIMENSION)
|
||||||
private Integer pixelXDimension;
|
private Integer pixelXDimension;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PIXEL_Y_DIMENSION)
|
@JsonProperty(PROPERTIES_PIXEL_Y_DIMENSION)
|
||||||
private Integer pixelYDimension;
|
private Integer pixelYDimension;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_RESOLUTION_UNIT)
|
@JsonProperty(PROPERTIES_RESOLUTION_UNIT)
|
||||||
private String resolutionUnit;
|
private String resolutionUnit;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_SOFTWARE)
|
@JsonProperty(PROPERTIES_SOFTWARE)
|
||||||
private String software;
|
private String software;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_X_RESOLUTION)
|
@JsonProperty(PROPERTIES_X_RESOLUTION)
|
||||||
private Double xResolution;
|
private Double xResolution;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_Y_RESOLUTION)
|
@JsonProperty(PROPERTIES_Y_RESOLUTION)
|
||||||
private Double yResolution;
|
private Double yResolution;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_ORIGINAL_NAME)
|
@JsonProperty(PROPERTIES_ORIGINAL_NAME)
|
||||||
private String originalName;
|
private String originalName;
|
||||||
|
|
||||||
/*************************************/
|
/*************************************/
|
||||||
/** Non-electronic record parameters */
|
/** Non-electronic record parameters */
|
||||||
/*************************************/
|
/*************************************/
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_SHELF)
|
@JsonProperty(PROPERTIES_SHELF)
|
||||||
private String shelf;
|
private String shelf;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_STORAGE_LOCATION)
|
@JsonProperty(PROPERTIES_STORAGE_LOCATION)
|
||||||
private String storageLocation;
|
private String storageLocation;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_FILE)
|
@JsonProperty(PROPERTIES_FILE)
|
||||||
private String file;
|
private String file;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_BOX)
|
@JsonProperty(PROPERTIES_BOX)
|
||||||
private String box;
|
private String box;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_NUMBER_OF_COPIES)
|
@JsonProperty(PROPERTIES_NUMBER_OF_COPIES)
|
||||||
private Integer numberOfCopies;
|
private Integer numberOfCopies;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_PHYSICAL_SIZE)
|
@JsonProperty(PROPERTIES_PHYSICAL_SIZE)
|
||||||
private Integer physicalSize;
|
private Integer physicalSize;
|
||||||
|
|
||||||
@JsonProperty (PROPERTIES_OWNER)
|
@JsonProperty(PROPERTIES_OWNER)
|
||||||
private Owner owner;
|
private Owner owner;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -31,14 +31,12 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
import org.alfresco.utility.model.TestModel;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POJO for file plan properties
|
* POJO for file plan properties
|
||||||
@@ -51,15 +49,15 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@JsonIgnoreProperties (ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class UnfiledContainerProperties extends TestModel
|
public class UnfiledContainerProperties extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true, value = PROPERTIES_IDENTIFIER)
|
@JsonProperty(required = true, value = PROPERTIES_IDENTIFIER)
|
||||||
private String identifier;
|
private String identifier;
|
||||||
|
|
||||||
@JsonProperty (required = true, value = PROPERTIES_ROOT_NODE_REF)
|
@JsonProperty(required = true, value = PROPERTIES_ROOT_NODE_REF)
|
||||||
private String rootNodeRef;
|
private String rootNodeRef;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,20 +26,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.model.unfiledcontainer;
|
package org.alfresco.rest.rm.community.model.unfiledcontainer;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.alfresco.rest.model.RestByUserModel;
|
|
||||||
import org.alfresco.rest.rm.community.model.common.Path;
|
|
||||||
import org.alfresco.rest.rm.community.model.record.RecordContent;
|
|
||||||
import org.alfresco.utility.model.TestModel;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import java.util.List;
|
||||||
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
|
||||||
@@ -52,33 +49,33 @@ import lombok.NoArgsConstructor;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class UnfiledRecordFolder extends TestModel
|
public class UnfiledRecordFolder extends TestModel {
|
||||||
{
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/** Mandatory parameters */
|
/** Mandatory parameters */
|
||||||
/*************************/
|
/*************************/
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel createdByUser;
|
private RestByUserModel createdByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String modifiedAt;
|
private String modifiedAt;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private RestByUserModel modifiedByUser;
|
private RestByUserModel modifiedByUser;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String nodeType;
|
private String nodeType;
|
||||||
|
|
||||||
@JsonProperty (required = true)
|
@JsonProperty(required = true)
|
||||||
private String parentId;
|
private String parentId;
|
||||||
|
|
||||||
/************************/
|
/************************/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -32,8 +32,7 @@ package org.alfresco.rest.rm.community.model.user;
|
|||||||
* @author Rodica Sutu
|
* @author Rodica Sutu
|
||||||
* @since 2.7
|
* @since 2.7
|
||||||
*/
|
*/
|
||||||
public class UserCapabilities
|
public class UserCapabilities {
|
||||||
{
|
|
||||||
|
|
||||||
/** The id of the view records capability. */
|
/** The id of the view records capability. */
|
||||||
public static final String VIEW_RECORDS_CAP = "ViewRecords";
|
public static final String VIEW_RECORDS_CAP = "ViewRecords";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -28,20 +28,18 @@ package org.alfresco.rest.rm.community.model.user;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Constants for RM user capabilities
|
* Constants for RM user capabilities
|
||||||
*
|
*
|
||||||
* @author Kristijan Conkas
|
* @author Kristijan Conkas
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public enum UserPermissions
|
public enum UserPermissions {
|
||||||
{
|
|
||||||
PERMISSION_FILING("Filing"),
|
PERMISSION_FILING("Filing"),
|
||||||
PERMISSION_READ_RECORDS("ReadRecords"),
|
PERMISSION_READ_RECORDS("ReadRecords"),
|
||||||
PERMISSION_FILE_RECORDS("FileRecords");
|
PERMISSION_FILE_RECORDS("FileRecords");
|
||||||
|
|
||||||
public final String permissionId;
|
public final String permissionId;
|
||||||
|
|
||||||
UserPermissions(String permissionId)
|
UserPermissions(String permissionId) {
|
||||||
{
|
|
||||||
this.permissionId = permissionId;
|
this.permissionId = permissionId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -33,23 +33,22 @@ package org.alfresco.rest.rm.community.model.user;
|
|||||||
* @author Kristijan Conkas
|
* @author Kristijan Conkas
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public enum UserRoles
|
public enum UserRoles {
|
||||||
{
|
|
||||||
IN_PLACE_WRITERS("ExtendedWriters", "In-Place Writers"),
|
IN_PLACE_WRITERS("ExtendedWriters", "In-Place Writers"),
|
||||||
ROLE_RM_ADMIN("Administrator", "Records Management Administrator"),
|
ROLE_RM_ADMIN("Administrator", "Records Management Administrator"),
|
||||||
ROLE_RM_MANAGER("RecordsManager", "Records Management Manager"),
|
ROLE_RM_MANAGER("RecordsManager", "Records Management Manager"),
|
||||||
ROLE_RM_POWER_USER("PowerUser", "Records Management Power User"),
|
ROLE_RM_POWER_USER("PowerUser", "Records Management Power User"),
|
||||||
ROLE_RM_SECURITY_OFFICER("SecurityOfficer", "Records Management Security Officer"),
|
ROLE_RM_SECURITY_OFFICER(
|
||||||
|
"SecurityOfficer",
|
||||||
|
"Records Management Security Officer"
|
||||||
|
),
|
||||||
ROLE_RM_USER("User", "Records Management User");
|
ROLE_RM_USER("User", "Records Management User");
|
||||||
|
|
||||||
public final String roleId;
|
public final String roleId;
|
||||||
public final String displayName;
|
public final String displayName;
|
||||||
|
|
||||||
UserRoles(String roleId, String displayName)
|
UserRoles(String roleId, String displayName) {
|
||||||
{
|
|
||||||
this.roleId = roleId;
|
this.roleId = roleId;
|
||||||
this.displayName = displayName;
|
this.displayName = displayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -29,11 +29,10 @@ package org.alfresco.rest.rm.community.requests;
|
|||||||
import static lombok.AccessLevel.PRIVATE;
|
import static lombok.AccessLevel.PRIVATE;
|
||||||
import static lombok.AccessLevel.PROTECTED;
|
import static lombok.AccessLevel.PROTECTED;
|
||||||
|
|
||||||
import org.alfresco.rest.core.RMRestWrapper;
|
|
||||||
import org.alfresco.rest.requests.ModelRequest;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import org.alfresco.rest.core.RMRestWrapper;
|
||||||
|
import org.alfresco.rest.requests.ModelRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extends {@link ModelRequest} to set {@link RMRestWrapper}
|
* Extends {@link ModelRequest} to set {@link RMRestWrapper}
|
||||||
@@ -41,17 +40,16 @@ import lombok.Setter;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public abstract class RMModelRequest<Request> extends ModelRequest<Request>
|
public abstract class RMModelRequest<Request> extends ModelRequest<Request> {
|
||||||
{
|
|
||||||
@Getter (value = PROTECTED)
|
@Getter(value = PROTECTED)
|
||||||
@Setter (value = PRIVATE)
|
@Setter(value = PRIVATE)
|
||||||
private RMRestWrapper rmRestWrapper;
|
private RMRestWrapper rmRestWrapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param rmRestWrapper
|
* @param rmRestWrapper
|
||||||
*/
|
*/
|
||||||
public RMModelRequest(RMRestWrapper rmRestWrapper)
|
public RMModelRequest(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper.getRestWrapper());
|
super(rmRestWrapper.getRestWrapper());
|
||||||
setRmRestWrapper(rmRestWrapper);
|
setRmRestWrapper(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -30,11 +30,10 @@ import static java.lang.Integer.parseInt;
|
|||||||
import static java.lang.String.format;
|
import static java.lang.String.format;
|
||||||
|
|
||||||
import io.restassured.RestAssured;
|
import io.restassured.RestAssured;
|
||||||
|
|
||||||
import org.alfresco.rest.core.RMRestProperties;
|
import org.alfresco.rest.core.RMRestProperties;
|
||||||
import org.alfresco.rest.core.RMRestWrapper;
|
import org.alfresco.rest.core.RMRestWrapper;
|
||||||
import org.alfresco.rest.rm.community.requests.gscore.api.ActionsExecutionAPI;
|
|
||||||
import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
||||||
|
import org.alfresco.rest.rm.community.requests.gscore.api.ActionsExecutionAPI;
|
||||||
import org.alfresco.rest.rm.community.requests.gscore.api.FilePlanAPI;
|
import org.alfresco.rest.rm.community.requests.gscore.api.FilePlanAPI;
|
||||||
import org.alfresco.rest.rm.community.requests.gscore.api.FilesAPI;
|
import org.alfresco.rest.rm.community.requests.gscore.api.FilesAPI;
|
||||||
import org.alfresco.rest.rm.community.requests.gscore.api.RMSiteAPI;
|
import org.alfresco.rest.rm.community.requests.gscore.api.RMSiteAPI;
|
||||||
@@ -54,18 +53,25 @@ import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledRecordFolderAPI
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class GSCoreAPI extends RMModelRequest
|
public class GSCoreAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper 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
|
||||||
|
) {
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
RestAssured.baseURI = format("%s://%s", rmRestProperties.getScheme(), rmRestProperties.getServer());
|
RestAssured.baseURI =
|
||||||
|
format(
|
||||||
|
"%s://%s",
|
||||||
|
rmRestProperties.getScheme(),
|
||||||
|
rmRestProperties.getServer()
|
||||||
|
);
|
||||||
RestAssured.port = parseInt(rmRestProperties.getPort());
|
RestAssured.port = parseInt(rmRestProperties.getPort());
|
||||||
RestAssured.basePath = rmRestProperties.getRestRmPath();
|
RestAssured.basePath = rmRestProperties.getRestRmPath();
|
||||||
restWrapper.configureRequestSpec().setBasePath(RestAssured.basePath);
|
restWrapper.configureRequestSpec().setBasePath(RestAssured.basePath);
|
||||||
@@ -76,9 +82,8 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link RMSiteAPI}
|
* @return {@link RMSiteAPI}
|
||||||
*/
|
*/
|
||||||
public RMSiteAPI usingRMSite()
|
public RMSiteAPI usingRMSite() {
|
||||||
{
|
return new RMSiteAPI(getRmRestWrapper());
|
||||||
return new RMSiteAPI(getRmRestWrapper());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -86,8 +91,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link FilePlanAPI}
|
* @return {@link FilePlanAPI}
|
||||||
*/
|
*/
|
||||||
public FilePlanAPI usingFilePlans()
|
public FilePlanAPI usingFilePlans() {
|
||||||
{
|
|
||||||
return new FilePlanAPI(getRmRestWrapper());
|
return new FilePlanAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,8 +100,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link RecordCategoryAPI}
|
* @return {@link RecordCategoryAPI}
|
||||||
*/
|
*/
|
||||||
public RecordCategoryAPI usingRecordCategory()
|
public RecordCategoryAPI usingRecordCategory() {
|
||||||
{
|
|
||||||
return new RecordCategoryAPI(getRmRestWrapper());
|
return new RecordCategoryAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,8 +109,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link RecordFolderAPI}
|
* @return {@link RecordFolderAPI}
|
||||||
*/
|
*/
|
||||||
public RecordFolderAPI usingRecordFolder()
|
public RecordFolderAPI usingRecordFolder() {
|
||||||
{
|
|
||||||
return new RecordFolderAPI(getRmRestWrapper());
|
return new RecordFolderAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,8 +118,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link RecordsAPI}
|
* @return {@link RecordsAPI}
|
||||||
*/
|
*/
|
||||||
public RecordsAPI usingRecords()
|
public RecordsAPI usingRecords() {
|
||||||
{
|
|
||||||
return new RecordsAPI(getRmRestWrapper());
|
return new RecordsAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,8 +127,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link FilesAPI}
|
* @return {@link FilesAPI}
|
||||||
*/
|
*/
|
||||||
public FilesAPI usingFiles()
|
public FilesAPI usingFiles() {
|
||||||
{
|
|
||||||
return new FilesAPI(getRmRestWrapper());
|
return new FilesAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,8 +136,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link TransferContainerAPI}
|
* @return {@link TransferContainerAPI}
|
||||||
*/
|
*/
|
||||||
public TransferContainerAPI usingTransferContainer()
|
public TransferContainerAPI usingTransferContainer() {
|
||||||
{
|
|
||||||
return new TransferContainerAPI(getRmRestWrapper());
|
return new TransferContainerAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,8 +145,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link TransferAPI}
|
* @return {@link TransferAPI}
|
||||||
*/
|
*/
|
||||||
public TransferAPI usingTransfer()
|
public TransferAPI usingTransfer() {
|
||||||
{
|
|
||||||
return new TransferAPI(getRmRestWrapper());
|
return new TransferAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,8 +154,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link UnfiledContainerAPI}
|
* @return {@link UnfiledContainerAPI}
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerAPI usingUnfiledContainers()
|
public UnfiledContainerAPI usingUnfiledContainers() {
|
||||||
{
|
|
||||||
return new UnfiledContainerAPI(getRmRestWrapper());
|
return new UnfiledContainerAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,8 +163,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link UnfiledRecordFolderAPI}
|
* @return {@link UnfiledRecordFolderAPI}
|
||||||
*/
|
*/
|
||||||
public UnfiledRecordFolderAPI usingUnfiledRecordFolder()
|
public UnfiledRecordFolderAPI usingUnfiledRecordFolder() {
|
||||||
{
|
|
||||||
return new UnfiledRecordFolderAPI(getRmRestWrapper());
|
return new UnfiledRecordFolderAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,8 +172,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link RMUserAPI}
|
* @return {@link RMUserAPI}
|
||||||
*/
|
*/
|
||||||
public RMUserAPI usingRMUser()
|
public RMUserAPI usingRMUser() {
|
||||||
{
|
|
||||||
return new RMUserAPI(getRmRestWrapper());
|
return new RMUserAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,8 +181,7 @@ public class GSCoreAPI extends RMModelRequest
|
|||||||
*
|
*
|
||||||
* @return {@link ActionsExecutionAPI}
|
* @return {@link ActionsExecutionAPI}
|
||||||
*/
|
*/
|
||||||
public ActionsExecutionAPI usingActionsExecutionsAPI()
|
public ActionsExecutionAPI usingActionsExecutionsAPI() {
|
||||||
{
|
|
||||||
return new ActionsExecutionAPI(getRmRestWrapper());
|
return new ActionsExecutionAPI(getRmRestWrapper());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,7 +27,6 @@
|
|||||||
package org.alfresco.rest.rm.community.requests.gscore.api;
|
package org.alfresco.rest.rm.community.requests.gscore.api;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import org.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;
|
||||||
@@ -41,13 +40,12 @@ import org.json.JSONObject;
|
|||||||
* @author Claudia Agache
|
* @author Claudia Agache
|
||||||
* @since 3.1
|
* @since 3.1
|
||||||
*/
|
*/
|
||||||
public class ActionsExecutionAPI extends RMModelRequest
|
public class ActionsExecutionAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public ActionsExecutionAPI(RMRestWrapper rmRestWrapper)
|
public ActionsExecutionAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,11 +56,18 @@ public class ActionsExecutionAPI extends RMModelRequest
|
|||||||
* @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,
|
||||||
return getRmRestWrapper().withCoreAPI().usingActions()
|
String destinationPath
|
||||||
.executeAction(ActionsOnRule.DECLARE_AS_RECORD.getActionValue(), targetNode,
|
) throws Exception {
|
||||||
ImmutableMap.of("path", destinationPath));
|
return getRmRestWrapper()
|
||||||
|
.withCoreAPI()
|
||||||
|
.usingActions()
|
||||||
|
.executeAction(
|
||||||
|
ActionsOnRule.DECLARE_AS_RECORD.getActionValue(),
|
||||||
|
targetNode,
|
||||||
|
ImmutableMap.of("path", destinationPath)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -71,13 +76,17 @@ public class ActionsExecutionAPI extends RMModelRequest
|
|||||||
* @param targetNode the node on which the action is executed
|
* @param targetNode the node on which the action is executed
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public JSONObject declareAsRecord(RepoTestModel targetNode) throws Exception
|
public JSONObject declareAsRecord(RepoTestModel targetNode)
|
||||||
{
|
throws Exception {
|
||||||
return getRmRestWrapper().withCoreAPI().usingActions()
|
return getRmRestWrapper()
|
||||||
.executeAction(ActionsOnRule.DECLARE_AS_RECORD.getActionValue(), targetNode);
|
.withCoreAPI()
|
||||||
|
.usingActions()
|
||||||
|
.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
|
||||||
*
|
*
|
||||||
@@ -85,11 +94,18 @@ public class ActionsExecutionAPI extends RMModelRequest
|
|||||||
* @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,
|
||||||
return getRmRestWrapper().withCoreAPI().usingActions()
|
String destinationPath
|
||||||
.executeAction(ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(), targetNode,
|
) throws Exception {
|
||||||
ImmutableMap.of("path", destinationPath));
|
return getRmRestWrapper()
|
||||||
|
.withCoreAPI()
|
||||||
|
.usingActions()
|
||||||
|
.executeAction(
|
||||||
|
ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(),
|
||||||
|
targetNode,
|
||||||
|
ImmutableMap.of("path", destinationPath)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -98,10 +114,15 @@ public class ActionsExecutionAPI extends RMModelRequest
|
|||||||
* @param targetNode the node on which the action is executed
|
* @param targetNode the node on which the action is executed
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public JSONObject declareVersionAsRecord(RepoTestModel targetNode) throws Exception
|
public JSONObject declareVersionAsRecord(RepoTestModel targetNode)
|
||||||
{
|
throws Exception {
|
||||||
return getRmRestWrapper().withCoreAPI().usingActions()
|
return getRmRestWrapper()
|
||||||
.executeAction(ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(), targetNode);
|
.withCoreAPI()
|
||||||
|
.usingActions()
|
||||||
|
.executeAction(
|
||||||
|
ActionsOnRule.DECLARE_VERSION_AS_RECORD.getActionValue(),
|
||||||
|
targetNode
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -111,10 +132,14 @@ public class ActionsExecutionAPI extends RMModelRequest
|
|||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public JSONObject addWORMLock(RepoTestModel targetNode)
|
public JSONObject addWORMLock(RepoTestModel targetNode) {
|
||||||
{
|
return getRmRestWrapper()
|
||||||
return getRmRestWrapper().withCoreAPI().usingActions()
|
.withCoreAPI()
|
||||||
.executeAction(ActionsOnRule.WORM_LOCK.getActionValue(), targetNode);
|
.usingActions()
|
||||||
|
.executeAction(
|
||||||
|
ActionsOnRule.WORM_LOCK.getActionValue(),
|
||||||
|
targetNode
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -125,10 +150,20 @@ public class ActionsExecutionAPI extends RMModelRequest
|
|||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public JSONObject addWORMLock(RepoTestModel targetNode, int retentionPeriod)
|
public JSONObject addWORMLock(
|
||||||
{
|
RepoTestModel targetNode,
|
||||||
return getRmRestWrapper().withCoreAPI().usingActions()
|
int retentionPeriod
|
||||||
.executeAction(ActionsOnRule.WORM_LOCK.getActionValue(), targetNode,
|
) {
|
||||||
ImmutableMap.of("retentionPeriod", String.valueOf(retentionPeriod)));
|
return getRmRestWrapper()
|
||||||
|
.withCoreAPI()
|
||||||
|
.usingActions()
|
||||||
|
.executeAction(
|
||||||
|
ActionsOnRule.WORM_LOCK.getActionValue(),
|
||||||
|
targetNode,
|
||||||
|
ImmutableMap.of(
|
||||||
|
"retentionPeriod",
|
||||||
|
String.valueOf(retentionPeriod)
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -49,23 +49,21 @@ import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class FilePlanAPI extends RMModelRequest
|
public class FilePlanAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public FilePlanAPI(RMRestWrapper rmRestWrapper)
|
public FilePlanAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getFilePlan(String, String)}
|
* see {@link #getFilePlan(String, String)}
|
||||||
*/
|
*/
|
||||||
public FilePlan getFilePlan(String filePlanId)
|
public FilePlan getFilePlan(String filePlanId) {
|
||||||
{
|
|
||||||
mandatoryString("filePlanId", filePlanId);
|
mandatoryString("filePlanId", filePlanId);
|
||||||
|
|
||||||
return getFilePlan(filePlanId, EMPTY);
|
return getFilePlan(filePlanId, EMPTY);
|
||||||
@@ -85,23 +83,25 @@ public class FilePlanAPI extends RMModelRequest
|
|||||||
* <li>{@code filePlanId} does not exist</li>
|
* <li>{@code filePlanId} does not exist</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public FilePlan getFilePlan(String filePlanId, String parameters)
|
public FilePlan getFilePlan(String filePlanId, String parameters) {
|
||||||
{
|
|
||||||
mandatoryString("filePlanId", filePlanId);
|
mandatoryString("filePlanId", filePlanId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(FilePlan.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModel(
|
||||||
"/file-plans/{filePlanId}?{parameters}",
|
FilePlan.class,
|
||||||
filePlanId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"/file-plans/{filePlanId}?{parameters}",
|
||||||
|
filePlanId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getRootRecordCategories(String, String)}
|
* see {@link #getRootRecordCategories(String, String)}
|
||||||
*/
|
*/
|
||||||
public RecordCategoryCollection getRootRecordCategories(String filePlanId)
|
public RecordCategoryCollection getRootRecordCategories(String filePlanId) {
|
||||||
{
|
|
||||||
mandatoryString("filePlanId", filePlanId);
|
mandatoryString("filePlanId", filePlanId);
|
||||||
|
|
||||||
return getRootRecordCategories(filePlanId, EMPTY);
|
return getRootRecordCategories(filePlanId, EMPTY);
|
||||||
@@ -120,23 +120,31 @@ public class FilePlanAPI extends RMModelRequest
|
|||||||
* <li>{@code filePlanId} does not exist</li>
|
* <li>{@code filePlanId} does not exist</li>
|
||||||
*</ul>
|
*</ul>
|
||||||
*/
|
*/
|
||||||
public RecordCategoryCollection getRootRecordCategories(String filePlanId, String parameters)
|
public RecordCategoryCollection getRootRecordCategories(
|
||||||
{
|
String filePlanId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("filePlanId", filePlanId);
|
mandatoryString("filePlanId", filePlanId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModels(RecordCategoryCollection.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModels(
|
||||||
"file-plans/{filePlanId}/categories?{parameters}",
|
RecordCategoryCollection.class,
|
||||||
filePlanId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"file-plans/{filePlanId}/categories?{parameters}",
|
||||||
|
filePlanId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #createRootRecordCategory(RecordCategory, String, String)}
|
* see {@link #createRootRecordCategory(RecordCategory, String, String)}
|
||||||
*/
|
*/
|
||||||
public RecordCategory createRootRecordCategory(RecordCategory recordCategoryModel, String filePlanId)
|
public RecordCategory createRootRecordCategory(
|
||||||
{
|
RecordCategory recordCategoryModel,
|
||||||
|
String filePlanId
|
||||||
|
) {
|
||||||
mandatoryObject("recordCategoryModel", recordCategoryModel);
|
mandatoryObject("recordCategoryModel", recordCategoryModel);
|
||||||
mandatoryString("filePlanId", filePlanId);
|
mandatoryString("filePlanId", filePlanId);
|
||||||
|
|
||||||
@@ -160,25 +168,31 @@ public class FilePlanAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including node name with invalid characters</li>
|
* <li>model integrity exception, including node name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public RecordCategory createRootRecordCategory(RecordCategory recordCategoryModel, String filePlanId, String parameters)
|
public RecordCategory createRootRecordCategory(
|
||||||
{
|
RecordCategory recordCategoryModel,
|
||||||
|
String filePlanId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("recordCategoryModel", recordCategoryModel);
|
mandatoryObject("recordCategoryModel", recordCategoryModel);
|
||||||
mandatoryString("filePlanId", filePlanId);
|
mandatoryString("filePlanId", filePlanId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(RecordCategory.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
POST,
|
.processModel(
|
||||||
toJson(recordCategoryModel),
|
RecordCategory.class,
|
||||||
"file-plans/{filePlanId}/categories?{parameters}",
|
requestWithBody(
|
||||||
filePlanId,
|
POST,
|
||||||
parameters
|
toJson(recordCategoryModel),
|
||||||
));
|
"file-plans/{filePlanId}/categories?{parameters}",
|
||||||
|
filePlanId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #updateFilePlan(FilePlan, String, String)
|
* see {@link #updateFilePlan(FilePlan, String, String)
|
||||||
*/
|
*/
|
||||||
public FilePlan updateFilePlan(FilePlan filePlanModel, String filePlanId)
|
public FilePlan updateFilePlan(FilePlan filePlanModel, String filePlanId) {
|
||||||
{
|
|
||||||
mandatoryObject("filePlanModel", filePlanModel);
|
mandatoryObject("filePlanModel", filePlanModel);
|
||||||
mandatoryString("filePlanId", filePlanId);
|
mandatoryString("filePlanId", filePlanId);
|
||||||
|
|
||||||
@@ -200,17 +214,24 @@ public class FilePlanAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including file name with invalid characters</li>
|
* <li>model integrity exception, including file name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public FilePlan updateFilePlan(FilePlan filePlanModel, String filePlanId, String parameters)
|
public FilePlan updateFilePlan(
|
||||||
{
|
FilePlan filePlanModel,
|
||||||
|
String filePlanId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("filePlanModel", filePlanModel);
|
mandatoryObject("filePlanModel", filePlanModel);
|
||||||
mandatoryString("filePlanId", filePlanId);
|
mandatoryString("filePlanId", filePlanId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(FilePlan.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
PUT,
|
.processModel(
|
||||||
toJson(filePlanModel),
|
FilePlan.class,
|
||||||
"file-plans/{filePlanId}?{parameters}",
|
requestWithBody(
|
||||||
filePlanId,
|
PUT,
|
||||||
parameters));
|
toJson(filePlanModel),
|
||||||
|
"file-plans/{filePlanId}?{parameters}",
|
||||||
|
filePlanId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -40,15 +40,14 @@ import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
|||||||
* @author Kristijan Conkas
|
* @author Kristijan Conkas
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class FilesAPI extends RMModelRequest<FilesAPI>
|
public class FilesAPI extends RMModelRequest<FilesAPI> {
|
||||||
{
|
|
||||||
public static final String PARENT_ID_PARAM = "parentId";
|
public static final String PARENT_ID_PARAM = "parentId";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public FilesAPI(RMRestWrapper rmRestWrapper)
|
public FilesAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,16 +58,18 @@ public class FilesAPI extends RMModelRequest<FilesAPI>
|
|||||||
* @return The {@link Record} for created record
|
* @return The {@link Record} for created record
|
||||||
* @throws RuntimeException for malformed JSON responses
|
* @throws RuntimeException for malformed JSON responses
|
||||||
*/
|
*/
|
||||||
public Record declareAsRecord(String fileId)
|
public Record declareAsRecord(String fileId) {
|
||||||
{
|
|
||||||
mandatoryString("fileId", fileId);
|
mandatoryString("fileId", fileId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(Record.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
POST,
|
.processModel(
|
||||||
"/files/{fileId}/declare?{parameters}",
|
Record.class,
|
||||||
fileId,
|
simpleRequest(
|
||||||
getRmRestWrapper().getParameters()
|
POST,
|
||||||
));
|
"/files/{fileId}/declare?{parameters}",
|
||||||
|
fileId,
|
||||||
|
getRmRestWrapper().getParameters()
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -46,15 +46,14 @@ import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class RMSiteAPI extends RMModelRequest
|
public class RMSiteAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public RMSiteAPI(RMRestWrapper rmRestWrapper)
|
public RMSiteAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,12 +69,9 @@ public class RMSiteAPI extends RMModelRequest
|
|||||||
* <li>Api Response code default Unexpected error</li>
|
* <li>Api Response code default Unexpected error</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public RMSite getSite()
|
public RMSite getSite() {
|
||||||
{
|
return getRmRestWrapper()
|
||||||
return getRmRestWrapper().processModel(RMSite.class, simpleRequest(
|
.processModel(RMSite.class, simpleRequest(GET, "gs-sites/rm"));
|
||||||
GET,
|
|
||||||
"gs-sites/rm"
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -91,15 +87,14 @@ public class RMSiteAPI extends RMModelRequest
|
|||||||
* <li>Api Response code default Unexpected error</li>
|
* <li>Api Response code default Unexpected error</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public RMSite createRMSite(RMSite rmSiteModel)
|
public RMSite createRMSite(RMSite rmSiteModel) {
|
||||||
{
|
|
||||||
mandatoryObject("rmSiteModel", rmSiteModel);
|
mandatoryObject("rmSiteModel", rmSiteModel);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(RMSite.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
POST,
|
.processModel(
|
||||||
toJson(rmSiteModel),
|
RMSite.class,
|
||||||
"gs-sites"
|
requestWithBody(POST, toJson(rmSiteModel), "gs-sites")
|
||||||
));
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -113,12 +108,9 @@ public class RMSiteAPI extends RMModelRequest
|
|||||||
* <li>Api Response code default Unexpected error</li>
|
* <li>Api Response code default Unexpected error</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public void deleteRMSite()
|
public void deleteRMSite() {
|
||||||
{
|
getRmRestWrapper()
|
||||||
getRmRestWrapper().processEmptyModel(simpleRequest(
|
.processEmptyModel(simpleRequest(DELETE, "gs-sites/rm"));
|
||||||
DELETE,
|
|
||||||
"gs-sites/rm"
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -135,15 +127,14 @@ public class RMSiteAPI extends RMModelRequest
|
|||||||
* <li>Api Response code default Unexpected error,model integrity exception</li>
|
* <li>Api Response code default Unexpected error,model integrity exception</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public RMSite updateRMSite(RMSite rmSiteModel)
|
public RMSite updateRMSite(RMSite rmSiteModel) {
|
||||||
{
|
|
||||||
mandatoryObject("rmSiteProperties", rmSiteModel);
|
mandatoryObject("rmSiteProperties", rmSiteModel);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(RMSite.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
PUT,
|
.processModel(
|
||||||
toJson(rmSiteModel),
|
RMSite.class,
|
||||||
"gs-sites/rm"
|
requestWithBody(PUT, toJson(rmSiteModel), "gs-sites/rm")
|
||||||
));
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -158,9 +149,10 @@ public class RMSiteAPI extends RMModelRequest
|
|||||||
* <li>Api Response code default Unexpected error</li>
|
* <li>Api Response code default Unexpected error</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public boolean existsRMSite()
|
public boolean existsRMSite() {
|
||||||
{
|
|
||||||
getSite();
|
getSite();
|
||||||
return getRmRestWrapper().getStatusCode().equals(String.valueOf(OK.value()));
|
return getRmRestWrapper()
|
||||||
|
.getStatusCode()
|
||||||
|
.equals(String.valueOf(OK.value()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,18 +26,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.requests.gscore.api;
|
package org.alfresco.rest.rm.community.requests.gscore.api;
|
||||||
|
|
||||||
|
import static io.restassured.RestAssured.basic;
|
||||||
|
import static io.restassured.RestAssured.given;
|
||||||
import static org.jglue.fluentjson.JsonBuilderFactory.buildObject;
|
import static org.jglue.fluentjson.JsonBuilderFactory.buildObject;
|
||||||
import static org.springframework.http.HttpStatus.OK;
|
import static org.springframework.http.HttpStatus.OK;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
import io.restassured.builder.RequestSpecBuilder;
|
import io.restassured.builder.RequestSpecBuilder;
|
||||||
import io.restassured.http.ContentType;
|
import io.restassured.http.ContentType;
|
||||||
import io.restassured.response.Response;
|
import io.restassured.response.Response;
|
||||||
import io.restassured.specification.RequestSpecification;
|
import io.restassured.specification.RequestSpecification;
|
||||||
import static io.restassured.RestAssured.basic;
|
|
||||||
import static io.restassured.RestAssured.given;
|
|
||||||
|
|
||||||
import org.alfresco.dataprep.AlfrescoHttpClient;
|
import org.alfresco.dataprep.AlfrescoHttpClient;
|
||||||
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
|
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
|
||||||
import org.alfresco.rest.core.RMRestProperties;
|
import org.alfresco.rest.core.RMRestProperties;
|
||||||
@@ -56,13 +54,12 @@ import org.alfresco.utility.model.UserModel;
|
|||||||
// FIXME: As of December 2016 there is no v1-style API for managing RM users and users'
|
// FIXME: As of December 2016 there is no v1-style API for managing RM users and users'
|
||||||
// roles/permissions. Until such APIs have become available, methods in this class are just proxies to
|
// roles/permissions. Until such APIs have become available, methods in this class are just proxies to
|
||||||
// "old-style" API calls.
|
// "old-style" API calls.
|
||||||
public class RMUserAPI extends RMModelRequest
|
public class RMUserAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public RMUserAPI(RMRestWrapper rmRestWrapper)
|
public RMUserAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,8 +67,7 @@ public class RMUserAPI extends RMModelRequest
|
|||||||
* Helper method to obtain {@link AlfrescoHttpClient}
|
* Helper method to obtain {@link AlfrescoHttpClient}
|
||||||
* @return Initialized {@link AlfrescoHttpClient} instance
|
* @return Initialized {@link AlfrescoHttpClient} instance
|
||||||
*/
|
*/
|
||||||
private AlfrescoHttpClient getAlfrescoHttpClient()
|
private AlfrescoHttpClient getAlfrescoHttpClient() {
|
||||||
{
|
|
||||||
RMRestProperties properties = getRmRestWrapper().getRmRestProperties();
|
RMRestProperties properties = getRmRestWrapper().getRmRestProperties();
|
||||||
|
|
||||||
AlfrescoHttpClientFactory factory = new AlfrescoHttpClientFactory();
|
AlfrescoHttpClientFactory factory = new AlfrescoHttpClientFactory();
|
||||||
@@ -89,8 +85,7 @@ public class RMUserAPI extends RMModelRequest
|
|||||||
* @param userRole User's RM role, one of {@link UserRoles} roles
|
* @param userRole User's RM role, one of {@link UserRoles} roles
|
||||||
* @throws RuntimeException for failed requests
|
* @throws RuntimeException for failed requests
|
||||||
*/
|
*/
|
||||||
public void assignRoleToUser(String userName, String userRole)
|
public void assignRoleToUser(String userName, String userRole) {
|
||||||
{
|
|
||||||
UserModel adminUser = getRmRestWrapper().getTestUser();
|
UserModel adminUser = getRmRestWrapper().getTestUser();
|
||||||
|
|
||||||
// get an "old-style" REST API client
|
// get an "old-style" REST API client
|
||||||
@@ -98,22 +93,29 @@ public class RMUserAPI extends RMModelRequest
|
|||||||
|
|
||||||
// override v1 baseURI and basePath
|
// override v1 baseURI and basePath
|
||||||
RequestSpecification spec = new RequestSpecBuilder()
|
RequestSpecification spec = new RequestSpecBuilder()
|
||||||
.setBaseUri(client.getApiUrl())
|
.setBaseUri(client.getApiUrl())
|
||||||
.setBasePath("/")
|
.setBasePath("/")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
Response response = given()
|
Response response = given()
|
||||||
.spec(spec)
|
.spec(spec)
|
||||||
.log().all()
|
.log()
|
||||||
.pathParam("role", userRole)
|
.all()
|
||||||
.pathParam("authority", userName)
|
.pathParam("role", userRole)
|
||||||
.param("alf_ticket", client.getAlfTicket(adminUser.getUsername(),
|
.pathParam("authority", userName)
|
||||||
adminUser.getPassword()))
|
.param(
|
||||||
.when()
|
"alf_ticket",
|
||||||
.post("/rm/roles/{role}/authorities/{authority}")
|
client.getAlfTicket(
|
||||||
.prettyPeek()
|
adminUser.getUsername(),
|
||||||
.andReturn();
|
adminUser.getPassword()
|
||||||
getRmRestWrapper().setStatusCode(Integer.toString(response.getStatusCode()));
|
)
|
||||||
|
)
|
||||||
|
.when()
|
||||||
|
.post("/rm/roles/{role}/authorities/{authority}")
|
||||||
|
.prettyPeek()
|
||||||
|
.andReturn();
|
||||||
|
getRmRestWrapper()
|
||||||
|
.setStatusCode(Integer.toString(response.getStatusCode()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -122,40 +124,46 @@ public class RMUserAPI extends RMModelRequest
|
|||||||
* @param user {@link UserModel} for a user to be granted permission
|
* @param user {@link UserModel} for a user to be granted permission
|
||||||
* @param permission {@link UserPermissions} to be granted
|
* @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
|
||||||
|
) {
|
||||||
UserModel adminUser = getRmRestWrapper().getTestUser();
|
UserModel adminUser = getRmRestWrapper().getTestUser();
|
||||||
|
|
||||||
// get an "old-style" REST API client
|
// get an "old-style" REST API client
|
||||||
AlfrescoHttpClient client = getAlfrescoHttpClient();
|
AlfrescoHttpClient client = getAlfrescoHttpClient();
|
||||||
|
|
||||||
JsonObject bodyJson = buildObject()
|
JsonObject bodyJson = buildObject()
|
||||||
.addArray("permissions")
|
.addArray("permissions")
|
||||||
.addObject()
|
.addObject()
|
||||||
.add("authority", user.getUsername())
|
.add("authority", user.getUsername())
|
||||||
.add("role", permission.permissionId)
|
.add("role", permission.permissionId)
|
||||||
.end()
|
.end()
|
||||||
.getJson();
|
.getJson();
|
||||||
|
|
||||||
// override v1 baseURI and basePath
|
// override v1 baseURI and basePath
|
||||||
RequestSpecification spec = new RequestSpecBuilder()
|
RequestSpecification spec = new RequestSpecBuilder()
|
||||||
.setBaseUri(client.getApiUrl())
|
.setBaseUri(client.getApiUrl())
|
||||||
.setBasePath("/")
|
.setBasePath("/")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
// execute an "old-style" API call
|
// execute an "old-style" API call
|
||||||
Response response = given()
|
Response response = given()
|
||||||
.spec(spec)
|
.spec(spec)
|
||||||
.auth().basic(adminUser.getUsername(), adminUser.getPassword())
|
.auth()
|
||||||
.contentType(ContentType.JSON)
|
.basic(adminUser.getUsername(), adminUser.getPassword())
|
||||||
.body(bodyJson.toString())
|
.contentType(ContentType.JSON)
|
||||||
.pathParam("nodeId", filePlanComponentId)
|
.body(bodyJson.toString())
|
||||||
.log().all()
|
.pathParam("nodeId", filePlanComponentId)
|
||||||
.when()
|
.log()
|
||||||
.post("/node/workspace/SpacesStore/{nodeId}/rmpermissions")
|
.all()
|
||||||
.prettyPeek()
|
.when()
|
||||||
.andReturn();
|
.post("/node/workspace/SpacesStore/{nodeId}/rmpermissions")
|
||||||
getRmRestWrapper().setStatusCode(Integer.toString(response.getStatusCode()));
|
.prettyPeek()
|
||||||
|
.andReturn();
|
||||||
|
getRmRestWrapper()
|
||||||
|
.setStatusCode(Integer.toString(response.getStatusCode()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -165,41 +173,45 @@ public class RMUserAPI extends RMModelRequest
|
|||||||
* @param isInherited true if the permission is inherited
|
* @param isInherited true if the permission is inherited
|
||||||
* false if the permission inheritance is disabled
|
* false if the permission inheritance is disabled
|
||||||
*/
|
*/
|
||||||
public void setUserPermissionInheritance(String filePlanComponentId, Boolean isInherited)
|
public void setUserPermissionInheritance(
|
||||||
{
|
String filePlanComponentId,
|
||||||
|
Boolean isInherited
|
||||||
|
) {
|
||||||
final UserModel adminUser = getRmRestWrapper().getTestUser();
|
final UserModel adminUser = getRmRestWrapper().getTestUser();
|
||||||
|
|
||||||
// get an "old-style" REST API client
|
// get an "old-style" REST API client
|
||||||
final AlfrescoHttpClient client = getAlfrescoHttpClient();
|
final AlfrescoHttpClient client = getAlfrescoHttpClient();
|
||||||
|
|
||||||
final JsonObject bodyJson = buildObject()
|
final JsonObject bodyJson = buildObject()
|
||||||
.addArray("permissions")
|
.addArray("permissions")
|
||||||
.end()
|
.end()
|
||||||
.add("isInherited", isInherited)
|
.add("isInherited", isInherited)
|
||||||
.getJson();
|
.getJson();
|
||||||
|
|
||||||
// override v1 baseURI and basePath
|
// override v1 baseURI and basePath
|
||||||
RequestSpecification spec = new RequestSpecBuilder()
|
RequestSpecification spec = new RequestSpecBuilder()
|
||||||
.setBaseUri(client.getApiUrl())
|
.setBaseUri(client.getApiUrl())
|
||||||
.setBasePath("/")
|
.setBasePath("/")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
// execute an "old-style" API call
|
// execute an "old-style" API call
|
||||||
final Response response = given()
|
final Response response = given()
|
||||||
.spec(spec)
|
.spec(spec)
|
||||||
.auth().basic(adminUser.getUsername(), adminUser.getPassword())
|
.auth()
|
||||||
.contentType(ContentType.JSON)
|
.basic(adminUser.getUsername(), adminUser.getPassword())
|
||||||
.body(bodyJson.toString())
|
.contentType(ContentType.JSON)
|
||||||
.pathParam("nodeId", filePlanComponentId)
|
.body(bodyJson.toString())
|
||||||
.log().all()
|
.pathParam("nodeId", filePlanComponentId)
|
||||||
.when()
|
.log()
|
||||||
.post("/node/workspace/SpacesStore/{nodeId}/rmpermissions")
|
.all()
|
||||||
.prettyPeek()
|
.when()
|
||||||
.andReturn();
|
.post("/node/workspace/SpacesStore/{nodeId}/rmpermissions")
|
||||||
getRmRestWrapper().setStatusCode(Integer.toString(response.getStatusCode()));
|
.prettyPeek()
|
||||||
|
.andReturn();
|
||||||
|
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
|
||||||
*
|
*
|
||||||
@@ -208,8 +220,11 @@ public class RMUserAPI extends RMModelRequest
|
|||||||
* @param userEmail The user's e-mail address
|
* @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
|
||||||
|
) {
|
||||||
UserModel adminUser = getRmRestWrapper().getTestUser();
|
UserModel adminUser = getRmRestWrapper().getTestUser();
|
||||||
final AlfrescoHttpClient client = getAlfrescoHttpClient();
|
final AlfrescoHttpClient client = getAlfrescoHttpClient();
|
||||||
|
|
||||||
@@ -232,8 +247,9 @@ public class RMUserAPI extends RMModelRequest
|
|||||||
// create POST request to "people" endpoint
|
// create POST request to "people" endpoint
|
||||||
Response response = given()
|
Response response = given()
|
||||||
.spec(spec)
|
.spec(spec)
|
||||||
.log().all()
|
.log()
|
||||||
.when()
|
.all()
|
||||||
|
.when()
|
||||||
.post("people")
|
.post("people")
|
||||||
.prettyPeek()
|
.prettyPeek()
|
||||||
.andReturn();
|
.andReturn();
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -49,15 +49,14 @@ import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class RecordCategoryAPI extends RMModelRequest
|
public class RecordCategoryAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public RecordCategoryAPI(RMRestWrapper rmRestWrapper)
|
public RecordCategoryAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,22 +73,23 @@ public class RecordCategoryAPI extends RMModelRequest
|
|||||||
* <li>{@code recordCategoryId} is locked and cannot be deleted</li>
|
* <li>{@code recordCategoryId} is locked and cannot be deleted</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public void deleteRecordCategory(String recordCategoryId)
|
public void deleteRecordCategory(String recordCategoryId) {
|
||||||
{
|
|
||||||
mandatoryString("recordCategoryId", recordCategoryId);
|
mandatoryString("recordCategoryId", recordCategoryId);
|
||||||
|
|
||||||
getRmRestWrapper().processEmptyModel(simpleRequest(
|
getRmRestWrapper()
|
||||||
DELETE,
|
.processEmptyModel(
|
||||||
"record-categories/{recordCategoryId}",
|
simpleRequest(
|
||||||
recordCategoryId
|
DELETE,
|
||||||
));
|
"record-categories/{recordCategoryId}",
|
||||||
|
recordCategoryId
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getRecordCategory(String, String)}
|
* see {@link #getRecordCategory(String, String)}
|
||||||
*/
|
*/
|
||||||
public RecordCategory getRecordCategory(String recordCategoryId)
|
public RecordCategory getRecordCategory(String recordCategoryId) {
|
||||||
{
|
|
||||||
mandatoryString("recordCategoryId", recordCategoryId);
|
mandatoryString("recordCategoryId", recordCategoryId);
|
||||||
|
|
||||||
return getRecordCategory(recordCategoryId, EMPTY);
|
return getRecordCategory(recordCategoryId, EMPTY);
|
||||||
@@ -109,27 +109,39 @@ public class RecordCategoryAPI extends RMModelRequest
|
|||||||
* <li>{@code recordCategoryId} does not exist</li>
|
* <li>{@code recordCategoryId} does not exist</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public RecordCategory getRecordCategory(String recordCategoryId, String parameters)
|
public RecordCategory getRecordCategory(
|
||||||
{
|
String recordCategoryId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("recordCategoryId", recordCategoryId);
|
mandatoryString("recordCategoryId", recordCategoryId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(RecordCategory.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModel(
|
||||||
"record-categories/{recordCategoryId}?{parameters}",
|
RecordCategory.class,
|
||||||
recordCategoryId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"record-categories/{recordCategoryId}?{parameters}",
|
||||||
|
recordCategoryId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #updateRecordCategory(RecordCategory, String, String)
|
* see {@link #updateRecordCategory(RecordCategory, String, String)
|
||||||
*/
|
*/
|
||||||
public RecordCategory updateRecordCategory(RecordCategory recordCategoryModel, String recordCategoryId)
|
public RecordCategory updateRecordCategory(
|
||||||
{
|
RecordCategory recordCategoryModel,
|
||||||
|
String recordCategoryId
|
||||||
|
) {
|
||||||
mandatoryObject("recordCategoryModel", recordCategoryModel);
|
mandatoryObject("recordCategoryModel", recordCategoryModel);
|
||||||
mandatoryString("recordCategoryId", recordCategoryId);
|
mandatoryString("recordCategoryId", recordCategoryId);
|
||||||
|
|
||||||
return updateRecordCategory(recordCategoryModel, recordCategoryId, EMPTY);
|
return updateRecordCategory(
|
||||||
|
recordCategoryModel,
|
||||||
|
recordCategoryId,
|
||||||
|
EMPTY
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -149,25 +161,33 @@ public class RecordCategoryAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including file name with invalid characters</li>
|
* <li>model integrity exception, including file name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public RecordCategory updateRecordCategory(RecordCategory recordCategoryModel, String recordCategoryId, String parameters)
|
public RecordCategory updateRecordCategory(
|
||||||
{
|
RecordCategory recordCategoryModel,
|
||||||
|
String recordCategoryId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("recordCategoryModel", recordCategoryModel);
|
mandatoryObject("recordCategoryModel", recordCategoryModel);
|
||||||
mandatoryString("recordCategoryId", recordCategoryId);
|
mandatoryString("recordCategoryId", recordCategoryId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(RecordCategory.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
PUT,
|
.processModel(
|
||||||
toJson(recordCategoryModel),
|
RecordCategory.class,
|
||||||
"record-categories/{recordCategoryId}?{parameters}",
|
requestWithBody(
|
||||||
recordCategoryId,
|
PUT,
|
||||||
parameters
|
toJson(recordCategoryModel),
|
||||||
));
|
"record-categories/{recordCategoryId}?{parameters}",
|
||||||
|
recordCategoryId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getRecordCategoryChildren(String, String)}
|
* see {@link #getRecordCategoryChildren(String, String)}
|
||||||
*/
|
*/
|
||||||
public RecordCategoryChildCollection getRecordCategoryChildren(String recordCategoryId)
|
public RecordCategoryChildCollection getRecordCategoryChildren(
|
||||||
{
|
String recordCategoryId
|
||||||
|
) {
|
||||||
mandatoryString("recordCategoryId", recordCategoryId);
|
mandatoryString("recordCategoryId", recordCategoryId);
|
||||||
|
|
||||||
return getRecordCategoryChildren(recordCategoryId, EMPTY);
|
return getRecordCategoryChildren(recordCategoryId, EMPTY);
|
||||||
@@ -186,27 +206,39 @@ public class RecordCategoryAPI extends RMModelRequest
|
|||||||
* <li>{@code recordCategoryId} does not exist</li>
|
* <li>{@code recordCategoryId} does not exist</li>
|
||||||
*</ul>
|
*</ul>
|
||||||
*/
|
*/
|
||||||
public RecordCategoryChildCollection getRecordCategoryChildren(String recordCategoryId, String parameters)
|
public RecordCategoryChildCollection getRecordCategoryChildren(
|
||||||
{
|
String recordCategoryId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("recordCategoryId", recordCategoryId);
|
mandatoryString("recordCategoryId", recordCategoryId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModels(RecordCategoryChildCollection.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModels(
|
||||||
"record-categories/{recordCategoryId}/children?{parameters}",
|
RecordCategoryChildCollection.class,
|
||||||
recordCategoryId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"record-categories/{recordCategoryId}/children?{parameters}",
|
||||||
|
recordCategoryId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #createRecordCategoryChild(RecordCategoryChild, String, String)}
|
* see {@link #createRecordCategoryChild(RecordCategoryChild, String, String)}
|
||||||
*/
|
*/
|
||||||
public RecordCategoryChild createRecordCategoryChild(RecordCategoryChild recordCategoryChildModel, String recordCategoryId)
|
public RecordCategoryChild createRecordCategoryChild(
|
||||||
{
|
RecordCategoryChild recordCategoryChildModel,
|
||||||
|
String recordCategoryId
|
||||||
|
) {
|
||||||
mandatoryObject("recordCategoryChildModel", recordCategoryChildModel);
|
mandatoryObject("recordCategoryChildModel", recordCategoryChildModel);
|
||||||
mandatoryString("recordCategoryId", recordCategoryId);
|
mandatoryString("recordCategoryId", recordCategoryId);
|
||||||
|
|
||||||
return createRecordCategoryChild(recordCategoryChildModel, recordCategoryId, EMPTY);
|
return createRecordCategoryChild(
|
||||||
|
recordCategoryChildModel,
|
||||||
|
recordCategoryId,
|
||||||
|
EMPTY
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -226,17 +258,27 @@ public class RecordCategoryAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including node name with invalid characters</li>
|
* <li>model integrity exception, including node name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public RecordCategoryChild createRecordCategoryChild(RecordCategoryChild recordCategoryChildModel, String recordCategoryId, String parameters)
|
public RecordCategoryChild createRecordCategoryChild(
|
||||||
{
|
RecordCategoryChild recordCategoryChildModel,
|
||||||
mandatoryObject("filePlanComponentProperties", recordCategoryChildModel);
|
String recordCategoryId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
|
mandatoryObject(
|
||||||
|
"filePlanComponentProperties",
|
||||||
|
recordCategoryChildModel
|
||||||
|
);
|
||||||
mandatoryString("recordCategoryId", recordCategoryId);
|
mandatoryString("recordCategoryId", recordCategoryId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(RecordCategoryChild.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
POST,
|
.processModel(
|
||||||
toJson(recordCategoryChildModel),
|
RecordCategoryChild.class,
|
||||||
"record-categories/{recordCategoryId}/children?{parameters}",
|
requestWithBody(
|
||||||
recordCategoryId,
|
POST,
|
||||||
parameters
|
toJson(recordCategoryChildModel),
|
||||||
));
|
"record-categories/{recordCategoryId}/children?{parameters}",
|
||||||
|
recordCategoryId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -39,15 +39,13 @@ import static org.springframework.http.HttpMethod.POST;
|
|||||||
import static org.springframework.http.HttpMethod.PUT;
|
import static org.springframework.http.HttpMethod.PUT;
|
||||||
import static org.testng.Assert.fail;
|
import static org.testng.Assert.fail;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Iterator;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import io.restassured.builder.RequestSpecBuilder;
|
import io.restassured.builder.RequestSpecBuilder;
|
||||||
import io.restassured.http.ContentType;
|
import io.restassured.http.ContentType;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Iterator;
|
||||||
import org.alfresco.rest.core.RMRestWrapper;
|
import org.alfresco.rest.core.RMRestWrapper;
|
||||||
import org.alfresco.rest.rm.community.model.record.Record;
|
import org.alfresco.rest.rm.community.model.record.Record;
|
||||||
import org.alfresco.rest.rm.community.model.recordfolder.RecordFolder;
|
import org.alfresco.rest.rm.community.model.recordfolder.RecordFolder;
|
||||||
@@ -61,15 +59,14 @@ import org.alfresco.rest.rm.community.util.FilePlanComponentMixIn;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class RecordFolderAPI extends RMModelRequest
|
public class RecordFolderAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public RecordFolderAPI(RMRestWrapper rmRestWrapper)
|
public RecordFolderAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,22 +83,23 @@ public class RecordFolderAPI extends RMModelRequest
|
|||||||
* <li>{@code recordFolderId} is locked and cannot be deleted</li>
|
* <li>{@code recordFolderId} is locked and cannot be deleted</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public void deleteRecordFolder(String recordFolderId)
|
public void deleteRecordFolder(String recordFolderId) {
|
||||||
{
|
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
|
|
||||||
getRmRestWrapper().processEmptyModel(simpleRequest(
|
getRmRestWrapper()
|
||||||
DELETE,
|
.processEmptyModel(
|
||||||
"record-folders/{recordFolderId}",
|
simpleRequest(
|
||||||
recordFolderId
|
DELETE,
|
||||||
));
|
"record-folders/{recordFolderId}",
|
||||||
|
recordFolderId
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getRecordFolder(String, String)}
|
* see {@link #getRecordFolder(String, String)}
|
||||||
*/
|
*/
|
||||||
public RecordFolder getRecordFolder(String recordFolderId)
|
public RecordFolder getRecordFolder(String recordFolderId) {
|
||||||
{
|
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
|
|
||||||
return getRecordFolder(recordFolderId, EMPTY);
|
return getRecordFolder(recordFolderId, EMPTY);
|
||||||
@@ -121,23 +119,31 @@ public class RecordFolderAPI extends RMModelRequest
|
|||||||
* <li>{@code recordFolderId} does not exist</li>
|
* <li>{@code recordFolderId} does not exist</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public RecordFolder getRecordFolder(String recordFolderId, String parameters)
|
public RecordFolder getRecordFolder(
|
||||||
{
|
String recordFolderId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(RecordFolder.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModel(
|
||||||
"record-folders/{recordFolderId}?{parameters}",
|
RecordFolder.class,
|
||||||
recordFolderId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"record-folders/{recordFolderId}?{parameters}",
|
||||||
|
recordFolderId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #updateRecordFolder(RecordFolder, String, String)
|
* see {@link #updateRecordFolder(RecordFolder, String, String)
|
||||||
*/
|
*/
|
||||||
public RecordFolder updateRecordFolder(RecordFolder recordFolderModel, String recordFolderId)
|
public RecordFolder updateRecordFolder(
|
||||||
{
|
RecordFolder recordFolderModel,
|
||||||
|
String recordFolderId
|
||||||
|
) {
|
||||||
mandatoryObject("recordFolderModel", recordFolderModel);
|
mandatoryObject("recordFolderModel", recordFolderModel);
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
|
|
||||||
@@ -161,25 +167,33 @@ public class RecordFolderAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including file name with invalid characters</li>
|
* <li>model integrity exception, including file name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public RecordFolder updateRecordFolder(RecordFolder recordFolderModel, String recordFolderId, String parameters)
|
public RecordFolder updateRecordFolder(
|
||||||
{
|
RecordFolder recordFolderModel,
|
||||||
|
String recordFolderId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("recordFolderModel", recordFolderModel);
|
mandatoryObject("recordFolderModel", recordFolderModel);
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(RecordFolder.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
PUT,
|
.processModel(
|
||||||
toJson(recordFolderModel),
|
RecordFolder.class,
|
||||||
"record-folders/{recordFolderId}?{parameters}",
|
requestWithBody(
|
||||||
recordFolderId,
|
PUT,
|
||||||
parameters
|
toJson(recordFolderModel),
|
||||||
));
|
"record-folders/{recordFolderId}?{parameters}",
|
||||||
|
recordFolderId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getRecordFolderChildren(String, String)}
|
* see {@link #getRecordFolderChildren(String, String)}
|
||||||
*/
|
*/
|
||||||
public RecordFolderCollection getRecordFolderChildren(String recordFolderId)
|
public RecordFolderCollection getRecordFolderChildren(
|
||||||
{
|
String recordFolderId
|
||||||
|
) {
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
|
|
||||||
return getRecordFolderChildren(recordFolderId, EMPTY);
|
return getRecordFolderChildren(recordFolderId, EMPTY);
|
||||||
@@ -198,23 +212,28 @@ public class RecordFolderAPI extends RMModelRequest
|
|||||||
* <li>{@code recordFolderId} does not exist</li>
|
* <li>{@code recordFolderId} does not exist</li>
|
||||||
*</ul>
|
*</ul>
|
||||||
*/
|
*/
|
||||||
public RecordFolderCollection getRecordFolderChildren(String recordFolderId, String parameters)
|
public RecordFolderCollection getRecordFolderChildren(
|
||||||
{
|
String recordFolderId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModels(RecordFolderCollection.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModels(
|
||||||
"record-folders/{recordFolderId}/records?{parameters}",
|
RecordFolderCollection.class,
|
||||||
recordFolderId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"record-folders/{recordFolderId}/records?{parameters}",
|
||||||
|
recordFolderId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #createRecord(Record, String, String)}
|
* see {@link #createRecord(Record, String, String)}
|
||||||
*/
|
*/
|
||||||
public Record createRecord(Record recordModel, String recordFolderId)
|
public Record createRecord(Record recordModel, String recordFolderId) {
|
||||||
{
|
|
||||||
mandatoryObject("recordModel", recordModel);
|
mandatoryObject("recordModel", recordModel);
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
|
|
||||||
@@ -230,14 +249,16 @@ public class RecordFolderAPI extends RMModelRequest
|
|||||||
* @return newly created {@link Record}
|
* @return newly created {@link Record}
|
||||||
* @throws RuntimeException for invalid recordModel JSON strings
|
* @throws RuntimeException for invalid recordModel JSON strings
|
||||||
*/
|
*/
|
||||||
public Record createRecord(Record recordModel, String recordFolderId, File recordContent) throws RuntimeException
|
public Record createRecord(
|
||||||
{
|
Record recordModel,
|
||||||
|
String recordFolderId,
|
||||||
|
File recordContent
|
||||||
|
) throws RuntimeException {
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
mandatoryObject("recordContent", recordContent);
|
mandatoryObject("recordContent", recordContent);
|
||||||
mandatoryObject("recordModel", recordModel);
|
mandatoryObject("recordModel", recordModel);
|
||||||
|
|
||||||
if (!recordModel.getNodeType().equals(CONTENT_TYPE))
|
if (!recordModel.getNodeType().equals(CONTENT_TYPE)) {
|
||||||
{
|
|
||||||
fail("Only electronic records are supported");
|
fail("Only electronic records are supported");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,22 +268,34 @@ public class RecordFolderAPI extends RMModelRequest
|
|||||||
*/
|
*/
|
||||||
RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec();
|
RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec();
|
||||||
JsonNode root;
|
JsonNode root;
|
||||||
try
|
try {
|
||||||
{
|
root =
|
||||||
root = new ObjectMapper().readTree(toJson(recordModel, Record.class, FilePlanComponentMixIn.class));
|
new ObjectMapper()
|
||||||
}
|
.readTree(
|
||||||
catch (IOException e)
|
toJson(
|
||||||
{
|
recordModel,
|
||||||
|
Record.class,
|
||||||
|
FilePlanComponentMixIn.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} catch (IOException e) {
|
||||||
throw new RuntimeException("Failed to convert model to JSON.", e);
|
throw new RuntimeException("Failed to convert model to JSON.", e);
|
||||||
}
|
}
|
||||||
// add request fields
|
// add request fields
|
||||||
Iterator<String> fieldNames = root.fieldNames();
|
Iterator<String> fieldNames = root.fieldNames();
|
||||||
while (fieldNames.hasNext())
|
while (fieldNames.hasNext()) {
|
||||||
{
|
|
||||||
String fieldName = fieldNames.next();
|
String fieldName = fieldNames.next();
|
||||||
builder.addMultiPart(fieldName, root.get(fieldName).asText(), ContentType.JSON.name());
|
builder.addMultiPart(
|
||||||
|
fieldName,
|
||||||
|
root.get(fieldName).asText(),
|
||||||
|
ContentType.JSON.name()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
builder.addMultiPart("filedata", recordContent, ContentType.BINARY.name());
|
builder.addMultiPart(
|
||||||
|
"filedata",
|
||||||
|
recordContent,
|
||||||
|
ContentType.BINARY.name()
|
||||||
|
);
|
||||||
|
|
||||||
// create node with given content
|
// create node with given content
|
||||||
return createRecord(recordModel, recordFolderId);
|
return createRecord(recordModel, recordFolderId);
|
||||||
@@ -284,17 +317,24 @@ public class RecordFolderAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including node name with invalid characters</li>
|
* <li>model integrity exception, including node name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public Record createRecord(Record recordModel, String recordFolderId, String parameters)
|
public Record createRecord(
|
||||||
{
|
Record recordModel,
|
||||||
|
String recordFolderId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("recordModel", recordModel);
|
mandatoryObject("recordModel", recordModel);
|
||||||
mandatoryString("recordFolderId", recordFolderId);
|
mandatoryString("recordFolderId", recordFolderId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(Record.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
POST,
|
.processModel(
|
||||||
toJson(recordModel),
|
Record.class,
|
||||||
"record-folders/{recordFolderId}/records?{parameters}",
|
requestWithBody(
|
||||||
recordFolderId,
|
POST,
|
||||||
parameters
|
toJson(recordModel),
|
||||||
));
|
"record-folders/{recordFolderId}/records?{parameters}",
|
||||||
|
recordFolderId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -37,27 +37,24 @@ 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 io.restassured.response.ResponseBody;
|
||||||
import org.alfresco.rest.core.RMRestWrapper;
|
import org.alfresco.rest.core.RMRestWrapper;
|
||||||
import org.alfresco.rest.rm.community.model.record.Record;
|
import org.alfresco.rest.rm.community.model.record.Record;
|
||||||
import org.alfresco.rest.rm.community.model.record.RecordBodyFile;
|
import org.alfresco.rest.rm.community.model.record.RecordBodyFile;
|
||||||
import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
||||||
|
|
||||||
import io.restassured.response.ResponseBody;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Records REST API Wrapper
|
* Records REST API Wrapper
|
||||||
*
|
*
|
||||||
* @author Rodica Sutu
|
* @author Rodica Sutu
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class RecordsAPI extends RMModelRequest
|
public class RecordsAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public RecordsAPI(RMRestWrapper rmRestWrapper)
|
public RecordsAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,14 +71,14 @@ public class RecordsAPI extends RMModelRequest
|
|||||||
* <li>{@code recordId} does not exist</li>
|
* <li>{@code recordId} does not exist</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public ResponseBody<?> getRecordContent(String recordId)
|
public ResponseBody<?> getRecordContent(String recordId) {
|
||||||
{
|
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
return getRmRestWrapper()
|
return getRmRestWrapper()
|
||||||
.processHtmlResponse(simpleRequest(GET,"records/{recordId}/content", recordId))
|
.processHtmlResponse(
|
||||||
|
simpleRequest(GET, "records/{recordId}/content", recordId)
|
||||||
|
)
|
||||||
.getBody();
|
.getBody();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -101,8 +98,7 @@ public class RecordsAPI extends RMModelRequest
|
|||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Record fileRecord(RecordBodyFile recordBodyFile, String recordId)
|
public Record fileRecord(RecordBodyFile recordBodyFile, String recordId) {
|
||||||
{
|
|
||||||
mandatoryObject("recordBodyFile", recordBodyFile);
|
mandatoryObject("recordBodyFile", recordBodyFile);
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
@@ -126,25 +122,31 @@ public class RecordsAPI extends RMModelRequest
|
|||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Record fileRecord(RecordBodyFile recordBodyFile, String recordId, String parameters)
|
public Record fileRecord(
|
||||||
{
|
RecordBodyFile recordBodyFile,
|
||||||
|
String recordId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("requestBodyFile", recordBodyFile);
|
mandatoryObject("requestBodyFile", recordBodyFile);
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(Record.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
POST,
|
.processModel(
|
||||||
toJson(recordBodyFile),
|
Record.class,
|
||||||
"/records/{recordId}/file?{parameters}",
|
requestWithBody(
|
||||||
recordId,
|
POST,
|
||||||
parameters
|
toJson(recordBodyFile),
|
||||||
));
|
"/records/{recordId}/file?{parameters}",
|
||||||
|
recordId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #completeRecord(String, String)
|
* see {@link #completeRecord(String, String)
|
||||||
*/
|
*/
|
||||||
public Record completeRecord(String recordId)
|
public Record completeRecord(String recordId) {
|
||||||
{
|
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
return completeRecord(recordId, EMPTY);
|
return completeRecord(recordId, EMPTY);
|
||||||
@@ -165,17 +167,21 @@ public class RecordsAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception: the record has missing meta-data</li>
|
* <li>model integrity exception: the record has missing meta-data</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public Record completeRecord(String recordId, String parameters)
|
public Record completeRecord(String recordId, String parameters) {
|
||||||
{
|
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(Record.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
POST,
|
.processModel(
|
||||||
"/records/{recordId}/complete?{parameters}",
|
Record.class,
|
||||||
recordId,
|
simpleRequest(
|
||||||
parameters
|
POST,
|
||||||
));
|
"/records/{recordId}/complete?{parameters}",
|
||||||
|
recordId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes a record.
|
* Deletes a record.
|
||||||
*
|
*
|
||||||
@@ -189,22 +195,19 @@ public class RecordsAPI extends RMModelRequest
|
|||||||
* <li>{@code recordId} is locked and cannot be deleted</li>
|
* <li>{@code recordId} is locked and cannot be deleted</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public void deleteRecord(String recordId)
|
public void deleteRecord(String recordId) {
|
||||||
{
|
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
getRmRestWrapper().processEmptyModel(simpleRequest(
|
getRmRestWrapper()
|
||||||
DELETE,
|
.processEmptyModel(
|
||||||
"records/{recordId}",
|
simpleRequest(DELETE, "records/{recordId}", recordId)
|
||||||
recordId
|
);
|
||||||
));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getRecord(String, String)}
|
* see {@link #getRecord(String, String)}
|
||||||
*/
|
*/
|
||||||
public Record getRecord(String recordId)
|
public Record getRecord(String recordId) {
|
||||||
{
|
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
return getRecord(recordId, EMPTY);
|
return getRecord(recordId, EMPTY);
|
||||||
@@ -224,23 +227,25 @@ public class RecordsAPI extends RMModelRequest
|
|||||||
* <li>{@code recordId} does not exist</li>
|
* <li>{@code recordId} does not exist</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public Record getRecord(String recordId, String parameters)
|
public Record getRecord(String recordId, String parameters) {
|
||||||
{
|
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(Record.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModel(
|
||||||
"records/{recordId}?{parameters}",
|
Record.class,
|
||||||
recordId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"records/{recordId}?{parameters}",
|
||||||
|
recordId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #updateRecord(Record, String, String)
|
* see {@link #updateRecord(Record, String, String)
|
||||||
*/
|
*/
|
||||||
public Record updateRecord(Record recordModel, String recordId)
|
public Record updateRecord(Record recordModel, String recordId) {
|
||||||
{
|
|
||||||
mandatoryObject("recordModel", recordModel);
|
mandatoryObject("recordModel", recordModel);
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
@@ -264,17 +269,24 @@ public class RecordsAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including file name with invalid characters</li>
|
* <li>model integrity exception, including file name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public Record updateRecord(Record recordModel, String recordId, String parameters)
|
public Record updateRecord(
|
||||||
{
|
Record recordModel,
|
||||||
|
String recordId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("recordModel", recordModel);
|
mandatoryObject("recordModel", recordModel);
|
||||||
mandatoryString("recordId", recordId);
|
mandatoryString("recordId", recordId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(Record.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
PUT,
|
.processModel(
|
||||||
toJson(recordModel),
|
Record.class,
|
||||||
"records/{recordId}?{parameters}",
|
requestWithBody(
|
||||||
recordId,
|
PUT,
|
||||||
parameters
|
toJson(recordModel),
|
||||||
));
|
"records/{recordId}?{parameters}",
|
||||||
|
recordId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -43,21 +43,19 @@ import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
|||||||
* @author Silviu Dinuta
|
* @author Silviu Dinuta
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class TransferAPI extends RMModelRequest
|
public class TransferAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public TransferAPI(RMRestWrapper rmRestWrapper)
|
public TransferAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getTransfer(String, String)}
|
* see {@link #getTransfer(String, String)}
|
||||||
*/
|
*/
|
||||||
public Transfer getTransfer(String transferId)
|
public Transfer getTransfer(String transferId) {
|
||||||
{
|
|
||||||
mandatoryString("transferId", transferId);
|
mandatoryString("transferId", transferId);
|
||||||
|
|
||||||
return getTransfer(transferId, EMPTY);
|
return getTransfer(transferId, EMPTY);
|
||||||
@@ -77,22 +75,25 @@ public class TransferAPI extends RMModelRequest
|
|||||||
* <li>{@code transferId} does not exist</li>
|
* <li>{@code transferId} does not exist</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public Transfer getTransfer(String transferId, String parameters)
|
public Transfer getTransfer(String transferId, String parameters) {
|
||||||
{
|
|
||||||
mandatoryString("transferId", transferId);
|
mandatoryString("transferId", transferId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(Transfer.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModel(
|
||||||
"/transfers/{transferId}?{parameters}",
|
Transfer.class,
|
||||||
transferId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"/transfers/{transferId}?{parameters}",
|
||||||
|
transferId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getTransfersChildren(String, String)}
|
* see {@link #getTransfersChildren(String, String)}
|
||||||
*/
|
*/
|
||||||
public TransferChildCollection getTransfersChildren(String transferId)
|
public TransferChildCollection getTransfersChildren(String transferId) {
|
||||||
{
|
|
||||||
mandatoryString("transferId", transferId);
|
mandatoryString("transferId", transferId);
|
||||||
|
|
||||||
return getTransfersChildren(transferId, EMPTY);
|
return getTransfersChildren(transferId, EMPTY);
|
||||||
@@ -111,15 +112,21 @@ public class TransferAPI extends RMModelRequest
|
|||||||
* <li>{@code filePlanId} does not exist</li>
|
* <li>{@code filePlanId} does not exist</li>
|
||||||
*</ul>
|
*</ul>
|
||||||
*/
|
*/
|
||||||
public TransferChildCollection getTransfersChildren(String transferId, String parameters)
|
public TransferChildCollection getTransfersChildren(
|
||||||
{
|
String transferId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("transferId", transferId);
|
mandatoryString("transferId", transferId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModels(TransferChildCollection.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModels(
|
||||||
"transfers/{filePlanId}/children?{parameters}",
|
TransferChildCollection.class,
|
||||||
transferId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"transfers/{filePlanId}/children?{parameters}",
|
||||||
|
transferId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -47,21 +47,19 @@ import org.alfresco.rest.rm.community.requests.RMModelRequest;
|
|||||||
* @author Silviu Dinuta
|
* @author Silviu Dinuta
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class TransferContainerAPI extends RMModelRequest
|
public class TransferContainerAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public TransferContainerAPI(RMRestWrapper rmRestWrapper)
|
public TransferContainerAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getTransferContainer(String, String)}
|
* see {@link #getTransferContainer(String, String)}
|
||||||
*/
|
*/
|
||||||
public TransferContainer getTransferContainer(String transferContainerId)
|
public TransferContainer getTransferContainer(String transferContainerId) {
|
||||||
{
|
|
||||||
mandatoryString("transferContainerId", transferContainerId);
|
mandatoryString("transferContainerId", transferContainerId);
|
||||||
|
|
||||||
return getTransferContainer(transferContainerId, EMPTY);
|
return getTransferContainer(transferContainerId, EMPTY);
|
||||||
@@ -81,27 +79,39 @@ public class TransferContainerAPI extends RMModelRequest
|
|||||||
* <li>{@code transferContainerId} does not exist</li>
|
* <li>{@code transferContainerId} does not exist</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public TransferContainer getTransferContainer(String transferContainerId, String parameters)
|
public TransferContainer getTransferContainer(
|
||||||
{
|
String transferContainerId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("transferContainerId", transferContainerId);
|
mandatoryString("transferContainerId", transferContainerId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(TransferContainer.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModel(
|
||||||
"/transfer-containers/{transferContainerId}?{parameters}",
|
TransferContainer.class,
|
||||||
transferContainerId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"/transfer-containers/{transferContainerId}?{parameters}",
|
||||||
|
transferContainerId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #updateTransferContainer(TransferContainer, String, String)
|
* see {@link #updateTransferContainer(TransferContainer, String, String)
|
||||||
*/
|
*/
|
||||||
public TransferContainer updateTransferContainer(TransferContainer transferContainerModel, String transferContainerId)
|
public TransferContainer updateTransferContainer(
|
||||||
{
|
TransferContainer transferContainerModel,
|
||||||
|
String transferContainerId
|
||||||
|
) {
|
||||||
mandatoryObject("transferContainerModel", transferContainerModel);
|
mandatoryObject("transferContainerModel", transferContainerModel);
|
||||||
mandatoryString("transferContainerId", transferContainerId);
|
mandatoryString("transferContainerId", transferContainerId);
|
||||||
|
|
||||||
return updateTransferContainer(transferContainerModel, transferContainerId, EMPTY);
|
return updateTransferContainer(
|
||||||
|
transferContainerModel,
|
||||||
|
transferContainerId,
|
||||||
|
EMPTY
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -121,25 +131,31 @@ public class TransferContainerAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including transfer container name with invalid characters</li>
|
* <li>model integrity exception, including transfer container name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public TransferContainer updateTransferContainer(TransferContainer transferContainerModel, String transferContainerId, String parameters)
|
public TransferContainer updateTransferContainer(
|
||||||
{
|
TransferContainer transferContainerModel,
|
||||||
|
String transferContainerId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("transferContainerModel", transferContainerModel);
|
mandatoryObject("transferContainerModel", transferContainerModel);
|
||||||
mandatoryString("transferContainerId", transferContainerId);
|
mandatoryString("transferContainerId", transferContainerId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(TransferContainer.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
PUT,
|
.processModel(
|
||||||
toJson(transferContainerModel),
|
TransferContainer.class,
|
||||||
"transfer-containers/{transferContainerId}?{parameters}",
|
requestWithBody(
|
||||||
transferContainerId,
|
PUT,
|
||||||
parameters
|
toJson(transferContainerModel),
|
||||||
));
|
"transfer-containers/{transferContainerId}?{parameters}",
|
||||||
|
transferContainerId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getTransfers(String, String)}
|
* see {@link #getTransfers(String, String)}
|
||||||
*/
|
*/
|
||||||
public TransferCollection getTransfers(String transferContainerId)
|
public TransferCollection getTransfers(String transferContainerId) {
|
||||||
{
|
|
||||||
mandatoryString("transferContainerId", transferContainerId);
|
mandatoryString("transferContainerId", transferContainerId);
|
||||||
|
|
||||||
return getTransfers(transferContainerId, EMPTY);
|
return getTransfers(transferContainerId, EMPTY);
|
||||||
@@ -158,15 +174,21 @@ public class TransferContainerAPI extends RMModelRequest
|
|||||||
* <li>{@code filePlanId} does not exist</li>
|
* <li>{@code filePlanId} does not exist</li>
|
||||||
*</ul>
|
*</ul>
|
||||||
*/
|
*/
|
||||||
public TransferCollection getTransfers(String transferContainerId, String parameters)
|
public TransferCollection getTransfers(
|
||||||
{
|
String transferContainerId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("transferContainerId", transferContainerId);
|
mandatoryString("transferContainerId", transferContainerId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModels(TransferCollection.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModels(
|
||||||
"transfer-containers/{filePlanId}/transfers?{parameters}",
|
TransferCollection.class,
|
||||||
transferContainerId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"transfer-containers/{filePlanId}/transfers?{parameters}",
|
||||||
|
transferContainerId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -38,16 +38,13 @@ import static org.springframework.http.HttpMethod.POST;
|
|||||||
import static org.springframework.http.HttpMethod.PUT;
|
import static org.springframework.http.HttpMethod.PUT;
|
||||||
import static org.testng.Assert.fail;
|
import static org.testng.Assert.fail;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import io.restassured.builder.RequestSpecBuilder;
|
||||||
|
import io.restassured.http.ContentType;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
|
|
||||||
import io.restassured.builder.RequestSpecBuilder;
|
|
||||||
import io.restassured.http.ContentType;
|
|
||||||
|
|
||||||
import org.alfresco.rest.core.RMRestWrapper;
|
import org.alfresco.rest.core.RMRestWrapper;
|
||||||
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainer;
|
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainer;
|
||||||
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChild;
|
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChild;
|
||||||
@@ -62,21 +59,19 @@ import org.alfresco.rest.rm.community.util.UnfiledContainerChildMixin;
|
|||||||
* @author Ana Bozianu
|
* @author Ana Bozianu
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class UnfiledContainerAPI extends RMModelRequest
|
public class UnfiledContainerAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerAPI(RMRestWrapper rmRestWrapper)
|
public UnfiledContainerAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getUnfiledContainer(String, String)}
|
* see {@link #getUnfiledContainer(String, String)}
|
||||||
*/
|
*/
|
||||||
public UnfiledContainer getUnfiledContainer(String unfiledContainerId)
|
public UnfiledContainer getUnfiledContainer(String unfiledContainerId) {
|
||||||
{
|
|
||||||
mandatoryString("unfiledContainerId", unfiledContainerId);
|
mandatoryString("unfiledContainerId", unfiledContainerId);
|
||||||
|
|
||||||
return getUnfiledContainer(unfiledContainerId, EMPTY);
|
return getUnfiledContainer(unfiledContainerId, EMPTY);
|
||||||
@@ -96,23 +91,30 @@ public class UnfiledContainerAPI extends RMModelRequest
|
|||||||
* <li>{@code unfiledContainerId} does not exist</li>
|
* <li>{@code unfiledContainerId} does not exist</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public UnfiledContainer getUnfiledContainer(String unfiledContainerId, String parameters)
|
public UnfiledContainer getUnfiledContainer(
|
||||||
{
|
String unfiledContainerId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("unfiledContainerId", unfiledContainerId);
|
mandatoryString("unfiledContainerId", unfiledContainerId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(UnfiledContainer.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModel(
|
||||||
"unfiled-containers/{unfiledContainerId}?{parameters}",
|
UnfiledContainer.class,
|
||||||
unfiledContainerId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"unfiled-containers/{unfiledContainerId}?{parameters}",
|
||||||
|
unfiledContainerId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getUnfiledContainerChildren(String)} (String, String)}
|
* see {@link #getUnfiledContainerChildren(String)} (String, String)}
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChildCollection getUnfiledContainerChildren(String unfiledContainerId)
|
public UnfiledContainerChildCollection getUnfiledContainerChildren(
|
||||||
{
|
String unfiledContainerId
|
||||||
|
) {
|
||||||
mandatoryString("unfiledContainerId", unfiledContainerId);
|
mandatoryString("unfiledContainerId", unfiledContainerId);
|
||||||
|
|
||||||
return getUnfiledContainerChildren(unfiledContainerId, EMPTY);
|
return getUnfiledContainerChildren(unfiledContainerId, EMPTY);
|
||||||
@@ -131,27 +133,42 @@ public class UnfiledContainerAPI extends RMModelRequest
|
|||||||
* <li>{@code unfiledContainerId} does not exist</li>
|
* <li>{@code unfiledContainerId} does not exist</li>
|
||||||
*</ul>
|
*</ul>
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChildCollection getUnfiledContainerChildren(String unfiledContainerId, String parameters)
|
public UnfiledContainerChildCollection getUnfiledContainerChildren(
|
||||||
{
|
String unfiledContainerId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("unfiledContainerId", unfiledContainerId);
|
mandatoryString("unfiledContainerId", unfiledContainerId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModels(UnfiledContainerChildCollection.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModels(
|
||||||
"unfiled-containers/{unfiledContainerId}/children?{parameters}",
|
UnfiledContainerChildCollection.class,
|
||||||
unfiledContainerId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"unfiled-containers/{unfiledContainerId}/children?{parameters}",
|
||||||
|
unfiledContainerId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #createUnfiledContainerChild(UnfiledContainerChild, String, String)}
|
* see {@link #createUnfiledContainerChild(UnfiledContainerChild, String, String)}
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChild createUnfiledContainerChild(UnfiledContainerChild unfiledContainerChildModel, String unfiledContainerId)
|
public UnfiledContainerChild createUnfiledContainerChild(
|
||||||
{
|
UnfiledContainerChild unfiledContainerChildModel,
|
||||||
mandatoryObject("unfiledContainerChildModel", unfiledContainerChildModel);
|
String unfiledContainerId
|
||||||
|
) {
|
||||||
|
mandatoryObject(
|
||||||
|
"unfiledContainerChildModel",
|
||||||
|
unfiledContainerChildModel
|
||||||
|
);
|
||||||
mandatoryString("unfiledContainerId", unfiledContainerId);
|
mandatoryString("unfiledContainerId", unfiledContainerId);
|
||||||
|
|
||||||
return createUnfiledContainerChild(unfiledContainerChildModel, unfiledContainerId, EMPTY);
|
return createUnfiledContainerChild(
|
||||||
|
unfiledContainerChildModel,
|
||||||
|
unfiledContainerId,
|
||||||
|
EMPTY
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -171,18 +188,28 @@ public class UnfiledContainerAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including node name with invalid characters</li>
|
* <li>model integrity exception, including node name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChild createUnfiledContainerChild(UnfiledContainerChild unfiledContainerChildModel, String unfiledContainerId, String parameters)
|
public UnfiledContainerChild createUnfiledContainerChild(
|
||||||
{
|
UnfiledContainerChild unfiledContainerChildModel,
|
||||||
mandatoryObject("unfiledContainerChildModel", unfiledContainerChildModel);
|
String unfiledContainerId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
|
mandatoryObject(
|
||||||
|
"unfiledContainerChildModel",
|
||||||
|
unfiledContainerChildModel
|
||||||
|
);
|
||||||
mandatoryString("unfiledContainerId", unfiledContainerId);
|
mandatoryString("unfiledContainerId", unfiledContainerId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(UnfiledContainerChild.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
POST,
|
.processModel(
|
||||||
toJson(unfiledContainerChildModel),
|
UnfiledContainerChild.class,
|
||||||
"unfiled-containers/{unfiledContainerId}/children?{parameters}",
|
requestWithBody(
|
||||||
unfiledContainerId,
|
POST,
|
||||||
parameters
|
toJson(unfiledContainerChildModel),
|
||||||
));
|
"unfiled-containers/{unfiledContainerId}/children?{parameters}",
|
||||||
|
unfiledContainerId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -194,14 +221,22 @@ public class UnfiledContainerAPI extends RMModelRequest
|
|||||||
* @return newly created {@link UnfiledContainerChild}
|
* @return newly created {@link UnfiledContainerChild}
|
||||||
* @throws RuntimeException for invalid recordModel JSON strings
|
* @throws RuntimeException for invalid recordModel JSON strings
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChild uploadRecord(UnfiledContainerChild unfiledContainerChildModel, String unfiledContainerId, File unfiledContainerChildContent)
|
public UnfiledContainerChild uploadRecord(
|
||||||
{
|
UnfiledContainerChild unfiledContainerChildModel,
|
||||||
mandatoryObject("unfiledContainerChildModel", unfiledContainerChildModel);
|
String unfiledContainerId,
|
||||||
mandatoryObject("unfiledContainerChildContent", unfiledContainerChildContent);
|
File unfiledContainerChildContent
|
||||||
|
) {
|
||||||
|
mandatoryObject(
|
||||||
|
"unfiledContainerChildModel",
|
||||||
|
unfiledContainerChildModel
|
||||||
|
);
|
||||||
|
mandatoryObject(
|
||||||
|
"unfiledContainerChildContent",
|
||||||
|
unfiledContainerChildContent
|
||||||
|
);
|
||||||
mandatoryString("unfiledContainerId", unfiledContainerId);
|
mandatoryString("unfiledContainerId", unfiledContainerId);
|
||||||
|
|
||||||
if (!unfiledContainerChildModel.getNodeType().equals(CONTENT_TYPE))
|
if (!unfiledContainerChildModel.getNodeType().equals(CONTENT_TYPE)) {
|
||||||
{
|
|
||||||
fail("Only electronic records are supported");
|
fail("Only electronic records are supported");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,36 +246,57 @@ public class UnfiledContainerAPI extends RMModelRequest
|
|||||||
*/
|
*/
|
||||||
RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec();
|
RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec();
|
||||||
JsonNode root;
|
JsonNode root;
|
||||||
try
|
try {
|
||||||
{
|
root =
|
||||||
root = new ObjectMapper().readTree(toJson(unfiledContainerChildModel, UnfiledContainerChild.class, UnfiledContainerChildMixin.class));
|
new ObjectMapper()
|
||||||
}
|
.readTree(
|
||||||
catch (IOException e)
|
toJson(
|
||||||
{
|
unfiledContainerChildModel,
|
||||||
|
UnfiledContainerChild.class,
|
||||||
|
UnfiledContainerChildMixin.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} catch (IOException e) {
|
||||||
throw new RuntimeException("Failed to convert model to JSON.", e);
|
throw new RuntimeException("Failed to convert model to JSON.", e);
|
||||||
}
|
}
|
||||||
// add request fields
|
// add request fields
|
||||||
Iterator<String> fieldNames = root.fieldNames();
|
Iterator<String> fieldNames = root.fieldNames();
|
||||||
while (fieldNames.hasNext())
|
while (fieldNames.hasNext()) {
|
||||||
{
|
|
||||||
String fieldName = fieldNames.next();
|
String fieldName = fieldNames.next();
|
||||||
builder.addMultiPart(fieldName, root.get(fieldName).asText(), ContentType.JSON.name());
|
builder.addMultiPart(
|
||||||
|
fieldName,
|
||||||
|
root.get(fieldName).asText(),
|
||||||
|
ContentType.JSON.name()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
builder.addMultiPart("filedata", unfiledContainerChildContent, ContentType.BINARY.name());
|
builder.addMultiPart(
|
||||||
|
"filedata",
|
||||||
|
unfiledContainerChildContent,
|
||||||
|
ContentType.BINARY.name()
|
||||||
|
);
|
||||||
|
|
||||||
// create node with given content
|
// create node with given content
|
||||||
return createUnfiledContainerChild(unfiledContainerChildModel, unfiledContainerId);
|
return createUnfiledContainerChild(
|
||||||
|
unfiledContainerChildModel,
|
||||||
|
unfiledContainerId
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #updateUnfiledContainer(UnfiledContainer, String, String)
|
* see {@link #updateUnfiledContainer(UnfiledContainer, String, String)
|
||||||
*/
|
*/
|
||||||
public UnfiledContainer updateUnfiledContainer(UnfiledContainer unfiledContainerModel, String unfiledContainerId)
|
public UnfiledContainer updateUnfiledContainer(
|
||||||
{
|
UnfiledContainer unfiledContainerModel,
|
||||||
|
String unfiledContainerId
|
||||||
|
) {
|
||||||
mandatoryObject("unfiledContainerModel", unfiledContainerModel);
|
mandatoryObject("unfiledContainerModel", unfiledContainerModel);
|
||||||
mandatoryString("unfiledContainerId", unfiledContainerId);
|
mandatoryString("unfiledContainerId", unfiledContainerId);
|
||||||
|
|
||||||
return updateUnfiledContainer(unfiledContainerModel, unfiledContainerId, EMPTY);
|
return updateUnfiledContainer(
|
||||||
|
unfiledContainerModel,
|
||||||
|
unfiledContainerId,
|
||||||
|
EMPTY
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -260,18 +316,24 @@ public class UnfiledContainerAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including file name with invalid characters</li>
|
* <li>model integrity exception, including file name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public UnfiledContainer updateUnfiledContainer(UnfiledContainer unfiledContainerModel, String unfiledContainerId, String parameters)
|
public UnfiledContainer updateUnfiledContainer(
|
||||||
{
|
UnfiledContainer unfiledContainerModel,
|
||||||
|
String unfiledContainerId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("unfiledContainerModel", unfiledContainerModel);
|
mandatoryObject("unfiledContainerModel", unfiledContainerModel);
|
||||||
mandatoryString("unfiledContainerId", unfiledContainerId);
|
mandatoryString("unfiledContainerId", unfiledContainerId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(UnfiledContainer.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
PUT,
|
.processModel(
|
||||||
toJson(unfiledContainerModel),
|
UnfiledContainer.class,
|
||||||
"unfiled-containers/{unfiledContainerId}?{parameters}",
|
requestWithBody(
|
||||||
unfiledContainerId,
|
PUT,
|
||||||
parameters
|
toJson(unfiledContainerModel),
|
||||||
));
|
"unfiled-containers/{unfiledContainerId}?{parameters}",
|
||||||
|
unfiledContainerId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -39,15 +39,13 @@ import static org.springframework.http.HttpMethod.POST;
|
|||||||
import static org.springframework.http.HttpMethod.PUT;
|
import static org.springframework.http.HttpMethod.PUT;
|
||||||
import static org.testng.Assert.fail;
|
import static org.testng.Assert.fail;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Iterator;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import io.restassured.builder.RequestSpecBuilder;
|
import io.restassured.builder.RequestSpecBuilder;
|
||||||
import io.restassured.http.ContentType;
|
import io.restassured.http.ContentType;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Iterator;
|
||||||
import org.alfresco.rest.core.RMRestWrapper;
|
import org.alfresco.rest.core.RMRestWrapper;
|
||||||
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChild;
|
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChild;
|
||||||
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChildCollection;
|
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChildCollection;
|
||||||
@@ -61,21 +59,21 @@ import org.alfresco.rest.rm.community.util.UnfiledContainerChildMixin;
|
|||||||
* @author Ramona Popa
|
* @author Ramona Popa
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class UnfiledRecordFolderAPI extends RMModelRequest
|
public class UnfiledRecordFolderAPI extends RMModelRequest {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* @param rmRestWrapper RM REST Wrapper
|
* @param rmRestWrapper RM REST Wrapper
|
||||||
*/
|
*/
|
||||||
public UnfiledRecordFolderAPI(RMRestWrapper rmRestWrapper)
|
public UnfiledRecordFolderAPI(RMRestWrapper rmRestWrapper) {
|
||||||
{
|
|
||||||
super(rmRestWrapper);
|
super(rmRestWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getUnfiledRecordFolder(String, String)}
|
* see {@link #getUnfiledRecordFolder(String, String)}
|
||||||
*/
|
*/
|
||||||
public UnfiledRecordFolder getUnfiledRecordFolder(String unfiledRecordFolderId)
|
public UnfiledRecordFolder getUnfiledRecordFolder(
|
||||||
{
|
String unfiledRecordFolderId
|
||||||
|
) {
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
return getUnfiledRecordFolder(unfiledRecordFolderId, EMPTY);
|
return getUnfiledRecordFolder(unfiledRecordFolderId, EMPTY);
|
||||||
@@ -95,23 +93,30 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
|
|||||||
* <li>{@code unfiledRecordFolderId} does not exist</li>
|
* <li>{@code unfiledRecordFolderId} does not exist</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public UnfiledRecordFolder getUnfiledRecordFolder(String unfiledRecordFolderId, String parameters)
|
public UnfiledRecordFolder getUnfiledRecordFolder(
|
||||||
{
|
String unfiledRecordFolderId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(UnfiledRecordFolder.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModel(
|
||||||
"unfiled-record-folders/{unfiledRecordFolderId}?{parameters}",
|
UnfiledRecordFolder.class,
|
||||||
unfiledRecordFolderId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"unfiled-record-folders/{unfiledRecordFolderId}?{parameters}",
|
||||||
|
unfiledRecordFolderId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #getUnfiledRecordFolderChildren(String, String)}
|
* see {@link #getUnfiledRecordFolderChildren(String, String)}
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChildCollection getUnfiledRecordFolderChildren(String unfiledRecordFolderId)
|
public UnfiledContainerChildCollection getUnfiledRecordFolderChildren(
|
||||||
{
|
String unfiledRecordFolderId
|
||||||
|
) {
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
return getUnfiledRecordFolderChildren(unfiledRecordFolderId, EMPTY);
|
return getUnfiledRecordFolderChildren(unfiledRecordFolderId, EMPTY);
|
||||||
@@ -130,27 +135,42 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
|
|||||||
* <li>{@code unfiledRecordFolderId} does not exist</li>
|
* <li>{@code unfiledRecordFolderId} does not exist</li>
|
||||||
*</ul>
|
*</ul>
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChildCollection getUnfiledRecordFolderChildren(String unfiledRecordFolderId, String parameters)
|
public UnfiledContainerChildCollection getUnfiledRecordFolderChildren(
|
||||||
{
|
String unfiledRecordFolderId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModels(UnfiledContainerChildCollection.class, simpleRequest(
|
return getRmRestWrapper()
|
||||||
GET,
|
.processModels(
|
||||||
"unfiled-record-folders/{unfiledRecordFolderId}/children?{parameters}",
|
UnfiledContainerChildCollection.class,
|
||||||
unfiledRecordFolderId,
|
simpleRequest(
|
||||||
parameters
|
GET,
|
||||||
));
|
"unfiled-record-folders/{unfiledRecordFolderId}/children?{parameters}",
|
||||||
|
unfiledRecordFolderId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #createUnfiledRecordFolderChild(UnfiledContainerChild, String, String)}
|
* see {@link #createUnfiledRecordFolderChild(UnfiledContainerChild, String, String)}
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChild createUnfiledRecordFolderChild(UnfiledContainerChild unfiledRecordFolderChildModel, String unfiledRecordFolderId)
|
public UnfiledContainerChild createUnfiledRecordFolderChild(
|
||||||
{
|
UnfiledContainerChild unfiledRecordFolderChildModel,
|
||||||
mandatoryObject("unfiledRecordFolderChildModel", unfiledRecordFolderChildModel);
|
String unfiledRecordFolderId
|
||||||
|
) {
|
||||||
|
mandatoryObject(
|
||||||
|
"unfiledRecordFolderChildModel",
|
||||||
|
unfiledRecordFolderChildModel
|
||||||
|
);
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
return createUnfiledRecordFolderChild(unfiledRecordFolderChildModel, unfiledRecordFolderId, EMPTY);
|
return createUnfiledRecordFolderChild(
|
||||||
|
unfiledRecordFolderChildModel,
|
||||||
|
unfiledRecordFolderId,
|
||||||
|
EMPTY
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -170,18 +190,28 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including node name with invalid characters</li>
|
* <li>model integrity exception, including node name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChild createUnfiledRecordFolderChild(UnfiledContainerChild unfiledRecordFolderChildModel, String unfiledRecordFolderId, String parameters)
|
public UnfiledContainerChild createUnfiledRecordFolderChild(
|
||||||
{
|
UnfiledContainerChild unfiledRecordFolderChildModel,
|
||||||
mandatoryObject("unfiledRecordFolderChildModel", unfiledRecordFolderChildModel);
|
String unfiledRecordFolderId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
|
mandatoryObject(
|
||||||
|
"unfiledRecordFolderChildModel",
|
||||||
|
unfiledRecordFolderChildModel
|
||||||
|
);
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(UnfiledContainerChild.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
POST,
|
.processModel(
|
||||||
toJson(unfiledRecordFolderChildModel),
|
UnfiledContainerChild.class,
|
||||||
"unfiled-record-folders/{unfiledRecordFolderId}/children?{parameters}",
|
requestWithBody(
|
||||||
unfiledRecordFolderId,
|
POST,
|
||||||
parameters
|
toJson(unfiledRecordFolderChildModel),
|
||||||
));
|
"unfiled-record-folders/{unfiledRecordFolderId}/children?{parameters}",
|
||||||
|
unfiledRecordFolderId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -193,14 +223,22 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
|
|||||||
* @return newly created {@link UnfiledContainerChild}
|
* @return newly created {@link UnfiledContainerChild}
|
||||||
* @throws RuntimeException for invalid recordModel JSON strings
|
* @throws RuntimeException for invalid recordModel JSON strings
|
||||||
*/
|
*/
|
||||||
public UnfiledContainerChild uploadRecord(UnfiledContainerChild unfiledRecordFolderChildModel, String unfiledRecordFolderId, File unfiledRecordFolderChildContent)
|
public UnfiledContainerChild uploadRecord(
|
||||||
{
|
UnfiledContainerChild unfiledRecordFolderChildModel,
|
||||||
mandatoryObject("unfiledRecordFolderChildModel", unfiledRecordFolderChildModel);
|
String unfiledRecordFolderId,
|
||||||
mandatoryObject("unfiledRecordFolderChildContent", unfiledRecordFolderChildContent);
|
File unfiledRecordFolderChildContent
|
||||||
|
) {
|
||||||
|
mandatoryObject(
|
||||||
|
"unfiledRecordFolderChildModel",
|
||||||
|
unfiledRecordFolderChildModel
|
||||||
|
);
|
||||||
|
mandatoryObject(
|
||||||
|
"unfiledRecordFolderChildContent",
|
||||||
|
unfiledRecordFolderChildContent
|
||||||
|
);
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
if (!unfiledRecordFolderChildModel.getNodeType().equals(CONTENT_TYPE))
|
if (!unfiledRecordFolderChildModel.getNodeType().equals(CONTENT_TYPE)) {
|
||||||
{
|
|
||||||
fail("Only electronic records are supported");
|
fail("Only electronic records are supported");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,36 +248,57 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
|
|||||||
*/
|
*/
|
||||||
RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec();
|
RequestSpecBuilder builder = getRmRestWrapper().configureRequestSpec();
|
||||||
JsonNode root;
|
JsonNode root;
|
||||||
try
|
try {
|
||||||
{
|
root =
|
||||||
root = new ObjectMapper().readTree(toJson(unfiledRecordFolderChildModel, UnfiledContainerChild.class, UnfiledContainerChildMixin.class));
|
new ObjectMapper()
|
||||||
}
|
.readTree(
|
||||||
catch (IOException e)
|
toJson(
|
||||||
{
|
unfiledRecordFolderChildModel,
|
||||||
|
UnfiledContainerChild.class,
|
||||||
|
UnfiledContainerChildMixin.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} catch (IOException e) {
|
||||||
throw new RuntimeException("Failed to convert model to JSON.", e);
|
throw new RuntimeException("Failed to convert model to JSON.", e);
|
||||||
}
|
}
|
||||||
// add request fields
|
// add request fields
|
||||||
Iterator<String> fieldNames = root.fieldNames();
|
Iterator<String> fieldNames = root.fieldNames();
|
||||||
while (fieldNames.hasNext())
|
while (fieldNames.hasNext()) {
|
||||||
{
|
|
||||||
String fieldName = fieldNames.next();
|
String fieldName = fieldNames.next();
|
||||||
builder.addMultiPart(fieldName, root.get(fieldName).asText(), ContentType.JSON.name());
|
builder.addMultiPart(
|
||||||
|
fieldName,
|
||||||
|
root.get(fieldName).asText(),
|
||||||
|
ContentType.JSON.name()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
builder.addMultiPart("filedata", unfiledRecordFolderChildContent, ContentType.BINARY.name());
|
builder.addMultiPart(
|
||||||
|
"filedata",
|
||||||
|
unfiledRecordFolderChildContent,
|
||||||
|
ContentType.BINARY.name()
|
||||||
|
);
|
||||||
|
|
||||||
// create node with given content
|
// create node with given content
|
||||||
return createUnfiledRecordFolderChild(unfiledRecordFolderChildModel, unfiledRecordFolderId);
|
return createUnfiledRecordFolderChild(
|
||||||
|
unfiledRecordFolderChildModel,
|
||||||
|
unfiledRecordFolderId
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #updateUnfiledRecordFolder(UnfiledRecordFolder, String, String)
|
* see {@link #updateUnfiledRecordFolder(UnfiledRecordFolder, String, String)
|
||||||
*/
|
*/
|
||||||
public UnfiledRecordFolder updateUnfiledRecordFolder(UnfiledRecordFolder unfiledRecordFolderModel, String unfiledRecordFolderId)
|
public UnfiledRecordFolder updateUnfiledRecordFolder(
|
||||||
{
|
UnfiledRecordFolder unfiledRecordFolderModel,
|
||||||
|
String unfiledRecordFolderId
|
||||||
|
) {
|
||||||
mandatoryObject("unfiledRecordFolderModel", unfiledRecordFolderModel);
|
mandatoryObject("unfiledRecordFolderModel", unfiledRecordFolderModel);
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
return updateUnfiledRecordFolder(unfiledRecordFolderModel, unfiledRecordFolderId, EMPTY);
|
return updateUnfiledRecordFolder(
|
||||||
|
unfiledRecordFolderModel,
|
||||||
|
unfiledRecordFolderId,
|
||||||
|
EMPTY
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -259,18 +318,25 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
|
|||||||
* <li>model integrity exception, including file name with invalid characters</li>
|
* <li>model integrity exception, including file name with invalid characters</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public UnfiledRecordFolder updateUnfiledRecordFolder(UnfiledRecordFolder unfiledRecordFolderModel, String unfiledRecordFolderId, String parameters)
|
public UnfiledRecordFolder updateUnfiledRecordFolder(
|
||||||
{
|
UnfiledRecordFolder unfiledRecordFolderModel,
|
||||||
|
String unfiledRecordFolderId,
|
||||||
|
String parameters
|
||||||
|
) {
|
||||||
mandatoryObject("unfiledRecordFolderModel", unfiledRecordFolderModel);
|
mandatoryObject("unfiledRecordFolderModel", unfiledRecordFolderModel);
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
return getRmRestWrapper().processModel(UnfiledRecordFolder.class, requestWithBody(
|
return getRmRestWrapper()
|
||||||
PUT,
|
.processModel(
|
||||||
toJson(unfiledRecordFolderModel),
|
UnfiledRecordFolder.class,
|
||||||
"unfiled-record-folders/{unfiledRecordFolderId}?{parameters}",
|
requestWithBody(
|
||||||
unfiledRecordFolderId,
|
PUT,
|
||||||
parameters
|
toJson(unfiledRecordFolderModel),
|
||||||
));
|
"unfiled-record-folders/{unfiledRecordFolderId}?{parameters}",
|
||||||
|
unfiledRecordFolderId,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -286,15 +352,16 @@ public class UnfiledRecordFolderAPI extends RMModelRequest
|
|||||||
* <li>{@code unfiledRecordFolderId} is locked and cannot be deleted</li>
|
* <li>{@code unfiledRecordFolderId} is locked and cannot be deleted</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public void deleteUnfiledRecordFolder(String unfiledRecordFolderId)
|
public void deleteUnfiledRecordFolder(String unfiledRecordFolderId) {
|
||||||
{
|
|
||||||
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
mandatoryString("unfiledRecordFolderId", unfiledRecordFolderId);
|
||||||
|
|
||||||
getRmRestWrapper().processEmptyModel(simpleRequest(
|
getRmRestWrapper()
|
||||||
DELETE,
|
.processEmptyModel(
|
||||||
"unfiled-record-folders/{recordFolderId}",
|
simpleRequest(
|
||||||
unfiledRecordFolderId
|
DELETE,
|
||||||
));
|
"unfiled-record-folders/{recordFolderId}",
|
||||||
|
unfiledRecordFolderId
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -35,24 +35,24 @@ import java.util.UUID;
|
|||||||
* @author Tom Page
|
* @author Tom Page
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class CommonTestUtils
|
public class CommonTestUtils {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* The default pattern used for the user full name when users are created with tas utility
|
* The default pattern used for the user full name when users are created with tas utility
|
||||||
*/
|
*/
|
||||||
public static final String USER_FULLNAME_PATTERN = "FN-%1$s LN-%1$s";
|
public static final String USER_FULLNAME_PATTERN = "FN-%1$s LN-%1$s";
|
||||||
|
|
||||||
/** Private constructor to prevent instantiation. */
|
/** Private constructor to prevent instantiation. */
|
||||||
private CommonTestUtils()
|
private CommonTestUtils() {}
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate a prefix to namespace the objects in a test class. Note that four random hex digits should be good enough to avoid
|
* Generate a prefix to namespace the objects in a test class. Note that four random hex digits should be good enough to avoid
|
||||||
* collisions when running locally and should also be short enough to maintain readability.
|
* collisions when running locally and should also be short enough to maintain readability.
|
||||||
*/
|
*/
|
||||||
public static String generateTestPrefix(Class<?> clazz)
|
public static String generateTestPrefix(Class<?> clazz) {
|
||||||
{
|
return (
|
||||||
return clazz.getSimpleName().substring(0, 7) + UUID.randomUUID().toString().substring(0, 4).toUpperCase();
|
clazz.getSimpleName().substring(0, 7) +
|
||||||
|
UUID.randomUUID().toString().substring(0, 4).toUpperCase()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -29,11 +29,6 @@ package org.alfresco.rest.rm.community.util;
|
|||||||
|
|
||||||
import static org.testng.Assert.assertTrue;
|
import static org.testng.Assert.assertTrue;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import com.github.dockerjava.api.DockerClient;
|
import com.github.dockerjava.api.DockerClient;
|
||||||
import com.github.dockerjava.api.command.LogContainerCmd;
|
import com.github.dockerjava.api.command.LogContainerCmd;
|
||||||
import com.github.dockerjava.api.model.Container;
|
import com.github.dockerjava.api.model.Container;
|
||||||
@@ -41,7 +36,10 @@ import com.github.dockerjava.api.model.Frame;
|
|||||||
import com.github.dockerjava.core.DockerClientBuilder;
|
import com.github.dockerjava.core.DockerClientBuilder;
|
||||||
import com.github.dockerjava.core.command.LogContainerResultCallback;
|
import com.github.dockerjava.core.command.LogContainerResultCallback;
|
||||||
import com.github.dockerjava.netty.NettyDockerCmdExecFactory;
|
import com.github.dockerjava.netty.NettyDockerCmdExecFactory;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.alfresco.utility.Utility;
|
import org.alfresco.utility.Utility;
|
||||||
@@ -59,30 +57,31 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 3.1
|
* @since 3.1
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class DockerHelper
|
public class DockerHelper {
|
||||||
{
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(DockerHelper.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(
|
||||||
|
DockerHelper.class
|
||||||
|
);
|
||||||
private static final String REPO_IMAGE_NAME = "repository";
|
private static final String REPO_IMAGE_NAME = "repository";
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
private DockerClient dockerClient;
|
private DockerClient dockerClient;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public DockerHelper(@Value ("${docker.host}") String dockerHost)
|
public DockerHelper(@Value("${docker.host}") String dockerHost) {
|
||||||
{
|
if (SystemUtils.IS_OS_WINDOWS) {
|
||||||
if (SystemUtils.IS_OS_WINDOWS)
|
this.dockerClient =
|
||||||
{
|
DockerClientBuilder
|
||||||
this.dockerClient = DockerClientBuilder
|
.getInstance(dockerHost)
|
||||||
.getInstance(dockerHost)
|
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
|
||||||
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
|
.build();
|
||||||
.build();
|
} else {
|
||||||
}
|
this.dockerClient =
|
||||||
else
|
DockerClientBuilder
|
||||||
{
|
.getInstance()
|
||||||
this.dockerClient = DockerClientBuilder
|
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
|
||||||
.getInstance()
|
.build();
|
||||||
.withDockerCmdExecFactory(new NettyDockerCmdExecFactory())
|
|
||||||
.build();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,31 +92,34 @@ public class DockerHelper
|
|||||||
* @param timeStamp - get the logs since a specific timestamp
|
* @param timeStamp - get the logs since a specific timestamp
|
||||||
* @return list of strings, where every string is log line
|
* @return list of strings, where every string is log line
|
||||||
*/
|
*/
|
||||||
private List<String> getDockerLogs(String containerId, int timeStamp)
|
private List<String> getDockerLogs(String containerId, int timeStamp) {
|
||||||
{
|
|
||||||
final List<String> logs = new ArrayList<>();
|
final List<String> logs = new ArrayList<>();
|
||||||
|
|
||||||
final LogContainerCmd logContainerCmd = getDockerClient().logContainerCmd(containerId);
|
final LogContainerCmd logContainerCmd = getDockerClient()
|
||||||
logContainerCmd.withStdOut(true)
|
.logContainerCmd(containerId);
|
||||||
.withStdErr(true)
|
logContainerCmd
|
||||||
.withSince(timeStamp) // UNIX timestamp to filter logs. Output log-entries since that timestamp.
|
.withStdOut(true)
|
||||||
.withTimestamps(true); //print timestamps for every log line
|
.withStdErr(true)
|
||||||
|
.withSince(timeStamp) // UNIX timestamp to filter logs. Output log-entries since that timestamp.
|
||||||
|
.withTimestamps(true); //print timestamps for every log line
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
logContainerCmd
|
||||||
logContainerCmd.exec(new LogContainerResultCallback()
|
.exec(
|
||||||
{
|
new LogContainerResultCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onNext(Frame item)
|
public void onNext(Frame item) {
|
||||||
{
|
logs.add(item.toString());
|
||||||
logs.add(item.toString());
|
}
|
||||||
}
|
}
|
||||||
}).awaitCompletion();
|
)
|
||||||
}
|
.awaitCompletion();
|
||||||
catch (InterruptedException e)
|
} catch (InterruptedException e) {
|
||||||
{
|
Thread.currentThread().interrupt(); // set interrupt flag
|
||||||
Thread.currentThread().interrupt(); // set interrupt flag
|
LOGGER.error(
|
||||||
LOGGER.error("Failed to retrieve logs of container " + containerId, e);
|
"Failed to retrieve logs of container " + containerId,
|
||||||
|
e
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return logs;
|
return logs;
|
||||||
@@ -128,19 +130,22 @@ public class DockerHelper
|
|||||||
*
|
*
|
||||||
* @return list of strings, where every string is log line
|
* @return list of strings, where every string is log line
|
||||||
*/
|
*/
|
||||||
public List<String> getAlfrescoLogs()
|
public List<String> getAlfrescoLogs() {
|
||||||
{
|
final List<Container> alfrescoContainers = findContainersByImageName(
|
||||||
final List<Container> alfrescoContainers = findContainersByImageName(REPO_IMAGE_NAME);
|
REPO_IMAGE_NAME
|
||||||
if (alfrescoContainers.isEmpty())
|
);
|
||||||
{
|
if (alfrescoContainers.isEmpty()) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
List<String> alfrescoLogs = new ArrayList<>();
|
List<String> alfrescoLogs = new ArrayList<>();
|
||||||
// get the logs since current time - 10 seconds
|
// get the logs since current time - 10 seconds
|
||||||
final int timeStamp = (int) (System.currentTimeMillis() / 1000) - 10;
|
final int timeStamp = (int) (System.currentTimeMillis() / 1000) -
|
||||||
alfrescoContainers.forEach(alfrescoContainer -> alfrescoLogs.addAll(getDockerLogs(alfrescoContainer.getId(), timeStamp)));
|
10;
|
||||||
|
alfrescoContainers.forEach(alfrescoContainer ->
|
||||||
|
alfrescoLogs.addAll(
|
||||||
|
getDockerLogs(alfrescoContainer.getId(), timeStamp)
|
||||||
|
)
|
||||||
|
);
|
||||||
return alfrescoLogs;
|
return alfrescoLogs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -151,14 +156,22 @@ public class DockerHelper
|
|||||||
* @param expectedException the expected exception to be thrown
|
* @param expectedException the expected exception to be thrown
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public void checkExceptionIsInAlfrescoLogs(String expectedException) throws Exception
|
public void checkExceptionIsInAlfrescoLogs(String expectedException)
|
||||||
{
|
throws Exception {
|
||||||
//Retry the operation because sometimes it takes few seconds to throw the exception
|
//Retry the operation because sometimes it takes few seconds to throw the exception
|
||||||
Utility.sleep(6000, 30000, () ->
|
Utility.sleep(
|
||||||
{
|
6000,
|
||||||
List<String> alfrescoLogs = getAlfrescoLogs();
|
30000,
|
||||||
assertTrue(alfrescoLogs.stream().anyMatch(logLine -> logLine.contains(expectedException)));
|
() -> {
|
||||||
});
|
List<String> alfrescoLogs = getAlfrescoLogs();
|
||||||
|
assertTrue(
|
||||||
|
alfrescoLogs
|
||||||
|
.stream()
|
||||||
|
.anyMatch(logLine -> logLine.contains(expectedException)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -167,12 +180,15 @@ public class DockerHelper
|
|||||||
* @param imageName - the name of the image used by container
|
* @param imageName - the name of the image used by container
|
||||||
* @return the containers
|
* @return the containers
|
||||||
*/
|
*/
|
||||||
private List<Container> findContainersByImageName(String imageName)
|
private List<Container> findContainersByImageName(String imageName) {
|
||||||
{
|
final List<Container> containers = getDockerClient()
|
||||||
final List<Container> containers = getDockerClient().listContainersCmd().withShowAll(true).exec();
|
.listContainersCmd()
|
||||||
|
.withShowAll(true)
|
||||||
|
.exec();
|
||||||
|
|
||||||
return containers.stream()
|
return containers
|
||||||
.filter(container -> container.getImage().contains(imageName))
|
.stream()
|
||||||
.collect(Collectors.toList());
|
.filter(container -> container.getImage().contains(imageName))
|
||||||
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,7 +27,6 @@
|
|||||||
package org.alfresco.rest.rm.community.util;
|
package org.alfresco.rest.rm.community.util;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonUnwrapped;
|
import com.fasterxml.jackson.annotation.JsonUnwrapped;
|
||||||
|
|
||||||
import org.alfresco.rest.rm.community.model.record.RecordProperties;
|
import org.alfresco.rest.rm.community.model.record.RecordProperties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -38,8 +37,8 @@ import org.alfresco.rest.rm.community.model.record.RecordProperties;
|
|||||||
* @author Rodica Sutu
|
* @author Rodica Sutu
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public abstract class FilePlanComponentMixIn
|
public abstract class FilePlanComponentMixIn {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Annotation used to indicate that a property should be serialized "unwrapped"
|
* Annotation used to indicate that a property should be serialized "unwrapped"
|
||||||
* Its properties are instead included as properties of its containing Object
|
* Its properties are instead included as properties of its containing Object
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -34,10 +34,9 @@ import static org.apache.commons.lang3.StringUtils.isBlank;
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class ParameterCheck
|
public class ParameterCheck {
|
||||||
{
|
|
||||||
private ParameterCheck()
|
private ParameterCheck() {
|
||||||
{
|
|
||||||
// Intentionally blank
|
// Intentionally blank
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,11 +47,14 @@ public class ParameterCheck
|
|||||||
* @param paramValue The value of the parameter to check
|
* @param paramValue The value of the parameter to check
|
||||||
* @throws IllegalArgumentException Throws an exception if the given value is blank
|
* @throws IllegalArgumentException Throws an exception if the given value is blank
|
||||||
*/
|
*/
|
||||||
public static void mandatoryString(final String paramName, final String paramValue) throws IllegalArgumentException
|
public static void mandatoryString(
|
||||||
{
|
final String paramName,
|
||||||
if (isBlank(paramValue))
|
final String paramValue
|
||||||
{
|
) throws IllegalArgumentException {
|
||||||
throw new IllegalArgumentException("'" + paramName + "' is a mandatory parameter.");
|
if (isBlank(paramValue)) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
"'" + paramName + "' is a mandatory parameter."
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,11 +65,14 @@ public class ParameterCheck
|
|||||||
* @param object The value of the parameter to check
|
* @param object The value of the parameter to check
|
||||||
* @throws IllegalArgumentException Throws an exception if the given value is null
|
* @throws IllegalArgumentException Throws an exception if the given value is null
|
||||||
*/
|
*/
|
||||||
public static void mandatoryObject(final String paramName, final Object object) throws IllegalArgumentException
|
public static void mandatoryObject(
|
||||||
{
|
final String paramName,
|
||||||
if (object == null)
|
final Object object
|
||||||
{
|
) throws IllegalArgumentException {
|
||||||
throw new IllegalArgumentException("'" + paramName + "' is a mandatory parameter.");
|
if (object == null) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
"'" + paramName + "' is a mandatory parameter."
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -28,14 +28,12 @@ package org.alfresco.rest.rm.community.util;
|
|||||||
|
|
||||||
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject;
|
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.type.CollectionType;
|
import com.fasterxml.jackson.databind.type.CollectionType;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -47,22 +45,22 @@ import org.slf4j.LoggerFactory;
|
|||||||
* @author Rodica Sutu
|
* @author Rodica Sutu
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class PojoUtility
|
public class PojoUtility {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Logger for the class.
|
* Logger for the class.
|
||||||
*/
|
*/
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(PojoUtility.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(
|
||||||
|
PojoUtility.class
|
||||||
|
);
|
||||||
|
|
||||||
/** Private constructor to prevent instantiation. */
|
/** Private constructor to prevent instantiation. */
|
||||||
private PojoUtility()
|
private PojoUtility() {}
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see {@link #toJson(Object, Class, Class)}
|
* see {@link #toJson(Object, Class, Class)}
|
||||||
*/
|
*/
|
||||||
public static String toJson(Object model)
|
public static String toJson(Object model) {
|
||||||
{
|
|
||||||
mandatoryObject("model", model);
|
mandatoryObject("model", model);
|
||||||
|
|
||||||
return toJson(model, null, null);
|
return toJson(model, null, null);
|
||||||
@@ -77,14 +75,16 @@ public class PojoUtility
|
|||||||
* @return The converted java object as JSON string
|
* @return The converted java object as JSON string
|
||||||
* @throws JsonProcessingException Throws exceptions if the given object doesn't match to the POJO class model
|
* @throws JsonProcessingException Throws exceptions if the given object doesn't match to the POJO class model
|
||||||
*/
|
*/
|
||||||
public static String toJson(Object model, Class<?> target, Class<?> mixinSource)
|
public static String toJson(
|
||||||
{
|
Object model,
|
||||||
|
Class<?> target,
|
||||||
|
Class<?> mixinSource
|
||||||
|
) {
|
||||||
mandatoryObject("model", model);
|
mandatoryObject("model", model);
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
if (target != null && mixinSource != null)
|
if (target != null && mixinSource != null) {
|
||||||
{
|
|
||||||
//inject the "mix-in" annotations from FilePlanComponentMix to
|
//inject the "mix-in" annotations from FilePlanComponentMix to
|
||||||
// FilePlanComponent POJO class when converting to json
|
// FilePlanComponent POJO class when converting to json
|
||||||
mapper.addMixIn(target, mixinSource);
|
mapper.addMixIn(target, mixinSource);
|
||||||
@@ -94,12 +94,11 @@ public class PojoUtility
|
|||||||
mapper.setSerializationInclusion(Include.NON_NULL);
|
mapper.setSerializationInclusion(Include.NON_NULL);
|
||||||
|
|
||||||
//return the json object
|
//return the json object
|
||||||
try
|
try {
|
||||||
{
|
return mapper
|
||||||
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(model);
|
.writerWithDefaultPrettyPrinter()
|
||||||
}
|
.writeValueAsString(model);
|
||||||
catch (JsonProcessingException error)
|
} catch (JsonProcessingException error) {
|
||||||
{
|
|
||||||
return error.toString();
|
return error.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -112,20 +111,16 @@ public class PojoUtility
|
|||||||
* @return The converted java object
|
* @return The converted java object
|
||||||
* @throws JsonProcessingException Throws exceptions if the given object doesn't match to the POJO class model
|
* @throws JsonProcessingException Throws exceptions if the given object doesn't match to the POJO class model
|
||||||
*/
|
*/
|
||||||
public static <T> T jsonToObject(JSONObject json, Class<T> classz)
|
public static <T> T jsonToObject(JSONObject json, Class<T> classz) {
|
||||||
{
|
|
||||||
mandatoryObject("model", classz);
|
mandatoryObject("model", classz);
|
||||||
mandatoryObject("jsonObject", json);
|
mandatoryObject("jsonObject", json);
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
T obj = null;
|
T obj = null;
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
obj = mapper.readValue(json.toString(), classz);
|
obj = mapper.readValue(json.toString(), classz);
|
||||||
}
|
} catch (IOException e) {
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
LOGGER.error("Unable to convert the json into a java object.", e);
|
LOGGER.error("Unable to convert the json into a java object.", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,27 +135,25 @@ public class PojoUtility
|
|||||||
* @return The list of converted java objects
|
* @return The list of converted java objects
|
||||||
* @throws JsonProcessingException Throws exceptions if the given object doesn't match to the POJO class model
|
* @throws JsonProcessingException Throws exceptions if the given object doesn't match to the POJO class model
|
||||||
*/
|
*/
|
||||||
public static <T> List<T> jsonToObject(JSONArray json, Class<T> classz)
|
public static <T> List<T> jsonToObject(JSONArray json, Class<T> classz) {
|
||||||
{
|
|
||||||
|
|
||||||
mandatoryObject("model", classz);
|
mandatoryObject("model", classz);
|
||||||
mandatoryObject("jsonObject", json);
|
mandatoryObject("jsonObject", json);
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
CollectionType collectionType = mapper.getTypeFactory().constructCollectionType(List.class, classz);
|
CollectionType collectionType = mapper
|
||||||
|
.getTypeFactory()
|
||||||
|
.constructCollectionType(List.class, classz);
|
||||||
List<T> asList = null;
|
List<T> asList = null;
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
asList = mapper.readValue(json.toString(), collectionType);
|
asList = mapper.readValue(json.toString(), collectionType);
|
||||||
|
} catch (IOException e) {
|
||||||
|
LOGGER.error(
|
||||||
|
"Unable to convert the json array into a java collection.",
|
||||||
|
e
|
||||||
|
);
|
||||||
}
|
}
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
LOGGER.error("Unable to convert the json array into a java collection.", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return asList;
|
return asList;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,13 +26,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.rm.community.util;
|
package org.alfresco.rest.rm.community.util;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonGenerator;
|
import com.fasterxml.jackson.core.JsonGenerator;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.JsonSerializer;
|
import com.fasterxml.jackson.databind.JsonSerializer;
|
||||||
import com.fasterxml.jackson.databind.SerializerProvider;
|
import com.fasterxml.jackson.databind.SerializerProvider;
|
||||||
|
import java.io.IOException;
|
||||||
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
|
import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -41,8 +39,8 @@ import org.alfresco.rest.rm.community.model.common.ReviewPeriod;
|
|||||||
* @author Rodica Sutu
|
* @author Rodica Sutu
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public class ReviewPeriodSerializer extends JsonSerializer<ReviewPeriod>
|
public class ReviewPeriodSerializer extends JsonSerializer<ReviewPeriod> {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* @param value The Review Period value that is being serialized.
|
* @param value The Review Period value that is being serialized.
|
||||||
* @param gen Jackson utility is responsible for writing JSON
|
* @param gen Jackson utility is responsible for writing JSON
|
||||||
@@ -51,9 +49,18 @@ public class ReviewPeriodSerializer extends JsonSerializer<ReviewPeriod>
|
|||||||
* @throws JsonProcessingException
|
* @throws JsonProcessingException
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void serialize(ReviewPeriod value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException
|
public void serialize(
|
||||||
{
|
ReviewPeriod value,
|
||||||
|
JsonGenerator gen,
|
||||||
|
SerializerProvider serializers
|
||||||
|
) throws IOException, JsonProcessingException {
|
||||||
//create the custom string value for the Review Period type
|
//create the custom string value for the Review Period type
|
||||||
gen.writeString(new StringBuilder().append(value.getPeriodType()).append("|").append(value.getExpression()).toString());
|
gen.writeString(
|
||||||
|
new StringBuilder()
|
||||||
|
.append(value.getPeriodType())
|
||||||
|
.append("|")
|
||||||
|
.append(value.getExpression())
|
||||||
|
.toString()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -27,7 +27,6 @@
|
|||||||
package org.alfresco.rest.rm.community.util;
|
package org.alfresco.rest.rm.community.util;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonUnwrapped;
|
import com.fasterxml.jackson.annotation.JsonUnwrapped;
|
||||||
|
|
||||||
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChildProperties;
|
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChildProperties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -38,8 +37,8 @@ import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChi
|
|||||||
* @author Tuna Aksoy
|
* @author Tuna Aksoy
|
||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
public abstract class UnfiledContainerChildMixin
|
public abstract class UnfiledContainerChildMixin {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Annotation used to indicate that a property should be serialized "unwrapped"
|
* Annotation used to indicate that a property should be serialized "unwrapped"
|
||||||
* Its properties are instead included as properties of its containing Object
|
* Its properties are instead included as properties of its containing Object
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -28,7 +28,6 @@ package org.alfresco.rest.v0;
|
|||||||
|
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.alfresco.rest.core.v0.BaseAPI;
|
import org.alfresco.rest.core.v0.BaseAPI;
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
@@ -44,12 +43,15 @@ import org.springframework.stereotype.Component;
|
|||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
public class CopyToAPI extends BaseAPI
|
public class CopyToAPI extends BaseAPI {
|
||||||
{
|
|
||||||
/** Logger for the class. */
|
/** Logger for the class. */
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(CopyToAPI.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(
|
||||||
|
CopyToAPI.class
|
||||||
|
);
|
||||||
/** The URI for the copy-to API. */
|
/** The URI for the copy-to API. */
|
||||||
private static final String COPY_TO_API = "{0}doclib/action/copy-to/node/{1}";
|
private static final String COPY_TO_API =
|
||||||
|
"{0}doclib/action/copy-to/node/{1}";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copy a list of nodes to the target container.
|
* Copy a list of nodes to the target container.
|
||||||
@@ -63,8 +65,12 @@ public class CopyToAPI extends BaseAPI
|
|||||||
* @return The HTTP Response.
|
* @return The HTTP Response.
|
||||||
* @throws AssertionError If the API call didn't return a 200 response.
|
* @throws AssertionError If the API call didn't return a 200 response.
|
||||||
*/
|
*/
|
||||||
public HttpResponse copyTo(String user, String password, String targetContainerPath, List<String> nodeRefs)
|
public HttpResponse copyTo(
|
||||||
{
|
String user,
|
||||||
|
String password,
|
||||||
|
String targetContainerPath,
|
||||||
|
List<String> nodeRefs
|
||||||
|
) {
|
||||||
return copyTo(user, password, 200, targetContainerPath, nodeRefs);
|
return copyTo(user, password, 200, targetContainerPath, nodeRefs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,12 +87,22 @@ public class CopyToAPI extends BaseAPI
|
|||||||
* @return The HTTP Response.
|
* @return The HTTP Response.
|
||||||
* @throws AssertionError If the API didn't return the expected status code.
|
* @throws AssertionError If the API didn't return the expected status code.
|
||||||
*/
|
*/
|
||||||
public HttpResponse copyTo(String user, String password, int expectedStatusCode, String targetContainerPath, List<String> nodeRefs)
|
public HttpResponse copyTo(
|
||||||
{
|
String user,
|
||||||
|
String password,
|
||||||
|
int expectedStatusCode,
|
||||||
|
String targetContainerPath,
|
||||||
|
List<String> nodeRefs
|
||||||
|
) {
|
||||||
JSONObject requestParams = new JSONObject();
|
JSONObject requestParams = new JSONObject();
|
||||||
requestParams.put("nodeRefs", new JSONArray(nodeRefs));
|
requestParams.put("nodeRefs", new JSONArray(nodeRefs));
|
||||||
|
|
||||||
return doSlingshotPostJsonRequest(user, password, expectedStatusCode, requestParams,
|
return doSlingshotPostJsonRequest(
|
||||||
MessageFormat.format(COPY_TO_API, "{0}", targetContainerPath));
|
user,
|
||||||
|
password,
|
||||||
|
expectedStatusCode,
|
||||||
|
requestParams,
|
||||||
|
MessageFormat.format(COPY_TO_API, "{0}", targetContainerPath)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -26,8 +26,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.v0;
|
package org.alfresco.rest.v0;
|
||||||
|
|
||||||
import java.text.MessageFormat;
|
import static org.testng.AssertJUnit.assertTrue;
|
||||||
|
|
||||||
|
import java.text.MessageFormat;
|
||||||
import org.alfresco.rest.core.v0.BaseAPI;
|
import org.alfresco.rest.core.v0.BaseAPI;
|
||||||
import org.alfresco.rest.rm.community.model.custom.CustomDefinitions;
|
import org.alfresco.rest.rm.community.model.custom.CustomDefinitions;
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
@@ -36,9 +37,7 @@ import org.json.JSONObject;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import static org.testng.AssertJUnit.assertTrue;
|
|
||||||
import static org.testng.AssertJUnit.assertEquals;
|
|
||||||
import static org.testng.AssertJUnit.assertNotNull;
|
|
||||||
/**
|
/**
|
||||||
* Methods to make API requests using v0 API on Records Management Custom Model Reference Definitions
|
* Methods to make API requests using v0 API on Records Management Custom Model Reference Definitions
|
||||||
*
|
*
|
||||||
@@ -46,24 +45,26 @@ import static org.testng.AssertJUnit.assertNotNull;
|
|||||||
* @since 2.6
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
public class CustomDefinitionsAPI extends BaseAPI
|
public class CustomDefinitionsAPI extends BaseAPI {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* custom references endpoint
|
* custom references endpoint
|
||||||
*/
|
*/
|
||||||
private static final String CUSTOM_REFERENCE_API_ENDPOINT = "{0}rma/admin/customreferencedefinitions";
|
private static final String CUSTOM_REFERENCE_API_ENDPOINT =
|
||||||
|
"{0}rma/admin/customreferencedefinitions";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* create reference endpoint
|
* create reference endpoint
|
||||||
*/
|
*/
|
||||||
private static final String CREATE_RELATIONSHIP_API_ENDPOINT = "{0}node/{1}/customreferences";
|
private static final String CREATE_RELATIONSHIP_API_ENDPOINT =
|
||||||
private static final String GET_RELATIONSHIP_API_ENDPOINT = "{0}node/{1}/relationships";
|
"{0}node/{1}/customreferences";
|
||||||
private static final String DELETE_RELATIONSHIP_API_ENDPOINT = "{0}node/{1}/targetnode/{2}/uniqueName/{3}";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* logger
|
* logger
|
||||||
*/
|
*/
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(CustomDefinitionsAPI.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(
|
||||||
|
CustomDefinitionsAPI.class
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper method to get the reference id for a custom reference
|
* Helper method to get the reference id for a custom reference
|
||||||
@@ -75,39 +76,43 @@ public class CustomDefinitionsAPI extends BaseAPI
|
|||||||
* <code> null </code> otherwise
|
* <code> null </code> otherwise
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public String getCustomReferenceId(String adminUser, String adminPassword, String customDefinition)
|
public String getCustomReferenceId(
|
||||||
{
|
String adminUser,
|
||||||
|
String adminPassword,
|
||||||
JSONObject getResponse = doGetRequest(adminUser, adminPassword, CUSTOM_REFERENCE_API_ENDPOINT);
|
String customDefinition
|
||||||
if (getResponse != null)
|
) {
|
||||||
{
|
JSONObject getResponse = doGetRequest(
|
||||||
try
|
adminUser,
|
||||||
{
|
adminPassword,
|
||||||
JSONArray customDefinitions = getResponse.getJSONObject("data").getJSONArray("customReferences");
|
CUSTOM_REFERENCE_API_ENDPOINT
|
||||||
for (int i = 0; i < customDefinitions.length(); i++)
|
);
|
||||||
{
|
if (getResponse != null) {
|
||||||
|
try {
|
||||||
|
JSONArray customDefinitions = getResponse
|
||||||
|
.getJSONObject("data")
|
||||||
|
.getJSONArray("customReferences");
|
||||||
|
for (int i = 0; i < customDefinitions.length(); i++) {
|
||||||
JSONObject item = customDefinitions.getJSONObject(i);
|
JSONObject item = customDefinitions.getJSONObject(i);
|
||||||
boolean hasSource = customDefinition.equalsIgnoreCase(
|
boolean hasSource = customDefinition.equalsIgnoreCase(
|
||||||
item.has("source") ? item.getString("source") : null
|
item.has("source") ? item.getString("source") : null
|
||||||
);
|
);
|
||||||
|
|
||||||
boolean hasTarget = customDefinition.equalsIgnoreCase(
|
boolean hasTarget = customDefinition.equalsIgnoreCase(
|
||||||
item.has("target") ? item.getString("target") : null
|
item.has("target") ? item.getString("target") : null
|
||||||
);
|
);
|
||||||
|
|
||||||
boolean hasLabel = customDefinition.equalsIgnoreCase(
|
boolean hasLabel = customDefinition.equalsIgnoreCase(
|
||||||
item.has("label") ? item.getString("label") : null
|
item.has("label") ? item.getString("label") : null
|
||||||
);
|
);
|
||||||
if ( hasSource || hasTarget || hasLabel)
|
if (hasSource || hasTarget || hasLabel) {
|
||||||
{
|
|
||||||
return item.getString("refId");
|
return item.getString("refId");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} catch (JSONException error) {
|
||||||
}
|
LOGGER.error(
|
||||||
catch (JSONException error)
|
"Unable to get the refId for the custom reference definition {}",
|
||||||
{
|
customDefinition
|
||||||
LOGGER.error("Unable to get the refId for the custom reference definition {}", customDefinition);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@@ -123,68 +128,49 @@ public class CustomDefinitionsAPI extends BaseAPI
|
|||||||
* @param relationshipType relation type to be created
|
* @param relationshipType relation type to be created
|
||||||
* @throws AssertionError if the creation fails.
|
* @throws AssertionError if the creation fails.
|
||||||
*/
|
*/
|
||||||
public void createRelationship(
|
|
||||||
String adminUser,
|
|
||||||
String adminPassword,
|
|
||||||
String recordNodeIdFrom,
|
|
||||||
String recordNodeIdTo,
|
|
||||||
CustomDefinitions relationshipType)
|
|
||||||
{
|
|
||||||
//create the request body
|
|
||||||
JSONObject requestParams = new JSONObject();
|
|
||||||
requestParams.put("toNode", NODE_REF_WORKSPACE_SPACES_STORE + recordNodeIdTo);
|
|
||||||
requestParams.put("refId", getCustomReferenceId(adminUser, adminPassword, relationshipType
|
|
||||||
.getDefinition()));
|
|
||||||
//send the API request to create the relationship
|
|
||||||
JSONObject setRelationshipStatus = doPostRequest(adminUser, adminPassword, requestParams,
|
|
||||||
MessageFormat.format(CREATE_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + recordNodeIdFrom));
|
|
||||||
//check the response
|
|
||||||
boolean success = (setRelationshipStatus != null) && setRelationshipStatus.getBoolean("success");
|
|
||||||
assertTrue("Creating relationship from " + recordNodeIdFrom + " to " + recordNodeIdTo + " failed.", success);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void createRelationship(
|
public void createRelationship(
|
||||||
String adminUser,
|
String adminUser,
|
||||||
String adminPassword,
|
String adminPassword,
|
||||||
int expectedStatus,
|
|
||||||
String recordNodeIdFrom,
|
String recordNodeIdFrom,
|
||||||
String recordNodeIdTo,
|
String recordNodeIdTo,
|
||||||
CustomDefinitions relationshipType) {
|
CustomDefinitions relationshipType
|
||||||
|
) {
|
||||||
//create the request body
|
//create the request body
|
||||||
JSONObject requestParams = new JSONObject();
|
JSONObject requestParams = new JSONObject();
|
||||||
requestParams.put("toNode", NODE_REF_WORKSPACE_SPACES_STORE + recordNodeIdTo);
|
requestParams.put(
|
||||||
requestParams.put("refId", getCustomReferenceId(adminUser, adminPassword, relationshipType
|
"toNode",
|
||||||
.getDefinition()));
|
NODE_REF_WORKSPACE_SPACES_STORE + recordNodeIdTo
|
||||||
|
);
|
||||||
|
requestParams.put(
|
||||||
|
"refId",
|
||||||
|
getCustomReferenceId(
|
||||||
|
adminUser,
|
||||||
|
adminPassword,
|
||||||
|
relationshipType.getDefinition()
|
||||||
|
)
|
||||||
|
);
|
||||||
//send the API request to create the relationship
|
//send the API request to create the relationship
|
||||||
JSONObject setRelationshipStatus = doPostRequest(adminUser, adminPassword, requestParams,
|
JSONObject setRelationshipStatus = doPostRequest(
|
||||||
MessageFormat.format(CREATE_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + recordNodeIdFrom));
|
adminUser,
|
||||||
|
adminPassword,
|
||||||
|
requestParams,
|
||||||
|
MessageFormat.format(
|
||||||
|
CREATE_RELATIONSHIP_API_ENDPOINT,
|
||||||
|
"{0}",
|
||||||
|
NODE_PREFIX + recordNodeIdFrom
|
||||||
|
)
|
||||||
|
);
|
||||||
//check the response
|
//check the response
|
||||||
assertEquals("POST request for createRelationship was not successful.", expectedStatus, setRelationshipStatus.getJSONObject("status").get("code"));
|
boolean success =
|
||||||
}
|
(setRelationshipStatus != null) &&
|
||||||
|
setRelationshipStatus.getBoolean("success");
|
||||||
public JSONObject getRelationshipDetails(
|
assertTrue(
|
||||||
String adminUser,
|
"Creating relationship from " +
|
||||||
String adminPassword,
|
recordNodeIdFrom +
|
||||||
String nodeRef) {
|
" to " +
|
||||||
//send the API request to create the relationship
|
recordNodeIdTo +
|
||||||
JSONObject relationshipDetails = doGetRequest(adminUser, adminPassword,
|
" failed.",
|
||||||
MessageFormat.format(GET_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + nodeRef));
|
success
|
||||||
//check the response
|
);
|
||||||
assertNotNull("The Relationship detail is not found for the Noderef " + nodeRef, relationshipDetails);
|
|
||||||
return relationshipDetails;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void deleteRelationship(
|
|
||||||
String adminUser,
|
|
||||||
String adminPassword,
|
|
||||||
String recordNodeIdFrom,
|
|
||||||
String recordNodeIdTo,
|
|
||||||
String relationshipUniqueName) {
|
|
||||||
//send the API request to create the relationship
|
|
||||||
JSONObject setRelationshipStatus = doDeleteRequest(adminUser, adminPassword,
|
|
||||||
MessageFormat.format(DELETE_RELATIONSHIP_API_ENDPOINT, "{0}", NODE_PREFIX + recordNodeIdFrom,NODE_PREFIX + recordNodeIdTo,relationshipUniqueName));
|
|
||||||
//check the response
|
|
||||||
boolean success = (setRelationshipStatus != null) && setRelationshipStatus.getBoolean("success");
|
|
||||||
assertTrue("Deleting relationship from " + recordNodeIdFrom + " to " + recordNodeIdTo + " failed.", success);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -29,7 +29,6 @@ package org.alfresco.rest.v0;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.alfresco.rest.core.v0.BaseAPI;
|
import org.alfresco.rest.core.v0.BaseAPI;
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
@@ -44,8 +43,8 @@ import org.springframework.stereotype.Component;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class ExportAPI extends BaseAPI
|
public class ExportAPI extends BaseAPI {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* The URI to export an item
|
* The URI to export an item
|
||||||
*/
|
*/
|
||||||
@@ -60,9 +59,18 @@ public class ExportAPI extends BaseAPI
|
|||||||
* @param nodeID ID of the Node(Record/RecordFolder) to be exported
|
* @param nodeID ID of the Node(Record/RecordFolder) to be exported
|
||||||
* @return HTTP Response
|
* @return HTTP Response
|
||||||
*/
|
*/
|
||||||
public HttpResponse exportRMNode(String user, String password, int expectedStatusCode, String nodeID)
|
public HttpResponse exportRMNode(
|
||||||
{
|
String user,
|
||||||
return export(user, password, expectedStatusCode, Collections.singletonList(getNodeRefSpacesStore() + nodeID));
|
String password,
|
||||||
|
int expectedStatusCode,
|
||||||
|
String nodeID
|
||||||
|
) {
|
||||||
|
return export(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
expectedStatusCode,
|
||||||
|
Collections.singletonList(getNodeRefSpacesStore() + nodeID)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -74,11 +82,16 @@ public class ExportAPI extends BaseAPI
|
|||||||
* @param nodeIDList List of the nodes to be exported
|
* @param nodeIDList List of the nodes to be exported
|
||||||
* @return HTTP Response
|
* @return HTTP Response
|
||||||
*/
|
*/
|
||||||
public HttpResponse exportRMNodes(String user, String password, int expectedStatusCode, List<String> nodeIDList)
|
public HttpResponse exportRMNodes(
|
||||||
{
|
String user,
|
||||||
|
String password,
|
||||||
List<String> nodeRefs =
|
int expectedStatusCode,
|
||||||
nodeIDList.stream().map(nodeID -> getNodeRefSpacesStore() + nodeID).collect(Collectors.toList());
|
List<String> nodeIDList
|
||||||
|
) {
|
||||||
|
List<String> nodeRefs = nodeIDList
|
||||||
|
.stream()
|
||||||
|
.map(nodeID -> getNodeRefSpacesStore() + nodeID)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
return export(user, password, expectedStatusCode, nodeRefs);
|
return export(user, password, expectedStatusCode, nodeRefs);
|
||||||
}
|
}
|
||||||
@@ -92,12 +105,22 @@ public class ExportAPI extends BaseAPI
|
|||||||
* @param nodeRefs list of the noderefs for the items to be exported
|
* @param nodeRefs list of the noderefs for the items to be exported
|
||||||
* @return Rest API Post Request
|
* @return Rest API Post Request
|
||||||
*/
|
*/
|
||||||
public HttpResponse export(String user, String password, int expectedStatusCode, List<String> nodeRefs)
|
public HttpResponse export(
|
||||||
{
|
String user,
|
||||||
|
String password,
|
||||||
|
int expectedStatusCode,
|
||||||
|
List<String> nodeRefs
|
||||||
|
) {
|
||||||
final JSONObject requestParams = new JSONObject();
|
final JSONObject requestParams = new JSONObject();
|
||||||
|
|
||||||
requestParams.put("nodeRefs", new JSONArray(nodeRefs));
|
requestParams.put("nodeRefs", new JSONArray(nodeRefs));
|
||||||
|
|
||||||
return doPostJsonRequest(user, password, expectedStatusCode, requestParams, EXPORT_API);
|
return doPostJsonRequest(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
expectedStatusCode,
|
||||||
|
requestParams,
|
||||||
|
EXPORT_API
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -33,7 +33,6 @@ import java.text.MessageFormat;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.alfresco.rest.core.v0.APIUtils;
|
import org.alfresco.rest.core.v0.APIUtils;
|
||||||
import org.alfresco.rest.core.v0.BaseAPI;
|
import org.alfresco.rest.core.v0.BaseAPI;
|
||||||
import org.alfresco.rest.rm.community.model.hold.HoldEntry;
|
import org.alfresco.rest.rm.community.model.hold.HoldEntry;
|
||||||
@@ -53,13 +52,14 @@ import org.springframework.stereotype.Component;
|
|||||||
* @since 3.2
|
* @since 3.2
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
public class HoldsAPI extends BaseAPI
|
public class HoldsAPI extends BaseAPI {
|
||||||
{
|
|
||||||
public static final String HOLDS_CONTAINER = "Holds";
|
public static final String HOLDS_CONTAINER = "Holds";
|
||||||
/**
|
/**
|
||||||
* The URI to create a hold
|
* The URI to create a hold
|
||||||
*/
|
*/
|
||||||
private static final String CREATE_HOLDS_API = "{0}type/rma:hold/formprocessor";
|
private static final String CREATE_HOLDS_API =
|
||||||
|
"{0}type/rma:hold/formprocessor";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The URI to add items to hold or to remove items from hold
|
* The URI to add items to hold or to remove items from hold
|
||||||
@@ -81,8 +81,13 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param description hold description
|
* @param description hold description
|
||||||
* @return The HTTP response.
|
* @return The HTTP response.
|
||||||
*/
|
*/
|
||||||
public HttpResponse createHold(String user, String password, String holdName, String reason, String description)
|
public HttpResponse createHold(
|
||||||
{
|
String user,
|
||||||
|
String password,
|
||||||
|
String holdName,
|
||||||
|
String reason,
|
||||||
|
String description
|
||||||
|
) {
|
||||||
return createHold(user, password, holdName, reason, description, SC_OK);
|
return createHold(user, password, holdName, reason, description, SC_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -97,19 +102,37 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param expectedStatusCode The expected return status code.
|
* @param expectedStatusCode The expected return status code.
|
||||||
* @return The HTTP response or throws AssertionError if the returned status code is not as expected.
|
* @return The HTTP response or throws AssertionError if the returned status code is not as expected.
|
||||||
*/
|
*/
|
||||||
public HttpResponse createHold(String user, String password, String holdName, String reason, String description,
|
public HttpResponse createHold(
|
||||||
int expectedStatusCode)
|
String user,
|
||||||
{
|
String password,
|
||||||
|
String holdName,
|
||||||
|
String reason,
|
||||||
|
String description,
|
||||||
|
int expectedStatusCode
|
||||||
|
) {
|
||||||
// retrieve the Holds container nodeRef
|
// retrieve the Holds container nodeRef
|
||||||
final String parentNodeRef = getItemNodeRef(user, password, "/" + HOLDS_CONTAINER);
|
final String parentNodeRef = getItemNodeRef(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
"/" + HOLDS_CONTAINER
|
||||||
|
);
|
||||||
|
|
||||||
final JSONObject requestParams = new JSONObject();
|
final JSONObject requestParams = new JSONObject();
|
||||||
requestParams.put("alf_destination", getNodeRefSpacesStore() + parentNodeRef);
|
requestParams.put(
|
||||||
|
"alf_destination",
|
||||||
|
getNodeRefSpacesStore() + parentNodeRef
|
||||||
|
);
|
||||||
requestParams.put("prop_cm_name", holdName);
|
requestParams.put("prop_cm_name", holdName);
|
||||||
requestParams.put("prop_cm_description", description);
|
requestParams.put("prop_cm_description", description);
|
||||||
requestParams.put("prop_rma_holdReason", reason);
|
requestParams.put("prop_rma_holdReason", reason);
|
||||||
|
|
||||||
return doPostJsonRequest(user, password, expectedStatusCode, requestParams, CREATE_HOLDS_API);
|
return doPostJsonRequest(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
expectedStatusCode,
|
||||||
|
requestParams,
|
||||||
|
CREATE_HOLDS_API
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -122,22 +145,32 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param description hold description
|
* @param description hold description
|
||||||
* @return node ref of the hold created
|
* @return node ref of the hold created
|
||||||
*/
|
*/
|
||||||
public String createHoldAndGetNodeRef(String user, String password,
|
public String createHoldAndGetNodeRef(
|
||||||
String holdName, String reason, String description)
|
String user,
|
||||||
{
|
String password,
|
||||||
final HttpResponse httpResponse = createHold(user, password, holdName, reason, description);
|
String holdName,
|
||||||
|
String reason,
|
||||||
|
String description
|
||||||
|
) {
|
||||||
|
final HttpResponse httpResponse = createHold(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
holdName,
|
||||||
|
reason,
|
||||||
|
description
|
||||||
|
);
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
return convertHTTPResponseToJSON(httpResponse)
|
||||||
return convertHTTPResponseToJSON(httpResponse).getString("persistedObject")
|
.getString("persistedObject")
|
||||||
.replace(NODE_REF_WORKSPACE_SPACES_STORE, "");
|
.replace(NODE_REF_WORKSPACE_SPACES_STORE, "");
|
||||||
}
|
} catch (JSONException error) {
|
||||||
catch(JSONException error)
|
LOGGER.error(
|
||||||
{
|
"Converting message body to JSON failed. Body: {}",
|
||||||
LOGGER.error("Converting message body to JSON failed. Body: {}", httpResponse, error);
|
httpResponse,
|
||||||
}
|
error
|
||||||
catch(ParseException error)
|
);
|
||||||
{
|
} catch (ParseException error) {
|
||||||
LOGGER.error("Parsing message body failed.", error);
|
LOGGER.error("Parsing message body failed.", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,9 +184,13 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdNodeRef the hold node ref
|
* @param holdNodeRef the hold node ref
|
||||||
* @return The HTTP Response or throws AssertionError if the request is not successful.
|
* @return The HTTP Response or throws AssertionError if the request is not successful.
|
||||||
*/
|
*/
|
||||||
public HttpResponse deleteHold(UserModel user, String holdNodeRef)
|
public HttpResponse deleteHold(UserModel user, String holdNodeRef) {
|
||||||
{
|
return deleteHold(
|
||||||
return deleteHold(user.getUsername(), user.getPassword(), holdNodeRef, SC_OK);
|
user.getUsername(),
|
||||||
|
user.getPassword(),
|
||||||
|
holdNodeRef,
|
||||||
|
SC_OK
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -164,13 +201,23 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdNodeRef the hold node ref
|
* @param holdNodeRef the hold node ref
|
||||||
* @return The HTTP Response or throws AssertionError if the returned status code is not as expected.
|
* @return The HTTP Response or throws AssertionError if the returned status code is not as expected.
|
||||||
*/
|
*/
|
||||||
public HttpResponse deleteHold(String username, String password, String holdNodeRef, int expectedStatusCode)
|
public HttpResponse deleteHold(
|
||||||
{
|
String username,
|
||||||
|
String password,
|
||||||
|
String holdNodeRef,
|
||||||
|
int expectedStatusCode
|
||||||
|
) {
|
||||||
JSONObject requestParams = new JSONObject();
|
JSONObject requestParams = new JSONObject();
|
||||||
requestParams.put("name", "deleteHold");
|
requestParams.put("name", "deleteHold");
|
||||||
requestParams.put("nodeRef", getNodeRefSpacesStore() + holdNodeRef);
|
requestParams.put("nodeRef", getNodeRefSpacesStore() + holdNodeRef);
|
||||||
|
|
||||||
return doPostJsonRequest(username, password, expectedStatusCode, requestParams, RM_ACTIONS_API);
|
return doPostJsonRequest(
|
||||||
|
username,
|
||||||
|
password,
|
||||||
|
expectedStatusCode,
|
||||||
|
requestParams,
|
||||||
|
RM_ACTIONS_API
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -181,9 +228,12 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdName the hold name
|
* @param holdName the hold name
|
||||||
* @throws AssertionError if the deletion was unsuccessful.
|
* @throws AssertionError if the deletion was unsuccessful.
|
||||||
*/
|
*/
|
||||||
public void deleteHold( String username, String password, String holdName)
|
public void deleteHold(String username, String password, String holdName) {
|
||||||
{
|
deleteItem(
|
||||||
deleteItem(username, password, String.format("/%s/%s", HOLDS_CONTAINER, holdName));
|
username,
|
||||||
|
password,
|
||||||
|
String.format("/%s/%s", HOLDS_CONTAINER, holdName)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -195,9 +245,18 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdName the hold name
|
* @param holdName the hold name
|
||||||
* @return The HTTP response
|
* @return The HTTP response
|
||||||
*/
|
*/
|
||||||
public HttpResponse addItemToHold(String user, String password, String itemNodeRef, String holdName)
|
public HttpResponse addItemToHold(
|
||||||
{
|
String user,
|
||||||
return addItemsToHolds(user, password, Collections.singletonList(itemNodeRef), Collections.singletonList(holdName));
|
String password,
|
||||||
|
String itemNodeRef,
|
||||||
|
String holdName
|
||||||
|
) {
|
||||||
|
return addItemsToHolds(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
Collections.singletonList(itemNodeRef),
|
||||||
|
Collections.singletonList(holdName)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -209,12 +268,29 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdNames the list of holds
|
* @param holdNames the list of holds
|
||||||
* @return The HTTP response
|
* @return The HTTP response
|
||||||
*/
|
*/
|
||||||
public HttpResponse addItemsToHolds(String user, String password, List<String> itemNodeRefs, List<String> holdNames)
|
public HttpResponse addItemsToHolds(
|
||||||
{
|
String user,
|
||||||
final List<String> holdNodeRefs = holdNames.stream()
|
String password,
|
||||||
.map(hold -> getItemNodeRef(user, password, String.format("/%s/%s", HOLDS_CONTAINER, hold)))
|
List<String> itemNodeRefs,
|
||||||
.collect(Collectors.toList());
|
List<String> holdNames
|
||||||
return addItemsToHolds(user, password, SC_OK, itemNodeRefs, holdNodeRefs);
|
) {
|
||||||
|
final List<String> holdNodeRefs = holdNames
|
||||||
|
.stream()
|
||||||
|
.map(hold ->
|
||||||
|
getItemNodeRef(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
String.format("/%s/%s", HOLDS_CONTAINER, hold)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
return addItemsToHolds(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
SC_OK,
|
||||||
|
itemNodeRefs,
|
||||||
|
holdNodeRefs
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -226,11 +302,24 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdNodeRefs the list of holds
|
* @param holdNodeRefs the list of holds
|
||||||
* @return The HTTP response
|
* @return The HTTP response
|
||||||
*/
|
*/
|
||||||
public HttpResponse addItemsToHolds(String user, String password, int expectedStatus, List<String> itemNodeRefs,
|
public HttpResponse addItemsToHolds(
|
||||||
List<String> holdNodeRefs)
|
String user,
|
||||||
{
|
String password,
|
||||||
final JSONObject requestParams = addOrRemoveToFromHoldJsonObject(itemNodeRefs, holdNodeRefs);
|
int expectedStatus,
|
||||||
return doPostJsonRequest(user, password, expectedStatus, requestParams, RM_HOLDS_API);
|
List<String> itemNodeRefs,
|
||||||
|
List<String> holdNodeRefs
|
||||||
|
) {
|
||||||
|
final JSONObject requestParams = addOrRemoveToFromHoldJsonObject(
|
||||||
|
itemNodeRefs,
|
||||||
|
holdNodeRefs
|
||||||
|
);
|
||||||
|
return doPostJsonRequest(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
expectedStatus,
|
||||||
|
requestParams,
|
||||||
|
RM_HOLDS_API
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -242,11 +331,20 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdNodeRef the hold node ref
|
* @param holdNodeRef the hold node ref
|
||||||
* @return The error message
|
* @return The error message
|
||||||
*/
|
*/
|
||||||
public String addToHoldAndGetMessage(String user, String password, int expectedStatus, String itemNodeRef, String
|
public String addToHoldAndGetMessage(
|
||||||
holdNodeRef)
|
String user,
|
||||||
{
|
String password,
|
||||||
final HttpResponse httpResponse = addItemsToHolds(user, password, expectedStatus, Collections.singletonList(itemNodeRef),
|
int expectedStatus,
|
||||||
Collections.singletonList(holdNodeRef));
|
String itemNodeRef,
|
||||||
|
String holdNodeRef
|
||||||
|
) {
|
||||||
|
final HttpResponse httpResponse = addItemsToHolds(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
expectedStatus,
|
||||||
|
Collections.singletonList(itemNodeRef),
|
||||||
|
Collections.singletonList(holdNodeRef)
|
||||||
|
);
|
||||||
return APIUtils.extractErrorMessageFromHttpResponse(httpResponse);
|
return APIUtils.extractErrorMessageFromHttpResponse(httpResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,12 +355,18 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdNodeRefs list of hold node refs for add/remove items
|
* @param holdNodeRefs list of hold node refs for add/remove items
|
||||||
* @return JSONObject fo
|
* @return JSONObject fo
|
||||||
*/
|
*/
|
||||||
private JSONObject addOrRemoveToFromHoldJsonObject(List<String> items, List<String> holdNodeRefs)
|
private JSONObject addOrRemoveToFromHoldJsonObject(
|
||||||
{
|
List<String> items,
|
||||||
|
List<String> holdNodeRefs
|
||||||
|
) {
|
||||||
final JSONArray nodeRefs = new JSONArray();
|
final JSONArray nodeRefs = new JSONArray();
|
||||||
items.forEach(itemNodeRef -> nodeRefs.put(getNodeRefSpacesStore() + itemNodeRef));
|
items.forEach(itemNodeRef ->
|
||||||
|
nodeRefs.put(getNodeRefSpacesStore() + itemNodeRef)
|
||||||
|
);
|
||||||
final JSONArray holds = new JSONArray();
|
final JSONArray holds = new JSONArray();
|
||||||
holdNodeRefs.forEach(holdNodeRef -> holds.put(getNodeRefSpacesStore() + holdNodeRef));
|
holdNodeRefs.forEach(holdNodeRef ->
|
||||||
|
holds.put(getNodeRefSpacesStore() + holdNodeRef)
|
||||||
|
);
|
||||||
final JSONObject requestParams = new JSONObject();
|
final JSONObject requestParams = new JSONObject();
|
||||||
requestParams.put("nodeRefs", nodeRefs);
|
requestParams.put("nodeRefs", nodeRefs);
|
||||||
requestParams.put("holds", holds);
|
requestParams.put("holds", holds);
|
||||||
@@ -278,9 +382,18 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdName the hold name
|
* @param holdName the hold name
|
||||||
* @return The HTTP response
|
* @return The HTTP response
|
||||||
*/
|
*/
|
||||||
public HttpResponse removeItemFromHold(String user, String password, String itemNodeRef, String holdName)
|
public HttpResponse removeItemFromHold(
|
||||||
{
|
String user,
|
||||||
return removeItemsFromHolds(user, password, Collections.singletonList(itemNodeRef), Collections.singletonList(holdName));
|
String password,
|
||||||
|
String itemNodeRef,
|
||||||
|
String holdName
|
||||||
|
) {
|
||||||
|
return removeItemsFromHolds(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
Collections.singletonList(itemNodeRef),
|
||||||
|
Collections.singletonList(holdName)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -292,12 +405,29 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdNames the list of hold names
|
* @param holdNames the list of hold names
|
||||||
* @return The HTTP response
|
* @return The HTTP response
|
||||||
*/
|
*/
|
||||||
public HttpResponse removeItemsFromHolds(String user, String password, List<String> itemNodeRefs, List<String> holdNames)
|
public HttpResponse removeItemsFromHolds(
|
||||||
{
|
String user,
|
||||||
final List<String> holdNodeRefs = holdNames.stream()
|
String password,
|
||||||
.map(hold -> getItemNodeRef(user, password, String.format("/%s/%s", HOLDS_CONTAINER, hold)))
|
List<String> itemNodeRefs,
|
||||||
.collect(Collectors.toList());
|
List<String> holdNames
|
||||||
return removeItemsFromHolds(user, password, SC_OK, itemNodeRefs, holdNodeRefs);
|
) {
|
||||||
|
final List<String> holdNodeRefs = holdNames
|
||||||
|
.stream()
|
||||||
|
.map(hold ->
|
||||||
|
getItemNodeRef(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
String.format("/%s/%s", HOLDS_CONTAINER, hold)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
return removeItemsFromHolds(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
SC_OK,
|
||||||
|
itemNodeRefs,
|
||||||
|
holdNodeRefs
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -310,11 +440,24 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdNodeRefs the list of hold node refs
|
* @param holdNodeRefs the list of hold node refs
|
||||||
* @return The HTTP response
|
* @return The HTTP response
|
||||||
*/
|
*/
|
||||||
public HttpResponse removeItemsFromHolds(String user, String password, int expectedStatus, List<String> itemNodeRefs,
|
public HttpResponse removeItemsFromHolds(
|
||||||
List<String> holdNodeRefs)
|
String user,
|
||||||
{
|
String password,
|
||||||
final JSONObject requestParams = addOrRemoveToFromHoldJsonObject(itemNodeRefs, holdNodeRefs);
|
int expectedStatus,
|
||||||
return doPutJsonRequest(user, password, expectedStatus, requestParams, RM_HOLDS_API);
|
List<String> itemNodeRefs,
|
||||||
|
List<String> holdNodeRefs
|
||||||
|
) {
|
||||||
|
final JSONObject requestParams = addOrRemoveToFromHoldJsonObject(
|
||||||
|
itemNodeRefs,
|
||||||
|
holdNodeRefs
|
||||||
|
);
|
||||||
|
return doPutJsonRequest(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
expectedStatus,
|
||||||
|
requestParams,
|
||||||
|
RM_HOLDS_API
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -326,11 +469,20 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param holdNodeRef the hold node ref
|
* @param holdNodeRef the hold node ref
|
||||||
* @return The error message
|
* @return The error message
|
||||||
*/
|
*/
|
||||||
public String removeFromHoldAndGetMessage(String user, String password, int expectedStatus, String itemNodeRef, String
|
public String removeFromHoldAndGetMessage(
|
||||||
holdNodeRef)
|
String user,
|
||||||
{
|
String password,
|
||||||
final HttpResponse httpResponse = removeItemsFromHolds(user, password, expectedStatus, Collections.singletonList(itemNodeRef),
|
int expectedStatus,
|
||||||
Collections.singletonList(holdNodeRef));
|
String itemNodeRef,
|
||||||
|
String holdNodeRef
|
||||||
|
) {
|
||||||
|
final HttpResponse httpResponse = removeItemsFromHolds(
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
expectedStatus,
|
||||||
|
Collections.singletonList(itemNodeRef),
|
||||||
|
Collections.singletonList(holdNodeRef)
|
||||||
|
);
|
||||||
return APIUtils.extractErrorMessageFromHttpResponse(httpResponse);
|
return APIUtils.extractErrorMessageFromHttpResponse(httpResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -345,15 +497,35 @@ public class HoldsAPI extends BaseAPI
|
|||||||
* @param fileOnly True if only files should be return
|
* @param fileOnly True if only files should be return
|
||||||
* @return return a list of hold entries
|
* @return return a list of hold entries
|
||||||
*/
|
*/
|
||||||
public List<HoldEntry> getHolds(String user, String password, final String itemNodeRef,
|
public List<HoldEntry> getHolds(
|
||||||
final Boolean includedInHold, final Boolean fileOnly)
|
String user,
|
||||||
{
|
String password,
|
||||||
final String parameters = (itemNodeRef != null ? "itemNodeRef=" + NODE_REF_WORKSPACE_SPACES_STORE + itemNodeRef : "")
|
final String itemNodeRef,
|
||||||
+ (includedInHold != null ? "&includedInHold=" + includedInHold : "")
|
final Boolean includedInHold,
|
||||||
+ (fileOnly != null ? "&fileOnly=" + fileOnly : "");
|
final Boolean fileOnly
|
||||||
|
) {
|
||||||
|
final String parameters =
|
||||||
|
(
|
||||||
|
itemNodeRef != null
|
||||||
|
? "itemNodeRef=" +
|
||||||
|
NODE_REF_WORKSPACE_SPACES_STORE +
|
||||||
|
itemNodeRef
|
||||||
|
: ""
|
||||||
|
) +
|
||||||
|
(
|
||||||
|
includedInHold != null
|
||||||
|
? "&includedInHold=" + includedInHold
|
||||||
|
: ""
|
||||||
|
) +
|
||||||
|
(fileOnly != null ? "&fileOnly=" + fileOnly : "");
|
||||||
|
|
||||||
final JSONArray holdEntries = doGetRequest(user, password,
|
final JSONArray holdEntries = doGetRequest(
|
||||||
MessageFormat.format(GET_RM_HOLDS, "{0}", parameters)).getJSONObject("data").getJSONArray("holds");
|
user,
|
||||||
|
password,
|
||||||
|
MessageFormat.format(GET_RM_HOLDS, "{0}", parameters)
|
||||||
|
)
|
||||||
|
.getJSONObject("data")
|
||||||
|
.getJSONArray("holds");
|
||||||
|
|
||||||
return PojoUtility.jsonToObject(holdEntries, HoldEntry.class);
|
return PojoUtility.jsonToObject(holdEntries, HoldEntry.class);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
/*-
|
|
||||||
* #%L
|
|
||||||
* Alfresco Records Management Module
|
|
||||||
* %%
|
|
||||||
* Copyright (C) 2005 - 2023 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.v0;
|
|
||||||
|
|
||||||
import org.alfresco.rest.core.v0.BaseAPI;
|
|
||||||
import org.apache.http.HttpResponse;
|
|
||||||
import org.json.JSONArray;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
|
||||||
import java.net.URLEncoder;
|
|
||||||
import java.text.MessageFormat;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Methods to make API requests using v0 API for Linking Records
|
|
||||||
*
|
|
||||||
* @author Kavit Shah
|
|
||||||
* @since 3.2
|
|
||||||
*/
|
|
||||||
@Component
|
|
||||||
public class LinksAPI extends BaseAPI {
|
|
||||||
|
|
||||||
private static final String LINK_API = "{0}doclib/action/rm-link/site/rm/documentLibrary/{1}";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates the Link
|
|
||||||
*
|
|
||||||
* @param user The username of the user to use.
|
|
||||||
* @param password The password of the user.
|
|
||||||
* @param expectedStatusCode The expected return status code.
|
|
||||||
* @param sourcePath The Source of link the record. This should be in the format
|
|
||||||
* "{site}/{container}/{path}", "{site}/{container}", "{store_type}/{store_id}/{id}/{path}",
|
|
||||||
* "{store_type}/{store_id}/{id}" or "{store_type}/{store_id}".
|
|
||||||
* @param nodeRefs The Node that needs to be linked.
|
|
||||||
* @return The HTTP Response.
|
|
||||||
* @throws AssertionError If the API didn't return the expected status code.
|
|
||||||
*/
|
|
||||||
public HttpResponse linkRecord(String user, String password, int expectedStatusCode, String sourcePath, List<String> nodeRefs) throws UnsupportedEncodingException {
|
|
||||||
JSONObject requestParams = new JSONObject();
|
|
||||||
requestParams.put("nodeRefs", new JSONArray(nodeRefs));
|
|
||||||
|
|
||||||
return doSlingshotPostJsonRequest(user, password, expectedStatusCode, requestParams,
|
|
||||||
MessageFormat.format(LINK_API, "{0}", sourcePath));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -25,8 +25,8 @@
|
|||||||
* #L%
|
* #L%
|
||||||
*/
|
*/
|
||||||
package org.alfresco.rest.v0;
|
package org.alfresco.rest.v0;
|
||||||
import java.text.MessageFormat;
|
|
||||||
|
|
||||||
|
import java.text.MessageFormat;
|
||||||
import org.alfresco.dataprep.AlfrescoHttpClient;
|
import org.alfresco.dataprep.AlfrescoHttpClient;
|
||||||
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
|
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
|
||||||
import org.alfresco.rest.core.v0.BaseAPI;
|
import org.alfresco.rest.core.v0.BaseAPI;
|
||||||
@@ -38,37 +38,41 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The v0 REST API for nodes
|
* The v0 REST API for nodes
|
||||||
*
|
*
|
||||||
* @author jcule
|
* @author jcule
|
||||||
* @since 2.7EA1
|
* @since 2.7EA1
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
public class NodeAPI extends BaseAPI
|
public class NodeAPI extends BaseAPI {
|
||||||
{
|
|
||||||
/** Logger for the class. */
|
/** Logger for the class. */
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(NodeAPI.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(NodeAPI.class);
|
||||||
|
|
||||||
/** The URI for the get node API. */
|
/** The URI for the get node API. */
|
||||||
private static final String GET_NODE_API = "{0}alfresco/s/slingshot/doclib2/node/{1}";
|
private static final String GET_NODE_API =
|
||||||
|
"{0}alfresco/s/slingshot/doclib2/node/{1}";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AlfrescoHttpClientFactory alfrescoHttpClientFactory;
|
private AlfrescoHttpClientFactory alfrescoHttpClientFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the node metadata using the using the node data webscript: Document List v2 Component
|
* Get the node metadata using the using the node data webscript: Document List v2 Component
|
||||||
*
|
*
|
||||||
* @param username
|
* @param username
|
||||||
* @param password
|
* @param password
|
||||||
* @param nodeId
|
* @param nodeId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public JSONObject getNode(String username, String password, String nodeId)
|
public JSONObject getNode(String username, String password, String nodeId) {
|
||||||
{
|
|
||||||
String requestURL;
|
String requestURL;
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
requestURL = MessageFormat.format(GET_NODE_API, client.getAlfrescoUrl(), NODE_PREFIX + nodeId);
|
requestURL =
|
||||||
|
MessageFormat.format(
|
||||||
|
GET_NODE_API,
|
||||||
|
client.getAlfrescoUrl(),
|
||||||
|
NODE_PREFIX + nodeId
|
||||||
|
);
|
||||||
client.close();
|
client.close();
|
||||||
return doGetRequest(username, password, requestURL);
|
return doGetRequest(username, password, requestURL);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Records Management Module
|
* Alfresco Records Management Module
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@@ -29,7 +29,6 @@ package org.alfresco.rest.v0;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
|
|
||||||
import org.alfresco.dataprep.AlfrescoHttpClient;
|
import org.alfresco.dataprep.AlfrescoHttpClient;
|
||||||
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
|
import org.alfresco.dataprep.AlfrescoHttpClientFactory;
|
||||||
import org.alfresco.rest.core.v0.BaseAPI;
|
import org.alfresco.rest.core.v0.BaseAPI;
|
||||||
@@ -50,12 +49,13 @@ import org.springframework.stereotype.Component;
|
|||||||
* @since AGS 3.4
|
* @since AGS 3.4
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
public class NodePropertiesAPI extends BaseAPI
|
public class NodePropertiesAPI extends BaseAPI {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* The URI for the get node API.
|
* The URI for the get node API.
|
||||||
*/
|
*/
|
||||||
private static final String GET_NODE_API = "{0}alfresco/s/slingshot/node/{1}";
|
private static final String GET_NODE_API =
|
||||||
|
"{0}alfresco/s/slingshot/node/{1}";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AlfrescoHttpClientFactory alfrescoHttpClientFactory;
|
private AlfrescoHttpClientFactory alfrescoHttpClientFactory;
|
||||||
@@ -68,10 +68,17 @@ public class NodePropertiesAPI extends BaseAPI
|
|||||||
* @param nodeId
|
* @param nodeId
|
||||||
* @return JSONArray object
|
* @return JSONArray object
|
||||||
*/
|
*/
|
||||||
protected JSONArray getNodeProperties(String username, String password, String nodeId)
|
protected JSONArray getNodeProperties(
|
||||||
{
|
String username,
|
||||||
|
String password,
|
||||||
|
String nodeId
|
||||||
|
) {
|
||||||
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
|
||||||
String requestURL = MessageFormat.format(GET_NODE_API, client.getAlfrescoUrl(), NODE_PREFIX + nodeId);
|
String requestURL = MessageFormat.format(
|
||||||
|
GET_NODE_API,
|
||||||
|
client.getAlfrescoUrl(),
|
||||||
|
NODE_PREFIX + nodeId
|
||||||
|
);
|
||||||
|
|
||||||
// doRequest from BaseAPI cannot be used as parsing the response body to org.json.JSONObject is throwing an
|
// doRequest from BaseAPI cannot be used as parsing the response body to org.json.JSONObject is throwing an
|
||||||
// JSONException
|
// JSONException
|
||||||
@@ -80,13 +87,13 @@ public class NodePropertiesAPI extends BaseAPI
|
|||||||
HttpResponse response = client.execute(username, password, get);
|
HttpResponse response = client.execute(username, password, get);
|
||||||
HttpEntity entity = response.getEntity();
|
HttpEntity entity = response.getEntity();
|
||||||
String responseString;
|
String responseString;
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
responseString = EntityUtils.toString(entity, "UTF-8");
|
responseString = EntityUtils.toString(entity, "UTF-8");
|
||||||
}
|
} catch (IOException e) {
|
||||||
catch (IOException e)
|
throw new IllegalArgumentException(
|
||||||
{
|
"Failed to read the response",
|
||||||
throw new IllegalArgumentException("Failed to read the response", e);
|
e
|
||||||
|
);
|
||||||
}
|
}
|
||||||
client.close();
|
client.close();
|
||||||
Object obj = JSONValue.parse(responseString);
|
Object obj = JSONValue.parse(responseString);
|
||||||
@@ -101,11 +108,9 @@ public class NodePropertiesAPI extends BaseAPI
|
|||||||
* @param nodeId
|
* @param nodeId
|
||||||
* @return Return the content url string
|
* @return Return the content url string
|
||||||
*/
|
*/
|
||||||
public String getContentUrl(UserModel userModel, String nodeId)
|
public String getContentUrl(UserModel userModel, String nodeId) {
|
||||||
{
|
|
||||||
String contentProperty = getContentProperty(userModel, nodeId);
|
String contentProperty = getContentProperty(userModel, nodeId);
|
||||||
if (contentProperty != null)
|
if (contentProperty != null) {
|
||||||
{
|
|
||||||
// get the first element before the first |
|
// get the first element before the first |
|
||||||
// e.g. "contentUrl=s3://-system-/fc077fe8-1742-4c45-a153-8309c857996b
|
// e.g. "contentUrl=s3://-system-/fc077fe8-1742-4c45-a153-8309c857996b
|
||||||
// .bin|mimetype=text/plain|size=19|encoding=ISO-8859-2|locale=en_US_|id=508"
|
// .bin|mimetype=text/plain|size=19|encoding=ISO-8859-2|locale=en_US_|id=508"
|
||||||
@@ -122,17 +127,19 @@ public class NodePropertiesAPI extends BaseAPI
|
|||||||
* @param nodeId
|
* @param nodeId
|
||||||
* @return Return the content property string
|
* @return Return the content property string
|
||||||
*/
|
*/
|
||||||
public String getContentProperty(UserModel userModel, String nodeId)
|
public String getContentProperty(UserModel userModel, String nodeId) {
|
||||||
{
|
JSONArray properties = getNodeProperties(
|
||||||
JSONArray properties = getNodeProperties(userModel.getUsername(), userModel.getPassword(), nodeId);
|
userModel.getUsername(),
|
||||||
|
userModel.getPassword(),
|
||||||
|
nodeId
|
||||||
|
);
|
||||||
|
|
||||||
for (int i = 0; i < properties.size(); i++)
|
for (int i = 0; i < properties.size(); i++) {
|
||||||
{
|
|
||||||
JSONObject object = (JSONObject) properties.get(i);
|
JSONObject object = (JSONObject) properties.get(i);
|
||||||
JSONArray valuesArray = (JSONArray) object.get("values");
|
JSONArray valuesArray = (JSONArray) object.get("values");
|
||||||
if (valuesArray.toString().contains("contentUrl"))
|
if (valuesArray.toString().contains("contentUrl")) {
|
||||||
{
|
return ((JSONObject) valuesArray.get(0)).get("value")
|
||||||
return ((JSONObject) valuesArray.get(0)).get("value").toString();
|
.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user