mirror of
				https://github.com/Alfresco/alfresco-community-repo.git
				synced 2025-10-29 15:21:53 +00:00 
			
		
		
		
	Compare commits
	
		
			305 Commits
		
	
	
		
			14.79
			...
			fix/REPO-5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 02decc91d4 | ||
|  | c9d27e55d6 | ||
|  | d647c96ae4 | ||
|  | 5a6f9a60f3 | ||
|  | ce2c0e2ac2 | ||
|  | dfa9e754d5 | ||
|  | 860065cf6c | ||
|  | 2d7f8fba87 | ||
|  | c2c4171756 | ||
|  | af884cbb0e | ||
|  | fb0be16155 | ||
|  | f9d95136b2 | ||
|  | 26453c4112 | ||
|  | cb26098e8b | ||
|  | 6766bfcfdf | ||
|  | 48df1e25ed | ||
|  | 52918e4ff5 | ||
|  | 40d70e797c | ||
|  | 6011868759 | ||
|  | 79ad480ddb | ||
|  | c12d8f98be | ||
|  | d2faadac57 | ||
|  | 7f1d28a417 | ||
|  | fab02e5484 | ||
|  | 5274687ec1 | ||
|  | b52e67b7df | ||
|  | 77f414dbf1 | ||
|  | c45ce63bd2 | ||
|  | 0a784a0674 | ||
|  | 1da1506160 | ||
|  | 79dd212428 | ||
|  | fd859a4191 | ||
|  | e61f6df323 | ||
|  | 64998b5c53 | ||
|  | 784c9d47b3 | ||
|  | b5617c3bd9 | ||
|  | 53777cd5b9 | ||
|  | ddb8ad16ac | ||
|  | a3ed766957 | ||
|  | 22a0343c41 | ||
|  | 43fb3cfdc5 | ||
|  | 8accceb08e | ||
|  | 71eab3e347 | ||
|  | 8d378fc340 | ||
|  | 73a8ac61ed | ||
|  | 67d3159650 | ||
|  | ec8a760122 | ||
|  | 3d0ceca6da | ||
|  | 8c25d1f7e6 | ||
|  | 1e0972eaa1 | ||
|  | 616c666114 | ||
|  | 8520548e72 | ||
|  | 63f7f07465 | ||
|  | 35a3ff8032 | ||
|  | 695bf90891 | ||
|  | d4dcc4fe2c | ||
|  | ee44b6afa2 | ||
|  | 28b580b9fc | ||
|  | 7dc7a743f5 | ||
|  | 4bc92df38e | ||
|  | 048df99d91 | ||
|  | b477d122f3 | ||
|  | 0cc2fe46cf | ||
|  | 671e1934bd | ||
|  | d0452aaddb | ||
|  | 464db778fa | ||
|  | 905e813aa4 | ||
|  | b55ba47c5e | ||
|  | 0607bb1485 | ||
|  | f7c8298308 | ||
|  | 86de88ebaa | ||
|  | 76ba0a38e5 | ||
|  | 3ad642f388 | ||
|  | e113eb3561 | ||
|  | 1dc1852a69 | ||
|  | 5ecd4c2593 | ||
|  | b4a2e2d8cf | ||
|  | bdf4fd7e16 | ||
|  | e3b3e4b099 | ||
|  | 895ab9dbbf | ||
|  | 85054a7649 | ||
|  | c60a182b89 | ||
|  | 94ba463db8 | ||
|  | cf67b6791a | ||
|  | 506441a7ec | ||
|  | 9b01a3fa1f | ||
|  | 3dc00da2a5 | ||
|  | c20bdd754f | ||
|  | d3a52be71a | ||
|  | 07c3ca5bab | ||
|  | e593a17e88 | ||
|  | 1975729174 | ||
|  | 1491a9a7dd | ||
|  | 3923560588 | ||
|  | af1aa6528b | ||
|  | 8cf9cd3ed5 | ||
|  | b2dd06eef8 | ||
|  | 8d46151e41 | ||
|  | 3d5166b5d2 | ||
|  | 847af44db0 | ||
|  | 66cd9d4194 | ||
|  | a26eeef847 | ||
|  | 7ba414eff9 | ||
|  | 55abd66da6 | ||
|  | 6ed43a9a87 | ||
|  | e657c2a1f7 | ||
|  | 31aa55366f | ||
|  | c7f1f808a1 | ||
|  | 40b537b589 | ||
|  | 902b569b41 | ||
|  | 5c3bf1772a | ||
|  | 7ffea85c17 | ||
|  | 4ea51d7229 | ||
|  | 5f5f6a1577 | ||
|  | 74f27b68c2 | ||
|  | 592dabfbd0 | ||
|  | 275a19b634 | ||
|  | ee95350a7a | ||
|  | 6d78c0eafc | ||
|  | ba8ad595cc | ||
|  | cd49f188ea | ||
|  | 5bcff826d2 | ||
|  | d62cc18604 | ||
|  | e23d356da7 | ||
|  | 4ac828acca | ||
|  | 0cad7c4c89 | ||
|  | d6bb44343c | ||
|  | 4b46fd6e10 | ||
|  | 3cc3fb081f | ||
|  | 82add3f32f | ||
|  | 76b0d5ee5a | ||
|  | 3b36d26609 | ||
|  | 76ce1db950 | ||
|  | cd11c54422 | ||
|  | bd4bdab0ff | ||
|  | 9ad7175237 | ||
|  | 15b5bf93af | ||
|  | bb6d3b0716 | ||
|  | ac68fbdf09 | ||
|  | 3dae151864 | ||
|  | ae4d0f695e | ||
|  | 1b44b5825c | ||
|  | a51a4e7cf2 | ||
|  | d82b35a2c6 | ||
|  | 2b081589ea | ||
|  | d6974d8504 | ||
|  | f319377697 | ||
|  | 72801ae27f | ||
|  | bc4bc6703f | ||
|  | f501050285 | ||
|  | a38c428a9e | ||
|  | ee2b80ab13 | ||
|  | bfda737651 | ||
|  | 280e29f326 | ||
|  | d60d8e1f5b | ||
|  | 40679b3f59 | ||
|  | c3adbcdf3f | ||
|  | 1487a8ecca | ||
|  | 0e0a7831be | ||
|  | b7ed25a741 | ||
|  | bec9cf86b1 | ||
|  | ec2a8962a1 | ||
|  | ea5ef05197 | ||
|  | 29df0e9bb2 | ||
|  | dee9b51274 | ||
|  | 0f985d5ded | ||
|  | bb1f5d18b6 | ||
|  | 5c05001256 | ||
|  | 67d03b6996 | ||
|  | 1d1563c1f6 | ||
|  | ad965d49fb | ||
|  | 11e3d2d549 | ||
|  | b68b565a4f | ||
|  | 5963ccffdd | ||
|  | 5265105149 | ||
|  | abd9ec4eef | ||
|  | 397539bbbe | ||
|  | 1287eefd4f | ||
|  | 637415554c | ||
|  | 7231b20c41 | ||
|  | fea6b0dc4f | ||
|  | 8c97443073 | ||
|  | 22d0f97ce3 | ||
|  | 50ee974ddf | ||
|  | 984bbbd8bf | ||
|  | 8b57af9cb5 | ||
|  | b06924908d | ||
|  | e2bba31603 | ||
|  | 3b65b30bd5 | ||
|  | 2177ffcea8 | ||
|  | 2ce43b09d8 | ||
|  | 05660a94ab | ||
|  | 3e4c191ff9 | ||
|  | 8a3817649b | ||
|  | 82b737062b | ||
|  | e6b32e7e61 | ||
|  | b9979caf40 | ||
|  | e6367cdc70 | ||
|  | eceba2679c | ||
|  | cf4abfe101 | ||
|  | 2a5f03889e | ||
|  | 0e11091d19 | ||
|  | 3cb838865a | ||
|  | f89d85b431 | ||
|  | 9d91ee4cae | ||
|  | 1e792eb625 | ||
|  | 3d881b9022 | ||
|  | b890af95b4 | ||
|  | 706aac3ffa | ||
|  | 22230ea04b | ||
|  | 798a3faa5b | ||
|  | 105c83ca7e | ||
|  | 64b9564dc7 | ||
|  | a3ccf20a74 | ||
|  | fa7f74f2ee | ||
|  | 30e339db12 | ||
|  | 8f5aed72d2 | ||
|  | dc0582b1ab | ||
|  | 92eb339237 | ||
|  | 3b6983170b | ||
|  | 338e2b93dd | ||
|  | fea50a2206 | ||
|  | 85b5b2660e | ||
|  | 085e2acaac | ||
|  | 58b4d9f18f | ||
|  | 336e7cf817 | ||
|  | 13a2bea2ce | ||
|  | 9139500fa5 | ||
|  | 2a43657e2f | ||
|  | 8145e2ea39 | ||
|  | db1bc1d9e2 | ||
|  | 2f0f3aa310 | ||
|  | 873508bfb7 | ||
|  | e71f681e6e | ||
|  | 4cb4f6f023 | ||
|  | 98aebf77ad | ||
|  | 25b7d8c480 | ||
|  | 641ea57895 | ||
|  | c0d2d444ca | ||
|  | 212c2cefec | ||
|  | 6bacd51841 | ||
|  | 2db4bf0a90 | ||
|  | 7381e578a8 | ||
|  | 44a8acddd0 | ||
|  | 9bcf7eed9a | ||
|  | d540a25a88 | ||
|  | f113724f9a | ||
|  | ad04e79141 | ||
|  | 51ed184126 | ||
|  | 5d740eba37 | ||
|  | 5c9cc4dd04 | ||
|  | 430e92dbce | ||
|  | f0aa9b6004 | ||
|  | 4471654e40 | ||
|  | e1fa082b6e | ||
|  | 903672b82b | ||
|  | 611b89e544 | ||
|  | 9205486959 | ||
|  | 47e58e1303 | ||
|  | 398a03f3dd | ||
|  | 4338693f81 | ||
|  | 449fe34856 | ||
|  | 930fbe4cda | ||
|  | e45d223124 | ||
|  | 4e0e797d9f | ||
|  | 5418c3936d | ||
|  | f876016bb9 | ||
|  | 00186e5594 | ||
|  | d6c39cc990 | ||
|  | 5a2bb6db5b | ||
|  | 351c3ac73a | ||
|  | 62f72f92be | ||
|  | faa0ff0e40 | ||
|  | 7d6037a85f | ||
|  | 2aa5f162cc | ||
|  | 13bdfe6ac3 | ||
|  | d0dbef04f4 | ||
|  | d8f086640a | ||
|  | 452fa1d2d8 | ||
|  | 68e9d2bc7d | ||
|  | 0e083bbf6b | ||
|  | 3a17a30e8c | ||
|  | c65a56b945 | ||
|  | aa6c0fb2a9 | ||
|  | 235bef78a9 | ||
|  | f80767359f | ||
|  | 8cd843df9d | ||
|  | ce30495376 | ||
|  | 5b73d52753 | ||
|  | 7bb829d756 | ||
|  | 3bedfb2c33 | ||
|  | 9058b5923b | ||
|  | 07084b22f9 | ||
|  | 5c884c8552 | ||
|  | becf46f58a | ||
|  | 839afbbc1c | ||
|  | daacceebd2 | ||
|  | cc11c13e54 | ||
|  | 9e1ece208f | ||
|  | 82ba856d2c | ||
|  | 8278c9ced2 | ||
|  | 4e9f362482 | ||
|  | 68bc3c5391 | ||
|  | e484ede6c4 | ||
|  | cecc517674 | 
							
								
								
									
										21
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							| @@ -38,27 +38,6 @@ updates: | ||||
|   - dependency-name: org.activiti:activiti-spring | ||||
|     versions: | ||||
|     - ">= 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 | ||||
|     versions: | ||||
|     - "> 1.0.0" | ||||
|   | ||||
							
								
								
									
										160
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										160
									
								
								.travis.yml
									
									
									
									
									
								
							| @@ -26,13 +26,16 @@ branches: | ||||
|  | ||||
| env: | ||||
|   global: | ||||
|     - TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout) | ||||
|     - TAS_SCRIPTS=../alfresco-community-repo/packaging/tests/scripts | ||||
|     - TAS_ENVIRONMENT=./packaging/tests/environment | ||||
|     - LOG_WARN="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" | ||||
|  | ||||
| stages: | ||||
|   - name: prepare | ||||
|     if: commit_message !~ /\[skip tests\]/ AND commit_message !~ /\[force[^\]]*\]/ | ||||
|   - name: test | ||||
|     if: commit_message !~ /\[skip tests\]/ | ||||
|     if: commit_message !~ /\[skip tests\]/ AND commit_message !~ /\[force[^\]]*\]/ | ||||
|   - name: release | ||||
|     if: commit_message !~ /\[no release\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false | ||||
|   - name: update_downstream | ||||
| @@ -43,7 +46,13 @@ install: travis_retry travis_wait 40 bash scripts/travis/build.sh | ||||
|  | ||||
| jobs: | ||||
|   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\/.*/ | ||||
|       # Run Veracode | ||||
|       install: skip | ||||
| @@ -51,43 +60,49 @@ jobs: | ||||
|  | ||||
|     - name: "Core, Data-Model, Repository - AllUnitTestsSuite - Build and test" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       script: | ||||
|         - travis_retry mvn -B test -pl core,data-model | ||||
|         - travis_retry mvn -B test -pl repository -Dtest=AllUnitTestsSuite | ||||
|         - travis_retry mvn -B test -pl core,data-model -am -DfailIfNoTests=false | ||||
|         - travis_retry mvn -B test -pl "repository,mmt" -am "-Dtest=AllUnitTestsSuite,AllMmtUnitTestSuite" -DfailIfNoTests=false | ||||
|  | ||||
|     - name: "Repository - AppContext01TestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.5-A1 | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG} | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - AppContext02TestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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=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 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 | ||||
|  | ||||
|     - name: "Repository - AppContext03TestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.5-A1 | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG} | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - AppContext04TestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.5-A1 | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG} | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - AppContext05TestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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 | ||||
| @@ -95,142 +110,161 @@ jobs: | ||||
|         - cp repository/src/test/resources/realms/alfresco-realm.json "${HOME}/tmp" | ||||
|         - 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 | ||||
|       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" | ||||
|       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" | ||||
|  | ||||
|     - name: "Repository - AppContext06TestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.5-A1 | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG} | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - AppContextExtraTestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.5-A1 | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG} | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - MiscContextTestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.5-A1 | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG} | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - SearchTestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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=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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - MariaDB 10.2.18 tests" | ||||
|       if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/ | ||||
|       install: skip | ||||
|       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 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1 | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - MariaDB 10.4 tests" | ||||
|       if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/ | ||||
|       install: skip | ||||
|       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 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1 | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - MariaDB 10.5 tests" | ||||
|       if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/ | ||||
|       install: skip | ||||
|       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 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1 | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - MariaDB 10.6 tests" | ||||
|       # 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\]/ | ||||
|       install: skip | ||||
|       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 61616:61616 -p 5672:5672 alfresco/alfresco-activemq:5.16.1 | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - MySQL 5.7.23 tests" | ||||
|       if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/ | ||||
|       install: skip | ||||
|       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' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci | ||||
|         - 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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - MySQL 8 tests" | ||||
|       # 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\]/ | ||||
|       install: skip | ||||
|       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 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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - PostgreSQL 10.9 tests" | ||||
|       if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/ | ||||
|       install: skip | ||||
|       before_script: | ||||
|         - 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.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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - PostgreSQL 11.7 tests" | ||||
|       if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/ | ||||
|       install: skip | ||||
|       before_script: | ||||
|         - 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.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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - PostgreSQL 11.12 tests" | ||||
|       if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - PostgreSQL 12.4 tests" | ||||
|       if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - PostgreSQL 12.7 tests" | ||||
|       if: (branch =~ /(release\/.*$|master)/ AND commit_message !~ /\[skip db\]/ AND type != pull_request) OR commit_message =~ /\[db\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - PostgreSQL 13.1 tests" | ||||
|       # 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\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - PostgreSQL 13.3 tests" | ||||
|       # We only run DB tests on the latest version of PostgreSQL on feature branches | ||||
|       if: commit_message !~ /\[skip db\]/ OR commit_message =~ /\[latest db\]/ | ||||
|       install: skip | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "Repository - Messaging tests" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       before_script: | ||||
|         - 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=CamelRoutesTest,CamelComponentsTest | ||||
|       script: travis_wait 20 mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false | ||||
|  | ||||
|     - name: "Remote-api - AppContext01TestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh | ||||
|       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 | ||||
| @@ -238,30 +272,34 @@ jobs: | ||||
|  | ||||
|     - name: "Remote-api - AppContext02TestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.5-A1 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG} | ||||
|       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" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.5-A1 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG} | ||||
|       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" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh | ||||
|       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 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.5.5-A1 | ||||
|         - docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG} | ||||
|       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" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: travis_retry travis_wait 40 env REQUIRES_INSTALLED_ARTIFACTS=true bash scripts/travis/build.sh | ||||
|       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 | ||||
| @@ -270,99 +308,126 @@ jobs: | ||||
|     - name: "REST API TAS tests part1" | ||||
|       # 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\]/ | ||||
|       install: travis_retry travis_wait 40 env REQUIRES_LOCAL_IMAGES=true bash scripts/travis/build.sh | ||||
|       before_script: | ||||
|         - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml | ||||
|         - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
|       script: travis_wait 60 mvn -B install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false | ||||
|       script: travis_wait 60 mvn -B verify -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false | ||||
|  | ||||
|     - name: "REST API TAS tests part2" | ||||
|       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: | ||||
|         - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml | ||||
|         - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
|       script: travis_wait 60 mvn -B install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false | ||||
|       script: travis_wait 60 mvn -B verify -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false | ||||
|  | ||||
|     - name: "REST API TAS tests part3" | ||||
|       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: | ||||
|         - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml | ||||
|         - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
|       script: travis_wait 60 mvn -B install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false | ||||
|       script: travis_wait 60 mvn -B verify -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false | ||||
|  | ||||
|     - name: "CMIS TAS tests - BROWSER binding" | ||||
|       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: | ||||
|         - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml | ||||
|         - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
|       script: travis_wait 40 mvn -B install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-browser -Denvironment=default -DrunBugs=false | ||||
|       script: travis_wait 40 mvn -B verify -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-browser -Denvironment=default -DrunBugs=false | ||||
|  | ||||
|     - name: "CMIS TAS tests - ATOM binding" | ||||
|       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: | ||||
|         - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml | ||||
|         - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
|       script: travis_wait 40 mvn -B install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-atom -Denvironment=default -DrunBugs=false | ||||
|       script: travis_wait 40 mvn -B verify -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-atom -Denvironment=default -DrunBugs=false | ||||
|  | ||||
|     - name: "CMIS TAS tests - WEBSERVICES binding" | ||||
|       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: | ||||
|         - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml | ||||
|         - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
|       script: travis_wait 40 mvn -B install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-webservices -Denvironment=default -DrunBugs=false | ||||
|       script: travis_wait 40 mvn -B verify -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-webservices -Denvironment=default -DrunBugs=false | ||||
|  | ||||
|     - name: "Email TAS tests" | ||||
|       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: | ||||
|         - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml | ||||
|         - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
|       script: travis_wait 30 mvn -B install -f packaging/tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false | ||||
|       script: travis_wait 30 mvn -B verify -f packaging/tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false | ||||
|  | ||||
|     - name: "WebDAV TAS tests" | ||||
|       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: | ||||
|         - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml | ||||
|         - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
|       script: travis_wait 30 mvn -B install -f packaging/tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false | ||||
|       script: travis_wait 30 mvn -B verify -f packaging/tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false | ||||
|  | ||||
|     - name: "Integration TAS tests" | ||||
|       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: | ||||
|         - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml | ||||
|         - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | ||||
|       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 | ||||
|  | ||||
|     - name: "Share Services - ShareServicesTestSuite" | ||||
|       if: commit_message !~ /\[skip repo\]/ | ||||
|       install: skip | ||||
|       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' | ||||
|       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 | ||||
|       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 | ||||
|  | ||||
|     - name: "AGS Unit & Integration Tests 01 (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 -PagsAllTestSuitePt1 -f amps/ags/pom.xml ${LOG_WARN} | ||||
|  | ||||
|     - name: "AGS        Integration Tests 02 (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 -PagsAllTestSuitePt2 -f amps/ags/pom.xml ${LOG_WARN} | ||||
|  | ||||
|     - name: "AGS        Integration Tests 03 (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 -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) " | ||||
|       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} | ||||
|  | ||||
|     - name: "AGS        Integration Tests 02 (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} | ||||
|  | ||||
|     - name: "AGS        Integration Tests 03 (MySQL) " | ||||
|       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\]/ | ||||
|       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    -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" | ||||
|       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: | ||||
|         artifacts: | ||||
|           paths: | ||||
| @@ -373,11 +438,12 @@ jobs: | ||||
|       before_script: | ||||
|         - ${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" | ||||
|       script: travis_wait 40 mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -Dskip.automationtests=false -Pags | ||||
|       script: travis_wait 40 mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -am -DfailIfNoTests=false -Dskip.automationtests=false -Pags | ||||
|       after_script: bash amps/ags/travis/scripts/getLogs.sh | ||||
|  | ||||
|     - name: "Push to Nexus" | ||||
|       stage: release | ||||
|       install: skip | ||||
|       before_script: bash scripts/travis/verify_release_tag.sh | ||||
|       script: travis_wait 40 bash scripts/travis/maven_release.sh | ||||
|  | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-community-repo-amps</artifactId> | ||||
|       <version>14.79</version> | ||||
|       <version>23.1.0.23-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <modules> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-governance-services-community-parent</artifactId> | ||||
|       <version>14.79</version> | ||||
|       <version>23.1.0.23-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <modules> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-governance-services-automation-community-repo</artifactId> | ||||
|       <version>14.79</version> | ||||
|       <version>23.1.0.23-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <build> | ||||
| @@ -44,8 +44,8 @@ | ||||
|    <dependencies> | ||||
|       <dependency> | ||||
|          <groupId>org.slf4j</groupId> | ||||
|          <artifactId>slf4j-log4j12</artifactId> | ||||
|          <version>1.7.32</version> | ||||
|          <artifactId>slf4j-reload4j</artifactId> | ||||
|          <version>1.7.35</version> | ||||
|          <scope>test</scope> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|   | ||||
| @@ -73,4 +73,5 @@ public class RecordFoldersAPI extends BaseAPI | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -114,11 +114,11 @@ public class RecordsAPI extends BaseAPI | ||||
|     /** | ||||
|      * Reject the record given as parameter | ||||
|      * | ||||
|      * @param user the user declaring the document as record | ||||
|      * @param password the user's password | ||||
|      * @param user               the user declaring the document as record | ||||
|      * @param password           the user's password | ||||
|      * @param expectedStatusCode The expected return status code. | ||||
|      * @param recordName the record name | ||||
|      * @param reason reject reason | ||||
|      * @param recordName         the record name | ||||
|      * @param reason             reject reason | ||||
|      * @return The HTTP Response. | ||||
|      * @throws AssertionError If the expectedStatusCode was not returned. | ||||
|      */ | ||||
| @@ -129,8 +129,8 @@ public class RecordsAPI extends BaseAPI | ||||
|         JSONObject requestParams = new JSONObject(); | ||||
|         requestParams.put("name", "reject"); | ||||
|         requestParams.put("nodeRef", recNodeRef); | ||||
|         requestParams.put("params",new JSONObject() | ||||
|                     .put("reason",reason)); | ||||
|         requestParams.put("params", new JSONObject() | ||||
|                 .put("reason", reason)); | ||||
|  | ||||
|         return doPostJsonRequest(user, password, expectedStatusCode, requestParams, RM_ACTIONS_API); | ||||
|     } | ||||
| @@ -221,6 +221,7 @@ public class RecordsAPI extends BaseAPI | ||||
|      * Uploads an electronic record | ||||
|      * <p> | ||||
|      * eg. of usage for creating record directly in Unfiled Records : uploadElectronicRecord(getAdminName(), getAdminPassword(), recordPropertiesStringMap, UNFILED_RECORDS_BREADCRUMB, DocumentType.HTML) | ||||
|      * | ||||
|      * @param username   the username | ||||
|      * @param password   the password | ||||
|      * @param properties a map of record properties and their values | ||||
| @@ -241,6 +242,7 @@ public class RecordsAPI extends BaseAPI | ||||
|      * <li>eg. of usage in the case in which the record is inside a folder in Unfiled Records : deleteRecord(getAdminName(), getAdminPassword(), "f1 (2016-1472716888713)", UNFILED_RECORDS_BREADCRUMB, "unfiled records folder"); | ||||
|      * <li>eg. of usage in the case in which the record is created directly in Unfiled Records : deleteRecord(getAdminName(), getAdminPassword(), "f1 (2016-1472716888713)", UNFILED_RECORDS_BREADCRUMB, ""); | ||||
|      * </ul> | ||||
|      * | ||||
|      * @param username     user's username | ||||
|      * @param password     its password | ||||
|      * @param recordName   the record name | ||||
| @@ -267,7 +269,7 @@ public class RecordsAPI extends BaseAPI | ||||
|      * @param recordName the String with which the record name starts | ||||
|      * @return the record object in case it exists, null otherwise | ||||
|      */ | ||||
|     private CmisObject getRecord(String username, String password, String folderName, String recordName) | ||||
|     public CmisObject getRecord(String username, String password, String folderName, String recordName) | ||||
|     { | ||||
|         for (CmisObject record : contentService.getFolderObject(contentService.getCMISSession(username, password), RM_SITE_ID, folderName).getChildren()) | ||||
|         { | ||||
| @@ -328,9 +330,9 @@ public class RecordsAPI extends BaseAPI | ||||
|     /** | ||||
|      * Hide in place record | ||||
|      * | ||||
|      * @param user         the user | ||||
|      * @param password     the user's password | ||||
|      * @param nodeId     the in place record node id | ||||
|      * @param user     the user | ||||
|      * @param password the user's password | ||||
|      * @param nodeId   the in place record node id | ||||
|      * @return The HTTP Response. | ||||
|      */ | ||||
|     public HttpResponse hideRecord(String user, String password, String nodeId) | ||||
| @@ -344,6 +346,7 @@ public class RecordsAPI extends BaseAPI | ||||
|         return doPostJsonRequest(user, password, SC_OK, requestParams, ACTIONS_API); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * Retrieves the record's nodeRef | ||||
|      * | ||||
|   | ||||
| @@ -0,0 +1,139 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software. | ||||
|  * - | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of | ||||
|  * the paid license agreement will prevail.  Otherwise, the software is | ||||
|  * provided under the following open source license terms: | ||||
|  * - | ||||
|  * Alfresco is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Lesser General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * - | ||||
|  * Alfresco is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Lesser General Public License for more details. | ||||
|  * - | ||||
|  * You should have received a copy of the GNU Lesser General Public License | ||||
|  * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. | ||||
|  * #L% | ||||
|  */ | ||||
| package org.alfresco.rest.rm.community.records; | ||||
|  | ||||
| import static org.alfresco.rest.rm.community.util.CommonTestUtils.generateTestPrefix; | ||||
| import static org.alfresco.utility.data.RandomData.getRandomName; | ||||
| import static org.alfresco.utility.report.log.Step.STEP; | ||||
| import static org.springframework.http.HttpStatus.CREATED; | ||||
| import static org.testng.Assert.assertNotNull; | ||||
|  | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| import org.alfresco.rest.core.v0.BaseAPI.RMProperty; | ||||
| import org.alfresco.rest.rm.community.base.BaseRMRestTest; | ||||
| import org.alfresco.rest.rm.community.model.recordcategory.RecordCategory; | ||||
| import org.alfresco.rest.rm.community.model.recordcategory.RecordCategoryChild; | ||||
| import org.alfresco.rest.v0.RMRolesAndActionsAPI; | ||||
| import org.alfresco.rest.v0.RecordsAPI; | ||||
| import org.alfresco.test.AlfrescoTest; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.testng.annotations.AfterClass; | ||||
| import org.testng.annotations.BeforeClass; | ||||
| import org.testng.annotations.Test; | ||||
|  | ||||
| /** | ||||
|  * Contains CreateNonElectronicRecords test which checks creation and basic actions(view details, edit, move, copy, delete) on non-electronic records | ||||
|  * <p/> | ||||
|  * Precondition: | ||||
|  * <p/> | ||||
|  * RM site created, contains category 1 with folder 1 and folder 2 inside it | ||||
|  * <p/> | ||||
|  * RM user has RM admin role | ||||
|  * | ||||
|  * @author Shubham Jain | ||||
|  * @Since 7.2.0 M2 | ||||
|  */ | ||||
| public class CreateNonElectronicRecordsTests extends BaseRMRestTest | ||||
| { | ||||
|     private RecordCategory rootCategory; | ||||
|  | ||||
|     private RecordCategoryChild recordFolder; | ||||
|  | ||||
|     /** | ||||
|      * data prep services | ||||
|      */ | ||||
|     @Autowired | ||||
|     private RMRolesAndActionsAPI rmRolesAndActionsAPI; | ||||
|  | ||||
|     @Autowired | ||||
|     private RecordsAPI recordsAPI; | ||||
|  | ||||
|     private final String TEST_PREFIX = generateTestPrefix(CreateNonElectronicRecordsTests.class); | ||||
|     private final String RM_ADMIN = TEST_PREFIX + "rm_admin"; | ||||
|     private final String recordName = "RM-2777 record"; | ||||
|     private final String recordTitle = recordName + " title"; | ||||
|     private final String recordDescription = recordName + " description"; | ||||
|  | ||||
|  | ||||
|     @BeforeClass (alwaysRun = true) | ||||
|     public void preConditions() | ||||
|     { | ||||
|         STEP("Create RM Site"); | ||||
|         createRMSiteIfNotExists(); | ||||
|  | ||||
|         STEP("Create RM Admin user"); | ||||
|         rmRolesAndActionsAPI.createUserAndAssignToRole(getAdminUser().getUsername(), getAdminUser().getPassword(), RM_ADMIN, | ||||
|                 getAdminUser().getPassword(), | ||||
|                 "Administrator"); | ||||
|  | ||||
|         STEP("Create root level category"); | ||||
|         rootCategory = createRootCategory(getRandomName("Category")); | ||||
|  | ||||
|         STEP("Create the record folder inside the rootCategory"); | ||||
|         recordFolder = createRecordFolder(rootCategory.getId(), getRandomName("Folder")); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Test v0 methods to create and get non-electronic records. | ||||
|      */ | ||||
|     @Test | ||||
|     @AlfrescoTest (jira = "RM-2777") | ||||
|     public void createNonElectronicRecordTest() | ||||
|     { | ||||
|         STEP("Create a non-electronic record by completing some of the fields"); | ||||
|         Map<Enum<?>, String> properties = new HashMap<Enum<?>, String>(); | ||||
|         properties.put(RMProperty.TITLE, recordTitle); | ||||
|         properties.put(RMProperty.DESCRIPTION, recordDescription); | ||||
|         properties.put(RMProperty.NAME, recordName); | ||||
|         properties.put(RMProperty.PHYSICAL_SIZE, ""); | ||||
|         properties.put(RMProperty.NUMBER_OF_COPIES, ""); | ||||
|         properties.put(RMProperty.SHELF, ""); | ||||
|         properties.put(RMProperty.STORAGE_LOCATION, ""); | ||||
|         properties.put(RMProperty.BOX, ""); | ||||
|         properties.put(RMProperty.FILE, ""); | ||||
|  | ||||
|         recordsAPI.createNonElectronicRecord(getAdminUser().getUsername(), | ||||
|                 getAdminUser().getPassword(), properties, rootCategory.getName(), recordFolder.getName()); | ||||
|  | ||||
|         STEP("Check the non-electronic record has been created"); | ||||
|         assertStatusCode(CREATED); | ||||
|         assertNotNull(recordsAPI.getRecord(getAdminUser().getUsername(), getAdminUser().getPassword(), | ||||
|                 recordFolder.getName(), recordName)); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @AfterClass (alwaysRun = true) | ||||
|     public void deletePreConditions() | ||||
|     { | ||||
|         STEP("Delete the created rootCategory along with corresponding record folders/records present in it"); | ||||
|         getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(rootCategory.getId()); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-governance-services-community-parent</artifactId> | ||||
|       <version>14.79</version> | ||||
|       <version>23.1.0.23-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <modules> | ||||
|   | ||||
| @@ -1,4 +1,3 @@ | ||||
| TRANSFORMERS_TAG=2.5.5-A1 | ||||
| SOLR6_TAG=2.0.2-RC1 | ||||
| SOLR6_TAG=2.0.3 | ||||
| POSTGRES_TAG=13.3 | ||||
| ACTIVEMQ_TAG=5.16.1 | ||||
|   | ||||
| @@ -1,4 +1,17 @@ | ||||
| ### Apply AGS community repo AMP to ACS image | ||||
| # BUILD STAGE AGS | ||||
| FROM debian:11-slim AS AGSBUILDER | ||||
|  | ||||
| RUN export DEBIAN_FRONTEND=noninteractive; \ | ||||
|     apt-get update -qqy && apt-get -yqq install unzip && \ | ||||
|     mkdir -p /build/gs-api-explorer | ||||
|  | ||||
| ### Copy the AGS war from the local context | ||||
| COPY target/gs-api-explorer-*.war /build | ||||
|  | ||||
| RUN unzip -q /build/gs-api-explorer-*.war -d /build/gs-api-explorer && \ | ||||
|     chmod -R g-w,o= /build | ||||
|  | ||||
| # ACTUAL IMAGE | ||||
| FROM alfresco/alfresco-community-repo-base:${image.tag} | ||||
|  | ||||
| # Alfresco user does not have permissions to modify webapps or configuration. Switch to root. | ||||
| @@ -13,18 +26,13 @@ RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ | ||||
|               /usr/local/tomcat/amps \ | ||||
|               /usr/local/tomcat/webapps/alfresco -directory -nobackup | ||||
|  | ||||
| ### Copy gs-api-explorer war into webapps folder | ||||
| COPY target/gs-api-explorer-*.war /usr/local/tomcat/webapps/ | ||||
|  | ||||
| ### Unpack gs-api-explorer.war | ||||
| RUN mkdir /usr/local/tomcat/webapps/gs-api-explorer && cd /usr/local/tomcat/webapps/gs-api-explorer && \ | ||||
|     jar -xvf /usr/local/tomcat/webapps/gs-api-explorer-*.war && rm -f /usr/local/tomcat/webapps/gs-api-explorer-*.war | ||||
| ### Copy gs-api-explorer | ||||
| COPY --chown=root:Alfresco --from=AGSBUILDER /build/gs-api-explorer /usr/local/tomcat/webapps/gs-api-explorer | ||||
|  | ||||
| # All files in the tomcat folder must be owned by root user and Alfresco group as mentioned in the parent Dockerfile | ||||
| RUN chgrp -R Alfresco /usr/local/tomcat && \ | ||||
|     find /usr/local/tomcat/webapps -type d -exec chmod 0750 {} \; && \ | ||||
|     find /usr/local/tomcat/webapps -type f -exec chmod 0640 {} \; && \ | ||||
|     chmod -R g+r /usr/local/tomcat/webapps | ||||
|     find /usr/local/tomcat/webapps -type f -exec chmod 0640 {} \; | ||||
|  | ||||
| # Switching back to alfresco user after having added amps files to run the container as non-root | ||||
| USER alfresco | ||||
|   | ||||
| @@ -26,7 +26,8 @@ services: | ||||
|                 -Ddb.url=jdbc:postgresql://postgres:5432/alfresco | ||||
|                 -Dsolr.host=search | ||||
|                 -Dsolr.port=8983 | ||||
|                 -Dsolr.secureComms=none | ||||
|                 -Dsolr.secureComms=secret | ||||
|                 -Dsolr.sharedSecret=secret | ||||
|                 -Dsolr.base.url=/solr | ||||
|                 -Dindex.subsystem.name=solr6 | ||||
|                 -Dalfresco.restApi.basicAuthScheme=true | ||||
| @@ -61,15 +62,19 @@ services: | ||||
|         image: alfresco/alfresco-search-services:${SOLR6_TAG} | ||||
|         environment: | ||||
|             #Solr needs to know how to register itself with Alfresco | ||||
|             - SOLR_ALFRESCO_HOST=alfresco | ||||
|             - SOLR_ALFRESCO_PORT=8080 | ||||
|             SOLR_ALFRESCO_HOST: "alfresco" | ||||
|             SOLR_ALFRESCO_PORT: "8080" | ||||
|             #Alfresco needs to know how to call solr | ||||
|             - SOLR_SOLR_HOST=search | ||||
|             - SOLR_SOLR_PORT=8983 | ||||
|             SOLR_SOLR_HOST: "search" | ||||
|             SOLR_SOLR_PORT: "8983" | ||||
|             #Create the default alfresco and archive cores | ||||
|             - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive | ||||
|              #HTTP by default | ||||
|             - ALFRESCO_SECURE_COMMS=none | ||||
|             SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive" | ||||
|             #HTTP by default | ||||
|             ALFRESCO_SECURE_COMMS: "secret" | ||||
|             JAVA_TOOL_OPTIONS: | ||||
|               " | ||||
|               -Dalfresco.secureComms.secret=secret | ||||
|               " | ||||
|         ports: | ||||
|             - 8083:8983 #Browser port | ||||
|  | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-governance-services-community-repo-parent</artifactId> | ||||
|       <version>14.79</version> | ||||
|       <version>23.1.0.23-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <properties> | ||||
| @@ -217,6 +217,7 @@ | ||||
|                            <fileset dir="${project.build.outputDirectory}/alfresco" /> | ||||
|                         </move> | ||||
|                         <copy file="${project.build.directory}/${project.build.finalName}/config/alfresco/module/org_alfresco_module_rm/module.properties" todir="${project.build.directory}/${project.build.finalName}" /> | ||||
|                         <copy file="${project.build.directory}/generated-sources/license/THIRD-PARTY.txt" todir="${project.build.directory}/${project.build.finalName}/licenses/${artifactId}" /> | ||||
|                      </target> | ||||
|                   </configuration> | ||||
|                </execution> | ||||
| @@ -360,6 +361,12 @@ | ||||
|                <integrationTestSuite>**/AllTestSuitePt3.class</integrationTestSuite> | ||||
|            </properties> | ||||
|        </profile> | ||||
|        <profile> | ||||
|            <id>agsAllTestSuitePt4</id> | ||||
|            <properties> | ||||
|                <integrationTestSuite>**/AllTestSuitePt4.class</integrationTestSuite> | ||||
|            </properties> | ||||
|        </profile> | ||||
|  | ||||
|       <profile> | ||||
|          <id>use-mysql</id> | ||||
|   | ||||
| @@ -66,7 +66,8 @@ ftp.enabled=false | ||||
|  | ||||
| # Solr config | ||||
| index.subsystem.name=solr6 | ||||
| solr.secureComms=none | ||||
| solr.secureComms=secret | ||||
| solr.sharedSecret=secret | ||||
| solr.port=8983 | ||||
|  | ||||
| #By default the  basic auth is on false - REPO-2575 | ||||
|   | ||||
| @@ -43,19 +43,16 @@ import org.junit.runner.RunWith; | ||||
| @ClassnameFilters({ | ||||
|  | ||||
|     // The following packages are run by Pt1. IF YOU CHANGE THIS LIST ALSO CHANGE IT IN AllTestSuitePt3. | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.action\\..*Test", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.capabilities\\..*Test", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.jscript\\..*Test", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.security\\..*Test", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.service\\..*Test", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.webscript\\..*Test", | ||||
|     // There appears to be some common setup taking place in the first 2 packages, which is why all legacy tests are | ||||
|     // together even though they take a little longer to run that way. | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.jscript\\..*Test", | ||||
|  | ||||
|     // Exclude all UnitTests | ||||
|     "!.*UnitTest", | ||||
|  | ||||
|     // Put the test classes you want to exclude here | ||||
|     "!.*DispositionServiceImplTest", | ||||
|     "!.*FilePlanPermissionServiceImplTest", | ||||
|     // above 2 tests from service package require setup from FileReportActionTest so they've been moved to part 4 | ||||
|     "!.*DataLoadSystemTest", | ||||
|     "!.*RM2072Test", | ||||
|     "!.*RM2190Test", | ||||
|   | ||||
| @@ -0,0 +1,78 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Records Management Module | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2022 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.module.org_alfresco_module_rm.test; | ||||
|  | ||||
| import org.junit.extensions.cpsuite.ClasspathSuite; | ||||
| import org.junit.extensions.cpsuite.ClasspathSuite.ClassnameFilters; | ||||
| import org.junit.extensions.cpsuite.ClasspathSuite.SuiteTypes; | ||||
| import org.junit.extensions.cpsuite.SuiteType; | ||||
| import org.junit.runner.RunWith; | ||||
|  | ||||
| /** | ||||
|  * Convenience test suite that runs all the tests. THIS HAS BEEN SPLIT INTO PARTS SO THAT THE BUILD TIME IS REDUCED. | ||||
|  * | ||||
|  * @author Marcin Strankowski | ||||
|  * @since 2.1 | ||||
|  */ | ||||
| @RunWith(ClasspathSuite.class) | ||||
| @SuiteTypes({SuiteType.TEST_CLASSES, SuiteType.RUN_WITH_CLASSES, SuiteType.JUNIT38_TEST_CLASSES}) | ||||
| @ClassnameFilters({ | ||||
|  | ||||
|     // The following packages are run by Pt1. IF YOU CHANGE THIS LIST ALSO CHANGE IT IN AllTestSuitePt3. | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.action\\..*Test", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.capabilities\\..*Test", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.security\\..*Test", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.webscript\\..*Test", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.service\\.*DispositionServiceImplTest", | ||||
|     "org\\.alfresco\\.module\\.org_alfresco_module_rm\\.test\\.legacy\\.service\\.*FilePlanPermissionServiceImplTest", | ||||
|  | ||||
|     // 2 tests from service package are here, they seem to require FileReportActionTest being ran beforehand | ||||
|     // and it would take too much time to run them in 1st test suite | ||||
|  | ||||
|     // Exclude all UnitTests | ||||
|     "!.*UnitTest", | ||||
|  | ||||
|     // Put the test classes you want to exclude here | ||||
|     "!.*DataLoadSystemTest", | ||||
|     "!.*RM2072Test", | ||||
|     "!.*RM2190Test", | ||||
|     "!.*RM981SystemTest", | ||||
|     "!.*RM3993Test", | ||||
|     "!.*RM4163Test", | ||||
|     "!.*RecordsManagementEventServiceImplTest", | ||||
|     "!.*RmRestApiTest", | ||||
|     "!.*NotificationServiceHelperSystemTest", | ||||
|     "!.*RetryingTransactionHelperBaseTest", | ||||
|     "!.*RMCaveatConfigServiceImplTest", | ||||
|     // This test is running successfully locally but not on bamboo (if executed as a single test). | ||||
|     // The problem can be reproduced if the whole test suite is run locally as well. | ||||
|     // Tests should not be dependant on other test classes and should run in any order without any problems. | ||||
|     "!.*EmailMapScriptTest" | ||||
| }) | ||||
| public class AllTestSuitePt4 | ||||
| { | ||||
| } | ||||
| @@ -3,8 +3,8 @@ | ||||
| # | ||||
|  | ||||
| # Version label | ||||
| version.major=7 | ||||
| version.minor=0 | ||||
| version.major=23 | ||||
| version.minor=1 | ||||
| version.revision=0 | ||||
| version.label= | ||||
|  | ||||
|   | ||||
| @@ -29,6 +29,7 @@ package org.alfresco.module.org_alfresco_module_rm.api; | ||||
|  | ||||
| import static org.junit.Assert.assertEquals; | ||||
| import static org.junit.Assert.assertTrue; | ||||
| import static org.reflections.scanners.Scanners.TypesAnnotated; | ||||
|  | ||||
| import java.lang.reflect.Constructor; | ||||
| import java.lang.reflect.Executable; | ||||
| @@ -77,7 +78,7 @@ public class PublicAPITestUtil | ||||
|      */ | ||||
|     public static void testPublicAPIConsistency(String basePackageName, SetMultimap<Class<?>, Class<?>> knownBadReferences) | ||||
|     { | ||||
|         Reflections reflections = new Reflections(basePackageName); | ||||
|         Reflections reflections = new Reflections(basePackageName, TypesAnnotated); | ||||
|         Set<Class<?>> publicAPIClasses = reflections.getTypesAnnotatedWith(AlfrescoPublicApi.class, true); | ||||
|  | ||||
|         SetMultimap<Class<?>, Class<?>> referencedFrom = HashMultimap.create(); | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-governance-services-community-repo-parent</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <build> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <modules> | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-amps</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <properties> | ||||
| @@ -168,6 +168,10 @@ | ||||
|                 <targetPath>../${project.build.finalName}</targetPath> | ||||
|                 <filtering>true</filtering> | ||||
|             </resource> | ||||
|             <resource> | ||||
|                 <directory>${project.build.directory}/generated-sources/license</directory> | ||||
|                 <targetPath>../${project.build.finalName}/licenses/${artifactId}</targetPath> | ||||
|             </resource> | ||||
|         </resources> | ||||
|         <testResources> | ||||
|             <testResource> | ||||
|   | ||||
							
								
								
									
										14
									
								
								core/pom.xml
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								core/pom.xml
									
									
									
									
									
								
							| @@ -7,7 +7,7 @@ | ||||
|    <parent> | ||||
|       <groupId>org.alfresco</groupId> | ||||
|       <artifactId>alfresco-community-repo</artifactId> | ||||
|       <version>14.79</version> | ||||
|       <version>23.1.0.23-SNAPSHOT</version> | ||||
|    </parent> | ||||
|  | ||||
|    <dependencies> | ||||
| @@ -54,9 +54,9 @@ | ||||
|          <classifier>asl</classifier> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>log4j</groupId> | ||||
|          <artifactId>log4j</artifactId> | ||||
|          <version>1.2.17</version> | ||||
|          <groupId>ch.qos.reload4j</groupId> | ||||
|          <artifactId>reload4j</artifactId> | ||||
|          <version>1.2.18.3</version> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>org.json</groupId> | ||||
| @@ -114,7 +114,7 @@ | ||||
|       <!-- Test only dependencies, as popped up while running mvn test --> | ||||
|       <dependency> | ||||
|          <groupId>org.slf4j</groupId> | ||||
|          <artifactId>slf4j-log4j12</artifactId> | ||||
|          <artifactId>slf4j-reload4j</artifactId> | ||||
|          <scope>test</scope> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
| @@ -128,8 +128,8 @@ | ||||
|          <scope>test</scope> | ||||
|       </dependency> | ||||
|       <dependency> | ||||
|          <groupId>commons-dbcp</groupId> | ||||
|          <artifactId>commons-dbcp</artifactId> | ||||
|          <groupId>org.apache.commons</groupId> | ||||
|          <artifactId>commons-dbcp2</artifactId> | ||||
|          <scope>test</scope> | ||||
|       </dependency> | ||||
|    </dependencies> | ||||
|   | ||||
| @@ -21,7 +21,7 @@ package org.alfresco.util.transaction; | ||||
| import org.alfresco.error.AlfrescoRuntimeException; | ||||
|  | ||||
| /** | ||||
|  * Exception wraps {@link java.util.NoSuchElementException} from {@link org.apache.commons.dbcp.BasicDataSource} | ||||
|  * Exception wraps {@link java.util.NoSuchElementException} from {@link org.apache.commons.dbcp2.BasicDataSource} | ||||
|  *  | ||||
|  * @author alex.mukha | ||||
|  * @since 4.1.9 | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <properties> | ||||
|   | ||||
| @@ -26,7 +26,6 @@ | ||||
|  | ||||
| package org.alfresco.repo.content; | ||||
|  | ||||
| import org.alfresco.service.Experimental; | ||||
|  | ||||
| /** | ||||
|  * Enumeration with values for archive-restore parameter keys. | ||||
| @@ -35,7 +34,6 @@ import org.alfresco.service.Experimental; | ||||
|  * | ||||
|  * @author mpichura | ||||
|  */ | ||||
| @Experimental | ||||
| public enum ContentRestoreParams | ||||
| { | ||||
|     /** | ||||
|   | ||||
| @@ -26,7 +26,6 @@ | ||||
| package org.alfresco.repo.content; | ||||
|  | ||||
| import org.alfresco.api.AlfrescoPublicApi; | ||||
| import org.alfresco.service.Experimental; | ||||
| import org.alfresco.service.cmr.repository.ContentAccessor; | ||||
| import org.alfresco.service.cmr.repository.ContentIOException; | ||||
| import org.alfresco.service.cmr.repository.ContentReader; | ||||
| @@ -340,7 +339,6 @@ public interface ContentStore | ||||
|      * @param contentUrl the URL of the content for which the storage properties are to be retrieved. | ||||
|      * @return Returns a key-value (String-String) collection of storage headers/properties with their respective values. | ||||
|      */ | ||||
|     @Experimental | ||||
|     default Map<String, String> getStorageProperties(String contentUrl) | ||||
|     { | ||||
|         return Collections.emptyMap(); | ||||
| @@ -350,14 +348,12 @@ public interface ContentStore | ||||
|      * Submit a request to send content to archive (offline) state. | ||||
|      * If no connector is present or connector is not supporting sending to archive, then {@link UnsupportedOperationException} will be returned. | ||||
|      * Specific connector will decide which storage class/tier will be set for content. | ||||
|      * This method is experimental and subject to changes. | ||||
|      * | ||||
|      * @param contentUrl the URL of the content which is to be archived. | ||||
|      * @param archiveParams a map of String-Serializable parameters defining Storage Provider specific request parameters (can be empty). | ||||
|      * @return true when request successful, false when unsuccessful. | ||||
|      * @throws UnsupportedOperationException when store is unable to handle request. | ||||
|      */ | ||||
|     @Experimental | ||||
|     default boolean requestSendContentToArchive(String contentUrl, Map<String, Serializable> archiveParams) | ||||
|     { | ||||
|         throw new UnsupportedOperationException("Request to archive content is not supported by this content store."); | ||||
| @@ -370,14 +366,12 @@ public interface ContentStore | ||||
|      * Keys of this map should be restricted to {@code ContentRestoreParams} enumeration. | ||||
|      * For AWS S3 map can indicating expiry days, Glacier restore tier. | ||||
|      * For Azure Blob map can indicate rehydrate priority. | ||||
|      * This method is experimental and subject to changes. | ||||
|      * | ||||
|      * @param contentUrl    the URL of the content which is to be archived. | ||||
|      * @param restoreParams a map of String-Serializable parameters defining Storage Provider specific request parameters (can be empty). | ||||
|      * @return true when request successful, false when unsuccessful. | ||||
|      * @throws UnsupportedOperationException when store is unable to handle request. | ||||
|      */ | ||||
|     @Experimental | ||||
|     default boolean requestRestoreContentFromArchive(String contentUrl, Map<String, Serializable> restoreParams) | ||||
|     { | ||||
|         throw new UnsupportedOperationException("Request to restore content from archive is not supported by this content store."); | ||||
|   | ||||
| @@ -26,8 +26,6 @@ | ||||
|  | ||||
| package org.alfresco.repo.content; | ||||
|  | ||||
| import org.alfresco.service.Experimental; | ||||
|  | ||||
| /** | ||||
|  * Enumeration with "header" values for Alfresco derived Storage Properties | ||||
|  * Values of this enum should be used when adding Alfresco derived key-value pairs in Storage Properties map. | ||||
| @@ -35,7 +33,6 @@ import org.alfresco.service.Experimental; | ||||
|  * | ||||
|  * @author mpichura | ||||
|  */ | ||||
| @Experimental | ||||
| public enum ObjectStorageProps { | ||||
|     /** | ||||
|      * Object's content is archived and not immediately accessible. | ||||
|   | ||||
| @@ -26,7 +26,6 @@ | ||||
| package org.alfresco.service.cmr.repository; | ||||
|  | ||||
| import org.alfresco.api.AlfrescoPublicApi; | ||||
| import org.alfresco.service.Experimental; | ||||
|  | ||||
| /** | ||||
|  * Unable to access as content is in an Archived state. | ||||
| @@ -34,7 +33,6 @@ import org.alfresco.service.Experimental; | ||||
|  *  | ||||
|  * @author David Edwards | ||||
|  */ | ||||
| @Experimental | ||||
| @AlfrescoPublicApi | ||||
| public class ArchivedIOException extends ContentIOException | ||||
| { | ||||
|   | ||||
| @@ -27,7 +27,6 @@ package org.alfresco.service.cmr.repository; | ||||
|  | ||||
| import org.alfresco.api.AlfrescoPublicApi; | ||||
| import org.alfresco.error.AlfrescoRuntimeException; | ||||
| import org.alfresco.service.Experimental; | ||||
|  | ||||
| /** | ||||
|  * Content Restoration in progress | ||||
| @@ -35,7 +34,6 @@ import org.alfresco.service.Experimental; | ||||
|  * @author David Edwards | ||||
|  */ | ||||
| @AlfrescoPublicApi | ||||
| @Experimental | ||||
| public class RestoreInProgressException extends AlfrescoRuntimeException | ||||
| { | ||||
|     private static final long serialVersionUID = 5483215922384016269L; | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <dependencies> | ||||
| @@ -31,6 +31,11 @@ | ||||
|             <artifactId>maven-artifact</artifactId> | ||||
|             <version>${dependency.maven-artifact.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.mockito</groupId> | ||||
|             <artifactId>mockito-core</artifactId> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
|  | ||||
|     <build> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Repository | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2016 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Repository | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2016 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Repository | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2016 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Repository | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2016 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Repository | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2016 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
							
								
								
									
										43
									
								
								mmt/src/test/java/org/alfresco/AllMmtUnitTestSuite.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								mmt/src/test/java/org/alfresco/AllMmtUnitTestSuite.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| /* | ||||
|  * #%L | ||||
|  * Alfresco Repository | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2022 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; | ||||
|  | ||||
| import org.junit.experimental.categories.Categories; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.junit.runners.Suite; | ||||
|  | ||||
| /** | ||||
|  * All MMT Tool project UNIT test classes (no application context) should be added to this test suite. | ||||
|  */ | ||||
| @RunWith(Categories.class) | ||||
| @Suite.SuiteClasses({ | ||||
|         org.alfresco.repo.module.tool.ModuleManagementToolTest.class, | ||||
|         org.alfresco.repo.module.tool.WarHelperImplTest.class, | ||||
|         org.alfresco.repo.module.tool.ModuleServiceImplTest.class | ||||
| }) | ||||
| public class AllMmtUnitTestSuite | ||||
| { | ||||
| } | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Repository | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2016 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Repository | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2016 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Repository | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2016 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -9,6 +9,6 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-packaging</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
| </project> | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| # Fetch image based on Tomcat 9.0, Java 11 and Centos 8 | ||||
| # Fetch image based on Tomcat 9.0, Java 11 and Centos 7 | ||||
| # More infos about this image: https://github.com/Alfresco/alfresco-docker-base-tomcat | ||||
| FROM alfresco/alfresco-base-tomcat:9.0.52-java-11-centos-7 | ||||
| FROM alfresco/alfresco-base-tomcat:tomcat9-jre11-centos7-202203091924 | ||||
|  | ||||
| # Set default docker_context. | ||||
| ARG resource_path=target | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-packaging</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <properties> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <modules> | ||||
|   | ||||
| @@ -1,4 +1,3 @@ | ||||
| TRANSFORMERS_TAG=2.5.5-A1 | ||||
| SOLR6_TAG=2.0.2 | ||||
| SOLR6_TAG=2.0.3 | ||||
| POSTGRES_TAG=13.3 | ||||
| ACTIVEMQ_TAG=5.16.1 | ||||
|   | ||||
| @@ -28,7 +28,8 @@ services: | ||||
|         -Ddb.url=jdbc:postgresql://postgres:5432/alfresco | ||||
|         -Dsolr.host=solr6 | ||||
|         -Dsolr.port=8983 | ||||
|         -Dsolr.secureComms=none | ||||
|         -Dsolr.secureComms=secret | ||||
|         -Dsolr.sharedSecret=secret | ||||
|         -Dsolr.base.url=/solr | ||||
|         -Dindex.subsystem.name=solr6 | ||||
|         -Dalfresco.restApi.basicAuthScheme=true | ||||
| @@ -63,15 +64,19 @@ services: | ||||
|     image: alfresco/alfresco-search-services:${SOLR6_TAG} | ||||
|     environment: | ||||
|       #Solr needs to know how to register itself with Alfresco | ||||
|       - SOLR_ALFRESCO_HOST=alfresco | ||||
|       - SOLR_ALFRESCO_PORT=8080 | ||||
|       SOLR_ALFRESCO_HOST: "alfresco" | ||||
|       SOLR_ALFRESCO_PORT: "8080" | ||||
|       #Alfresco needs to know how to call solr | ||||
|       - SOLR_SOLR_HOST=solr6 | ||||
|       - SOLR_SOLR_PORT=8983 | ||||
|       SOLR_SOLR_HOST: "solr6" | ||||
|       SOLR_SOLR_PORT: "8983" | ||||
|       #Create the default alfresco and archive cores | ||||
|       - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive | ||||
|       SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive" | ||||
|       #HTTP by default | ||||
|       - ALFRESCO_SECURE_COMMS=none | ||||
|       ALFRESCO_SECURE_COMMS: "secret" | ||||
|       JAVA_TOOL_OPTIONS: | ||||
|         " | ||||
|         -Dalfresco.secureComms.secret=secret | ||||
|         " | ||||
|     ports: | ||||
|       - 8083:8983 #Browser port | ||||
|  | ||||
|   | ||||
| @@ -28,7 +28,8 @@ services: | ||||
|         -Ddb.url=jdbc:postgresql://postgres:5432/alfresco | ||||
|         -Dsolr.host=solr6 | ||||
|         -Dsolr.port=8983 | ||||
|         -Dsolr.secureComms=none | ||||
|         -Dsolr.secureComms=secret | ||||
|         -Dsolr.sharedSecret=secret | ||||
|         -Dsolr.base.url=/solr | ||||
|         -Dindex.subsystem.name=solr6 | ||||
|         -Dalfresco.restApi.basicAuthScheme=true | ||||
| @@ -66,15 +67,19 @@ services: | ||||
|     image: alfresco/alfresco-search-services:${SOLR6_TAG} | ||||
|     environment: | ||||
|       #Solr needs to know how to register itself with Alfresco | ||||
|       - SOLR_ALFRESCO_HOST=alfresco | ||||
|       - SOLR_ALFRESCO_PORT=8080 | ||||
|       SOLR_ALFRESCO_HOST: "alfresco" | ||||
|       SOLR_ALFRESCO_PORT: "8080" | ||||
|       #Alfresco needs to know how to call solr | ||||
|       - SOLR_SOLR_HOST=solr6 | ||||
|       - SOLR_SOLR_PORT=8983 | ||||
|       SOLR_SOLR_HOST: "solr6" | ||||
|       SOLR_SOLR_PORT: "8983" | ||||
|       #Create the default alfresco and archive cores | ||||
|       - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive | ||||
|       SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive" | ||||
|       #HTTP by default | ||||
|       - ALFRESCO_SECURE_COMMS=none | ||||
|       ALFRESCO_SECURE_COMMS: "secret" | ||||
|       JAVA_TOOL_OPTIONS: | ||||
|         " | ||||
|         -Dalfresco.secureComms.secret=secret | ||||
|         " | ||||
|     ports: | ||||
|       - 8083:8983 #Browser port | ||||
|  | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-packaging</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <modules> | ||||
|   | ||||
| @@ -27,8 +27,11 @@ fi | ||||
|  | ||||
| echo "Starting ACS stack in ${DOCKER_COMPOSE_PATH}" | ||||
|  | ||||
| TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout) | ||||
| TRANSFORM_ROUTER_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-service.version -q -DforceStdout) | ||||
|  | ||||
| # .env files are picked up from project directory correctly on docker-compose 1.23.0+ | ||||
| docker-compose --file "${DOCKER_COMPOSE_PATH}" --project-directory $(dirname "${DOCKER_COMPOSE_PATH}") up -d | ||||
| TRANSFORMERS_TAG=${TRANSFORMERS_TAG} TRANSFORM_ROUTER_TAG=${TRANSFORM_ROUTER_TAG} docker-compose --file "${DOCKER_COMPOSE_PATH}" --project-directory $(dirname "${DOCKER_COMPOSE_PATH}") up -d | ||||
|  | ||||
| if [ $? -eq 0 ] | ||||
| then | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-tests</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <developers> | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-tests</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <developers> | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-tests</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <developers> | ||||
|   | ||||
| @@ -329,9 +329,9 @@ public class IntegrationFullTestsBulk2  extends IntegrationTest | ||||
|      * 7. User1 deletes the document1 with ftp | ||||
|      * 8. Verify user2 cannot update document1 with cmis | ||||
|      */ | ||||
|         @Test(groups = { TestGroup.INTEGRATION, TestGroup.FULL }, expectedExceptions = CmisObjectNotFoundException.class, expectedExceptionsMessageRegExp = ".*Object not found:.*") | ||||
|         @TestRail(section = { TestGroup.INTEGRATION, TestGroup.CONTENT }, executionType = ExecutionType.REGRESSION, description = "Negative scenarios for update document") | ||||
|         public void fileUpdateNegativeScenariosTest() throws Exception | ||||
|     @Test(groups = { TestGroup.INTEGRATION, TestGroup.FULL }, expectedExceptions = CmisObjectNotFoundException.class, expectedExceptionsMessageRegExp = ".*Object not found:.*") | ||||
|     @TestRail(section = { TestGroup.INTEGRATION, TestGroup.CONTENT }, executionType = ExecutionType.REGRESSION, description = "Negative scenarios for update document") | ||||
|     public void fileUpdateNegativeScenariosTest() throws Exception | ||||
|         { | ||||
|             STEP("1. Create user1, user2"); | ||||
|         UserModel user1 = dataUser.createRandomTestUser(); | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-tests</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <developers> | ||||
|   | ||||
| @@ -7,9 +7,7 @@ import org.alfresco.utility.Utility; | ||||
| import org.alfresco.utility.model.FileModel; | ||||
| import org.alfresco.utility.model.FolderModel; | ||||
| import org.alfresco.utility.model.SiteModel; | ||||
|  | ||||
| import org.alfresco.utility.model.UserModel; | ||||
|  | ||||
| import org.springframework.http.HttpStatus; | ||||
| import org.testng.Assert; | ||||
| import org.testng.annotations.BeforeClass; | ||||
| @@ -40,17 +38,20 @@ public abstract class RenditionIntegrationTests extends RestTest | ||||
|         FileModel file = new FileModel(); | ||||
|         file.setNodeRef(nodeId); | ||||
|  | ||||
|         // 1. Create a rendition of the file using RESTAPI | ||||
|         // 1. Preemptively delete an existing rendition of the file using RESTAPI | ||||
|         restClient.withCoreAPI().usingNode(file).deleteNodeRendition(renditionId); | ||||
|  | ||||
|         // 2. Create a rendition of the file using RESTAPI | ||||
|         restClient.withCoreAPI().usingNode(file).createNodeRendition(renditionId); | ||||
|         Assert.assertEquals(Integer.valueOf(restClient.getStatusCode()).intValue(), HttpStatus.ACCEPTED.value(), | ||||
|                 "Failed to submit a request for rendition. [" + fileName+ ", " + renditionId+"] [source file, rendition ID]. "); | ||||
|  | ||||
|         // 2. Verify that a rendition of the file is created and has content using RESTAPI | ||||
|         // 3. Verify that a rendition of the file is created and has content using RESTAPI | ||||
|         RestResponse restResponse = restClient.withCoreAPI().usingNode(file).getNodeRenditionContentUntilIsCreated(renditionId); | ||||
|         Assert.assertEquals(Integer.valueOf(restClient.getStatusCode()).intValue(), HttpStatus.OK.value(), | ||||
|                 "Failed to produce rendition. [" + fileName+ ", " + renditionId+"] [source file, rendition ID] "); | ||||
|  | ||||
|         // 3. Check the returned content type | ||||
|         // 4. Check the returned content type | ||||
|         Assert.assertEquals(restClient.getResponseHeaders().getValue("Content-Type"), expectedMimeType+";charset=UTF-8", | ||||
|                 "Rendition was created but it has the wrong Content-Type. [" + fileName+ ", " + renditionId + "] [source file, rendition ID]"); | ||||
|  | ||||
|   | ||||
| @@ -347,13 +347,30 @@ public class GetSitesTests extends RestTest | ||||
|     public void checkPaginationWithSkipCountAndMaxItems() throws Exception | ||||
|     { | ||||
|         sites = restClient.authenticateUser(regularUser).withParams("skipCount=10&maxItems=110").withCoreAPI().getSites(); | ||||
|  | ||||
|         int expectedCount; | ||||
|         if (sites.getPagination().isHasMoreItems()) | ||||
|         { | ||||
|             expectedCount = sites.getPagination().getMaxItems(); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             if (sites.getPagination().getTotalItems() < sites.getPagination().getSkipCount()) | ||||
|             { | ||||
|                 expectedCount = 0; | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 expectedCount = sites.getPagination().getTotalItems() - sites.getPagination().getSkipCount(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         sites.getPagination().assertThat() | ||||
|                 .field("totalItems").isNotEmpty().and() | ||||
|                 .field("maxItems").is("110").and() | ||||
|                 .field("hasMoreItems").is((sites.getPagination().getTotalItems() - sites.getPagination().getSkipCount() > sites.getPagination().getMaxItems())?"true":"false").and() | ||||
|                 .field("skipCount").is("10").and() | ||||
|                 .field("count").is((sites.getPagination().isHasMoreItems()) ? sites.getPagination().getMaxItems() | ||||
|                 : sites.getPagination().getTotalItems() - sites.getPagination().getSkipCount()); | ||||
|                 .field("count").is(expectedCount); | ||||
|     } | ||||
|  | ||||
|     @Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION}) | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-tests</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <developers> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo-packaging</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <properties> | ||||
|   | ||||
							
								
								
									
										86
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										86
									
								
								pom.xml
									
									
									
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
|     <artifactId>alfresco-community-repo</artifactId> | ||||
|     <version>14.79</version> | ||||
|     <version>23.1.0.23-SNAPSHOT</version> | ||||
|     <packaging>pom</packaging> | ||||
|     <name>Alfresco Community Repo Parent</name> | ||||
|  | ||||
| @@ -23,11 +23,11 @@ | ||||
|     </modules> | ||||
|  | ||||
|     <properties> | ||||
|         <acs.version.major>7</acs.version.major> | ||||
|         <acs.version.minor>2</acs.version.minor> | ||||
|         <acs.version.major>23</acs.version.major> | ||||
|         <acs.version.minor>1</acs.version.minor> | ||||
|         <acs.version.revision>0</acs.version.revision> | ||||
|         <acs.version.label /> | ||||
|         <amp.min.version>${acs.version.major}.0.0</amp.min.version> | ||||
|         <amp.min.version>${acs.version.major}.1.0</amp.min.version> | ||||
|  | ||||
|         <version.edition>Community</version.edition> | ||||
|         <licenseName>community</licenseName> | ||||
| @@ -47,33 +47,34 @@ | ||||
|         <dependency.alfresco-trashcan-cleaner.version>2.4.1</dependency.alfresco-trashcan-cleaner.version> | ||||
|         <dependency.alfresco-jlan.version>7.1</dependency.alfresco-jlan.version> | ||||
|         <dependency.alfresco-server-root.version>6.0.1</dependency.alfresco-server-root.version> | ||||
|         <dependency.alfresco-messaging-repo.version>1.2.15</dependency.alfresco-messaging-repo.version> | ||||
|         <dependency.alfresco-messaging-repo.version>1.2.19</dependency.alfresco-messaging-repo.version> | ||||
|         <dependency.alfresco-log-sanitizer.version>0.2</dependency.alfresco-log-sanitizer.version> | ||||
|         <dependency.activiti-engine.version>5.23.0</dependency.activiti-engine.version> | ||||
|         <dependency.activiti.version>5.23.0</dependency.activiti.version> | ||||
|         <dependency.alfresco-transform-model.version>1.4.6</dependency.alfresco-transform-model.version> | ||||
|         <dependency.alfresco-transform-service.version>1.5.3</dependency.alfresco-transform-service.version> | ||||
|         <dependency.alfresco-transform-core.version>2.6.0</dependency.alfresco-transform-core.version> | ||||
|         <dependency.alfresco-greenmail.version>6.2</dependency.alfresco-greenmail.version> | ||||
|         <dependency.acs-event-model.version>0.0.13</dependency.acs-event-model.version> | ||||
|  | ||||
|         <dependency.spring.version>5.3.14</dependency.spring.version> | ||||
|         <dependency.spring.version>5.3.18</dependency.spring.version> | ||||
|         <dependency.antlr.version>3.5.2</dependency.antlr.version> | ||||
|         <dependency.jackson.version>2.13.0</dependency.jackson.version> | ||||
|         <dependency.jackson.version>2.13.1</dependency.jackson.version> | ||||
|         <dependency.jackson-databind.version>2.13.1</dependency.jackson-databind.version> | ||||
|         <dependency.cxf.version>3.5.0</dependency.cxf.version> | ||||
|         <dependency.opencmis.version>1.0.0</dependency.opencmis.version> | ||||
|         <dependency.webscripts.version>8.27</dependency.webscripts.version> | ||||
|         <dependency.webscripts.version>8.29</dependency.webscripts.version> | ||||
|         <dependency.bouncycastle.version>1.70</dependency.bouncycastle.version> | ||||
|         <dependency.mockito-core.version>3.11.2</dependency.mockito-core.version> | ||||
|         <dependency.org-json.version>20210307</dependency.org-json.version> | ||||
|         <dependency.commons-dbcp.version>1.4-DBCP330</dependency.commons-dbcp.version> | ||||
|         <dependency.org-json.version>20211205</dependency.org-json.version> | ||||
|         <dependency.commons-dbcp.version>2.9.0</dependency.commons-dbcp.version> | ||||
|         <dependency.commons-io.version>2.11.0</dependency.commons-io.version> | ||||
|         <dependency.gson.version>2.8.5</dependency.gson.version> | ||||
|         <dependency.httpclient.version>4.5.13</dependency.httpclient.version> | ||||
|         <dependency.httpcore.version>4.4.15</dependency.httpcore.version> | ||||
|         <dependency.commons-httpclient.version>3.1-HTTPCLIENT-1265</dependency.commons-httpclient.version> | ||||
|         <dependency.xercesImpl.version>2.12.1</dependency.xercesImpl.version> | ||||
|         <dependency.slf4j.version>1.7.32</dependency.slf4j.version> | ||||
|         <dependency.gytheio.version>0.12</dependency.gytheio.version> | ||||
|         <dependency.xercesImpl.version>2.12.2</dependency.xercesImpl.version> | ||||
|         <dependency.slf4j.version>1.7.35</dependency.slf4j.version> | ||||
|         <dependency.gytheio.version>0.16</dependency.gytheio.version> | ||||
|         <dependency.groovy.version>3.0.9</dependency.groovy.version> | ||||
|         <dependency.tika.version>2.2.1</dependency.tika.version> | ||||
|         <dependency.spring-security.version>5.6.1</dependency.spring-security.version> | ||||
| @@ -81,8 +82,8 @@ | ||||
|         <dependency.poi.version>4.1.2</dependency.poi.version> | ||||
|         <dependency.ooxml-schemas.version>1.4</dependency.ooxml-schemas.version> | ||||
|         <dependency.keycloak.version>15.0.2</dependency.keycloak.version> | ||||
|         <dependency.jboss.logging.version>3.4.2.Final</dependency.jboss.logging.version> | ||||
|         <dependency.camel.version>3.7.4</dependency.camel.version> | ||||
|         <dependency.jboss.logging.version>3.4.3.Final</dependency.jboss.logging.version> | ||||
|         <dependency.camel.version>3.15.0</dependency.camel.version> <!-- when bumping this version, please keep track/sync with included netty.io dependencies (can cause dependency conflicts)--> | ||||
|         <dependency.activemq.version>5.16.1</dependency.activemq.version> | ||||
|         <dependency.apache-compress.version>1.21</dependency.apache-compress.version> | ||||
|         <dependency.apache.taglibs.version>1.2.5</dependency.apache.taglibs.version> | ||||
| @@ -91,6 +92,7 @@ | ||||
|         <dependency.swagger-parser.version>1.0.56</dependency.swagger-parser.version> | ||||
|         <dependency.maven-filtering.version>3.1.1</dependency.maven-filtering.version> | ||||
|         <dependency.maven-artifact.version>3.8.4</dependency.maven-artifact.version> | ||||
|         <dependency.jdom2.version>2.0.6.1</dependency.jdom2.version> | ||||
|  | ||||
|         <dependency.jakarta-jaxb-api.version>2.3.3</dependency.jakarta-jaxb-api.version> | ||||
|         <dependency.jakarta-ws-api.version>2.3.3</dependency.jakarta-ws-api.version> | ||||
| @@ -101,23 +103,23 @@ | ||||
|         <dependency.jakarta-jws-api.version>2.1.0</dependency.jakarta-jws-api.version> | ||||
|         <dependency.jakarta-mail-api.version>1.6.5</dependency.jakarta-mail-api.version> | ||||
|         <dependency.jakarta-json-api.version>1.1.6</dependency.jakarta-json-api.version> | ||||
|         <dependency.jakarta-json-path.version>2.5.0</dependency.jakarta-json-path.version> | ||||
|         <dependency.jakarta-json-path.version>2.7.0</dependency.jakarta-json-path.version> | ||||
|         <dependency.jakarta-rpc-api.version>1.1.4</dependency.jakarta-rpc-api.version> | ||||
|  | ||||
|         <alfresco.googledrive.version>3.2.1.3</alfresco.googledrive.version> | ||||
|         <alfresco.aos-module.version>1.4.0.1</alfresco.aos-module.version> | ||||
|         <alfresco.api-explorer.version>7.1.0.1</alfresco.api-explorer.version> <!-- Also in alfresco-enterprise-share --> | ||||
|         <alfresco.aos-module.version>1.4.1</alfresco.aos-module.version>  | ||||
|         <alfresco.api-explorer.version>7.2.0</alfresco.api-explorer.version> <!-- Also in alfresco-enterprise-share --> | ||||
|  | ||||
|         <alfresco.maven-plugin.version>2.2.0</alfresco.maven-plugin.version> | ||||
|         <license-maven-plugin.version>2.0.1.alfresco-1</license-maven-plugin.version> | ||||
|         <license-maven-plugin.version>2.0.1.alfresco-2</license-maven-plugin.version> | ||||
|  | ||||
|         <dependency.postgresql.version>42.3.1</dependency.postgresql.version> | ||||
|         <dependency.postgresql.version>42.3.2</dependency.postgresql.version> | ||||
|         <dependency.mysql.version>8.0.27</dependency.mysql.version> | ||||
|         <dependency.mysql-image.version>8</dependency.mysql-image.version> | ||||
|         <dependency.mariadb.version>2.7.4</dependency.mariadb.version> | ||||
|         <dependency.tas-utility.version>3.0.47</dependency.tas-utility.version> | ||||
|         <dependency.rest-assured.version>3.3.0</dependency.rest-assured.version> | ||||
|         <dependency.tas-restapi.version>1.67</dependency.tas-restapi.version> | ||||
|         <dependency.tas-restapi.version>1.80</dependency.tas-restapi.version> | ||||
|         <dependency.tas-cmis.version>1.31</dependency.tas-cmis.version> | ||||
|         <dependency.tas-email.version>1.8</dependency.tas-email.version> | ||||
|         <dependency.tas-webdav.version>1.6</dependency.tas-webdav.version> | ||||
| @@ -145,7 +147,7 @@ | ||||
|         <connection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</connection> | ||||
|         <developerConnection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</developerConnection> | ||||
|         <url>https://github.com/Alfresco/alfresco-community-repo</url> | ||||
|         <tag>14.79</tag> | ||||
|         <tag>HEAD</tag> | ||||
|     </scm> | ||||
|  | ||||
|     <distributionManagement> | ||||
| @@ -562,6 +564,12 @@ | ||||
|                 <groupId>org.alfresco</groupId> | ||||
|                 <artifactId>alfresco-log-sanitizer</artifactId> | ||||
|                 <version>${dependency.alfresco-log-sanitizer.version}</version> | ||||
|                 <exclusions> | ||||
|                     <exclusion> | ||||
|                         <groupId>log4j</groupId> | ||||
|                         <artifactId>log4j</artifactId> | ||||
|                     </exclusion> | ||||
|                 </exclusions> | ||||
|             </dependency> | ||||
|             <dependency> | ||||
|                 <groupId>org.alfresco.aos-module</groupId> | ||||
| @@ -605,7 +613,7 @@ | ||||
|             </dependency> | ||||
|             <dependency> | ||||
|                 <groupId>org.slf4j</groupId> | ||||
|                 <artifactId>slf4j-log4j12</artifactId> | ||||
|                 <artifactId>slf4j-reload4j</artifactId> | ||||
|                 <version>${dependency.slf4j.version}</version> | ||||
|             </dependency> | ||||
|             <dependency> | ||||
| @@ -630,7 +638,7 @@ | ||||
|             <dependency> | ||||
|                 <groupId>com.github.junrar</groupId> | ||||
|                 <artifactId>junrar</artifactId> | ||||
|                 <version>7.4.0</version> | ||||
|                 <version>7.4.1</version> | ||||
|             </dependency> | ||||
|             <dependency> | ||||
|                 <groupId>com.github.fge</groupId> | ||||
| @@ -654,6 +662,12 @@ | ||||
|                 <artifactId>commons-csv</artifactId> | ||||
|                 <version>1.9.0</version> | ||||
|             </dependency> | ||||
|             <!-- upgrade dependency from TIKA --> | ||||
|             <dependency> | ||||
|                 <groupId>org.jdom</groupId> | ||||
|                 <artifactId>jdom2</artifactId> | ||||
|                 <version>${dependency.jdom2.version}</version> | ||||
|             </dependency> | ||||
|  | ||||
|             <dependency> | ||||
|                 <groupId>org.postgresql</groupId> | ||||
| @@ -742,8 +756,8 @@ | ||||
|                 <version>${dependency.mockito-core.version}</version> | ||||
|             </dependency> | ||||
|             <dependency> | ||||
|                 <groupId>commons-dbcp</groupId> | ||||
|                 <artifactId>commons-dbcp</artifactId> | ||||
|                 <groupId>org.apache.commons</groupId> | ||||
|                 <artifactId>commons-dbcp2</artifactId> | ||||
|                 <version>${dependency.commons-dbcp.version}</version> | ||||
|             </dependency> | ||||
|             <dependency> | ||||
| @@ -753,7 +767,12 @@ | ||||
|             </dependency> | ||||
|             <dependency> | ||||
|                 <groupId>org.apache.camel</groupId> | ||||
|                 <artifactId>camel-spring</artifactId> | ||||
|                 <artifactId>camel-core</artifactId> | ||||
|                 <version>${dependency.camel.version}</version> | ||||
|             </dependency> | ||||
|             <dependency> | ||||
|                 <groupId>org.apache.camel</groupId> | ||||
|                 <artifactId>camel-spring-xml</artifactId> | ||||
|                 <version>${dependency.camel.version}</version> | ||||
|                 <exclusions> | ||||
|                     <exclusion> | ||||
| @@ -783,6 +802,7 @@ | ||||
|                 </exclusions> | ||||
|             </dependency> | ||||
|             <dependency> | ||||
|                 <!--  If you are going to bump dependency.camel.version, please check if the netty-codec-http has higher version that the one above.--> | ||||
|                 <groupId>org.apache.camel</groupId> | ||||
|                 <artifactId>camel-amqp</artifactId> | ||||
|                 <version>${dependency.camel.version}</version> | ||||
| @@ -837,7 +857,7 @@ | ||||
|             <dependency> | ||||
|                 <groupId>org.reflections</groupId> | ||||
|                 <artifactId>reflections</artifactId> | ||||
|                 <version>0.9.12</version> | ||||
|                 <version>0.10.2</version> | ||||
|             </dependency> | ||||
|             <!-- swagger parser --> | ||||
|             <dependency> | ||||
| @@ -868,7 +888,7 @@ | ||||
|                 <plugin> | ||||
|                     <groupId>io.fabric8</groupId> | ||||
|                     <artifactId>docker-maven-plugin</artifactId> | ||||
|                     <version>0.38.0</version> | ||||
|                     <version>0.39.1</version> | ||||
|                 </plugin> | ||||
|                 <plugin> | ||||
|                     <artifactId>maven-surefire-plugin</artifactId> | ||||
| @@ -880,7 +900,7 @@ | ||||
|                 </plugin> | ||||
|                 <plugin> | ||||
|                     <artifactId>maven-jar-plugin</artifactId> | ||||
|                     <version>3.2.1</version> | ||||
|                     <version>3.2.2</version> | ||||
|                 </plugin> | ||||
|                 <plugin> | ||||
|                     <artifactId>maven-war-plugin</artifactId> | ||||
| @@ -925,8 +945,8 @@ | ||||
|                             <configuration> | ||||
|                                 <failOnMissing>true</failOnMissing> | ||||
|                                 <excludedScopes>provided,test</excludedScopes> | ||||
|                                 <excludedGroups>^(org\.alfresco|com\.alfresco|org\.activiti).*</excludedGroups> | ||||
|                                 <failIfWarning>false</failIfWarning> | ||||
|                                 <excludedGroups>^(org\.alfresco|com\.alfresco|org\.activiti|org\.gytheio).*</excludedGroups> | ||||
|                                 <failIfWarning>true</failIfWarning> | ||||
|                                 <includedLicenses> | ||||
|                                     https://raw.githubusercontent.com/Alfresco/third-party-license-overrides/master/includedLicenses.txt | ||||
|                                 </includedLicenses> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|     <parent> | ||||
|         <groupId>org.alfresco</groupId> | ||||
|         <artifactId>alfresco-community-repo</artifactId> | ||||
|         <version>14.79</version> | ||||
|         <version>23.1.0.23-SNAPSHOT</version> | ||||
|     </parent> | ||||
|  | ||||
|     <dependencies> | ||||
|   | ||||
| @@ -47,6 +47,7 @@ import org.alfresco.repo.transaction.RetryingTransactionHelper; | ||||
| import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; | ||||
| import org.alfresco.repo.transaction.TooBusyException; | ||||
| import org.alfresco.repo.web.scripts.bean.LoginPost; | ||||
| import org.alfresco.service.cmr.repository.ArchivedIOException; | ||||
| import org.alfresco.service.cmr.repository.NodeRef; | ||||
| import org.alfresco.service.cmr.repository.TemplateService; | ||||
| import org.alfresco.service.cmr.security.AuthorityService; | ||||
| @@ -506,6 +507,10 @@ public class RepositoryContainer extends AbstractRuntimeContainer | ||||
|                 return; | ||||
|             } | ||||
|         } | ||||
|         catch (ArchivedIOException e) // handle ArchivedIOException to lower log pollution | ||||
|         { | ||||
|             handleArchivedIOException(e); | ||||
|         } | ||||
|         catch (IOException e) | ||||
|         { | ||||
|             handleIOException(e); | ||||
| @@ -606,6 +611,10 @@ public class RepositoryContainer extends AbstractRuntimeContainer | ||||
|                 // Map TooBusyException to a 503 status code | ||||
|                 throw new WebScriptException(HttpServletResponse.SC_SERVICE_UNAVAILABLE, e.getMessage(), e); | ||||
|             } | ||||
|             catch (ArchivedIOException e) // handle ArchivedIOException to lower log pollution | ||||
|             { | ||||
|                 handleArchivedIOException(e); | ||||
|             } | ||||
|  | ||||
|             // Ensure a response is always flushed after successful execution | ||||
|             if (bufferedRes != null) | ||||
| @@ -615,6 +624,19 @@ public class RepositoryContainer extends AbstractRuntimeContainer | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private void handleArchivedIOException(ArchivedIOException e) | ||||
|     { | ||||
|         if (logger.isDebugEnabled()) // log with stack trace at debug level | ||||
|         { | ||||
|             logger.debug("ArchivedIOException error ", e); | ||||
|         } | ||||
|         else if (logger.isInfoEnabled()) // log without stack trace at info level | ||||
|         { | ||||
|             logger.info("ArchivedIOException error. Message: " + e.getMessage()); | ||||
|         } | ||||
|         throw new WebScriptException(HttpServletResponse.SC_PRECONDITION_FAILED, "Content is archived and not accessible."); | ||||
|     } | ||||
|  | ||||
|     private static void handleIOException(final IOException ioe) throws IOException | ||||
|     { | ||||
|         Throwable socketException = ExceptionStackUtil.getCause(ioe, SocketException.class); | ||||
|   | ||||
| @@ -30,49 +30,37 @@ import org.alfresco.rest.api.model.ArchiveContentRequest; | ||||
| import org.alfresco.rest.api.model.ContentStorageInfo; | ||||
| import org.alfresco.rest.api.model.RestoreArchivedContentRequest; | ||||
| import org.alfresco.rest.framework.resource.parameters.Parameters; | ||||
| import org.alfresco.service.Experimental; | ||||
| import org.alfresco.service.cmr.repository.NodeRef; | ||||
|  | ||||
| /** | ||||
|  * Storage information for content API. | ||||
|  * Note: Currently marked as experimental and subject to change. | ||||
|  * | ||||
|  * @author mpichura | ||||
|  */ | ||||
| @Experimental | ||||
| public interface ContentStorageInformation | ||||
| { | ||||
|     /** | ||||
|      * Note: Currently marked as experimental and subject to change. | ||||
|      * | ||||
|      * @param nodeRef         Node reference | ||||
|      * @param contentPropName Qualified name of content property (e.g. 'cm_content') | ||||
|      * @param parameters      {@link Parameters} object to get the parameters passed into the request | ||||
|      * @return {@link ContentStorageInfo} object consisting of qualified name of content property and a map of storage properties | ||||
|      */ | ||||
|     @Experimental | ||||
|     ContentStorageInfo getStorageInfo(NodeRef nodeRef, String contentPropName, Parameters parameters); | ||||
|  | ||||
|     /** | ||||
|      * Note: Currently marked as experimental and subject to change. | ||||
|      * | ||||
|      * @param nodeRef               Node reference | ||||
|      * @param contentPropName       Qualified name of content property (e.g. 'cm_content') | ||||
|      * @param archiveContentRequest {@link ArchiveContentRequest} object holding parameters for archive content request | ||||
|      * @return true when request successful, false when unsuccessful | ||||
|      */ | ||||
|     @Experimental | ||||
|     boolean requestArchiveContent(NodeRef nodeRef, String contentPropName, ArchiveContentRequest archiveContentRequest); | ||||
|  | ||||
|     /** | ||||
|      * Note: Currently marked as experimental and subject to change. | ||||
|      * | ||||
|      * @param nodeRef                       Node reference | ||||
|      * @param contentPropName               Qualified name of content property (e.g. 'cm_content') | ||||
|      * @param restoreArchivedContentRequest {@link RestoreArchivedContentRequest} object holding parameters for restore from archive request | ||||
|      * @return true when request successful, false when unsuccessful | ||||
|      */ | ||||
|     @Experimental | ||||
|     boolean requestRestoreContentFromArchive(NodeRef nodeRef, String contentPropName, | ||||
|                                              RestoreArchivedContentRequest restoreArchivedContentRequest); | ||||
| } | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Remote API | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2021 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -147,6 +147,25 @@ public interface Renditions | ||||
|     void createRenditions(NodeRef nodeRef, String versionId, List<Rendition> renditions, Parameters parameters) | ||||
|             throws NotFoundException, ConstraintViolatedException; | ||||
|  | ||||
|     /** | ||||
|      * Delete the rendition node. | ||||
|      * | ||||
|      * @param nodeRef       the source nodeRef, ie. live node | ||||
|      * @param renditionId   the rendition id | ||||
|      * @param parameters    the {@link Parameters} object to get the parameters passed into the request | ||||
|      */ | ||||
|     void deleteRendition(NodeRef nodeRef, String renditionId, Parameters parameters); | ||||
|  | ||||
|     /** | ||||
|      * Delete the rendition node. | ||||
|      * | ||||
|      * @param nodeRef       the source nodeRef, ie. live node | ||||
|      * @param versionId     the version id (aka version label) | ||||
|      * @param renditionId   the rendition id | ||||
|      * @param parameters    the {@link Parameters} object to get the parameters passed into the request | ||||
|      */ | ||||
|     void deleteRendition(NodeRef nodeRef, String versionId, String renditionId, Parameters parameters); | ||||
|  | ||||
|     /** | ||||
|      * Downloads rendition. | ||||
|      * | ||||
|   | ||||
| @@ -33,7 +33,6 @@ import org.alfresco.rest.api.model.ContentStorageInfo; | ||||
| import org.alfresco.rest.api.model.RestoreArchivedContentRequest; | ||||
| import org.alfresco.rest.framework.core.exceptions.RestoreInProgressException; | ||||
| import org.alfresco.rest.framework.resource.parameters.Parameters; | ||||
| import org.alfresco.service.Experimental; | ||||
| import org.alfresco.service.cmr.repository.ContentService; | ||||
| import org.alfresco.service.cmr.repository.NodeRef; | ||||
| import org.alfresco.service.namespace.NamespaceService; | ||||
| @@ -45,11 +44,9 @@ import java.util.Map; | ||||
|  | ||||
| /** | ||||
|  * Default implementation for {@link ContentStorageInformation} | ||||
|  * Note: Currently marked as experimental and subject to change. | ||||
|  * | ||||
|  * @author mpichura | ||||
|  */ | ||||
| @Experimental | ||||
| public class ContentStorageInformationImpl implements ContentStorageInformation | ||||
| { | ||||
|  | ||||
| @@ -68,7 +65,6 @@ public class ContentStorageInformationImpl implements ContentStorageInformation | ||||
|      * {@inheritDoc} | ||||
|      */ | ||||
|     @Override | ||||
|     @Experimental | ||||
|     public ContentStorageInfo getStorageInfo(NodeRef nodeRef, String contentPropName, Parameters parameters) | ||||
|     { | ||||
|         final QName propQName = getQName(contentPropName); | ||||
|   | ||||
| @@ -38,7 +38,6 @@ import org.alfresco.rest.api.Nodes; | ||||
| import org.alfresco.rest.api.model.Download; | ||||
| import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException; | ||||
| import org.alfresco.rest.framework.core.exceptions.PermissionDeniedException; | ||||
| import org.alfresco.service.Experimental; | ||||
| import org.alfresco.service.cmr.download.DownloadService; | ||||
| import org.alfresco.service.cmr.download.DownloadStatus; | ||||
| import org.alfresco.service.cmr.module.ModuleService; | ||||
| @@ -214,7 +213,6 @@ public class DownloadsImpl implements Downloads | ||||
|      * @param checkLimit The maximum number of nodes to check, set to -1 for no limit | ||||
|      * @see #checkArchiveStatus(NodeRef[], int, Set) | ||||
|      */ | ||||
|     @Experimental | ||||
|     protected void checkArchiveStatus(NodeRef[] nodeRefs, int checkLimit) | ||||
|     { | ||||
|         if (canCheckArchived())  | ||||
| @@ -234,7 +232,6 @@ public class DownloadsImpl implements Downloads | ||||
|      * @param checkLimit The maximum number of nodes to check, set to -1 for no limit | ||||
|      * @param cache Tracks nodes that we have already checked, if null an empty cache will be created | ||||
|      */ | ||||
|     @Experimental | ||||
|     private void checkArchiveStatus(NodeRef[] nodeRefs, int checkLimit, Set<NodeRef> cache) | ||||
|     { | ||||
|         // Create the cache for recursive calls. | ||||
| @@ -291,7 +288,6 @@ public class DownloadsImpl implements Downloads | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Experimental | ||||
|     protected boolean canCheckArchived() | ||||
|     { | ||||
|         return Arrays.stream(CLOUD_CONNECTOR_MODULES).anyMatch(m-> moduleService.getModule(m) != null); | ||||
|   | ||||
| @@ -3135,23 +3135,15 @@ public class NodesImpl implements Nodes | ||||
|  | ||||
|         if ((versionMajor != null) || (versionComment != null)) | ||||
|         { | ||||
|             behaviourFilter.disableBehaviour(nodeRef, ContentModel.ASPECT_VERSIONABLE); | ||||
|             try | ||||
|             // by default, first version is major, unless specified otherwise | ||||
|             VersionType versionType = VersionType.MAJOR; | ||||
|             if ((versionMajor != null) && (!versionMajor)) | ||||
|             { | ||||
|                 // by default, first version is major, unless specified otherwise | ||||
|                 VersionType versionType = VersionType.MAJOR; | ||||
|                 if ((versionMajor != null) && (!versionMajor)) | ||||
|                 { | ||||
|                     versionType = VersionType.MINOR; | ||||
|                 } | ||||
|  | ||||
|                 createVersion(nodeRef, false, versionType, versionComment); | ||||
|  | ||||
|                 extractMetadata(nodeRef); | ||||
|             } finally | ||||
|             { | ||||
|                 behaviourFilter.enableBehaviour(nodeRef, ContentModel.ASPECT_VERSIONABLE); | ||||
|                 versionType = VersionType.MINOR; | ||||
|             } | ||||
|  | ||||
|             createVersion(nodeRef, false, versionType, versionComment); | ||||
|             extractMetadata(nodeRef); | ||||
|         } | ||||
|  | ||||
|         return nodeRef; | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Remote API | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2021 Alfresco Software LimitedP | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software LimitedP | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -444,6 +444,31 @@ public class RenditionsImpl implements Renditions, ResourceLoaderAware | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void deleteRendition(NodeRef nodeRef, String renditionId, Parameters parameters) | ||||
|     { | ||||
|         deleteRendition(nodeRef, null, renditionId, parameters); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void deleteRendition(NodeRef nodeRef, String versionId, String renditionId, Parameters parameters) | ||||
|     { | ||||
|         if (!renditionService2.isEnabled()) | ||||
|         { | ||||
|             throw new DisabledServiceException("Rendition generation has been disabled."); | ||||
|         } | ||||
|  | ||||
|         final NodeRef validatedNodeRef = validateNode(nodeRef.getStoreRef(), nodeRef.getId(), versionId, parameters); | ||||
|         NodeRef renditionNodeRef = getRenditionByName(validatedNodeRef, renditionId, parameters); | ||||
|  | ||||
|         if (renditionNodeRef == null) | ||||
|         { | ||||
|             throw new NotFoundException(renditionId + " is not registered."); | ||||
|         } | ||||
|  | ||||
|         renditionService2.clearRenditionContentDataInTransaction(renditionNodeRef); | ||||
|     } | ||||
|  | ||||
|     private String getName(Rendition rendition) | ||||
|     { | ||||
|         String renditionName = rendition.getId(); | ||||
|   | ||||
| @@ -26,19 +26,15 @@ | ||||
|  | ||||
| package org.alfresco.rest.api.model; | ||||
|  | ||||
| import org.alfresco.service.Experimental; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| /** | ||||
|  * Request for content archive. | ||||
|  * Marked as experimental and subject to change. | ||||
|  * | ||||
|  * @author mpichura | ||||
|  */ | ||||
| @Experimental | ||||
| public class ArchiveContentRequest | ||||
| { | ||||
|     /** | ||||
|   | ||||
| @@ -26,15 +26,11 @@ | ||||
|  | ||||
| package org.alfresco.rest.api.model; | ||||
|  | ||||
| import org.alfresco.service.Experimental; | ||||
|  | ||||
| /** | ||||
|  * Request for restore content from archive. | ||||
|  * Marked as experimental and subject to change. | ||||
|  * | ||||
|  * @author mpichura | ||||
|  */ | ||||
| @Experimental | ||||
| public class RestoreArchivedContentRequest | ||||
| { | ||||
|     /** | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Remote API | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2021 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -65,6 +65,7 @@ public class NodeRenditionsRelation implements RelationshipResourceAction.Read<R | ||||
|         RelationshipResourceAction.ReadById<Rendition>, | ||||
|         RelationshipResourceAction.Create<Rendition>, | ||||
|         RelationshipResourceBinaryAction.Read, | ||||
|         RelationshipResourceAction.Delete, | ||||
|         InitializingBean | ||||
| { | ||||
|  | ||||
| @@ -110,6 +111,14 @@ public class NodeRenditionsRelation implements RelationshipResourceAction.Read<R | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     @WebApiDescription(title = "Delete rendition") | ||||
|     @Override | ||||
|     public void delete(String nodeId, String renditionId, Parameters parameters) | ||||
|     { | ||||
|         NodeRef nodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, nodeId); | ||||
|         renditions.deleteRendition(nodeRef, renditionId, parameters); | ||||
|     } | ||||
|  | ||||
|     @WebApiDescription(title = "Download rendition", description = "Download rendition") | ||||
|     @BinaryProperties({ "content" }) | ||||
|     @Override | ||||
|   | ||||
| @@ -39,7 +39,6 @@ import org.alfresco.rest.framework.resource.RelationshipResource; | ||||
| import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction; | ||||
| import org.alfresco.rest.framework.resource.parameters.Parameters; | ||||
| import org.alfresco.rest.framework.webscripts.WithResponse; | ||||
| import org.alfresco.service.Experimental; | ||||
| import org.alfresco.service.cmr.repository.NodeRef; | ||||
| import org.alfresco.service.cmr.repository.StoreRef; | ||||
| import org.alfresco.util.PropertyCheck; | ||||
| @@ -49,11 +48,9 @@ import javax.servlet.http.HttpServletResponse; | ||||
|  | ||||
| /** | ||||
|  * Node storage information. | ||||
|  * Note: Currently marked as experimental and subject to change. | ||||
|  * | ||||
|  * @author mpichura | ||||
|  */ | ||||
| @Experimental | ||||
| @RelationshipResource(name = "storage-info", entityResource = NodesEntityResource.class, title = "Node's content storage information") | ||||
| public class NodeStorageInfoRelation implements RelationshipResourceAction.ReadById<ContentStorageInfo>, InitializingBean | ||||
| { | ||||
| @@ -82,7 +79,6 @@ public class NodeStorageInfoRelation implements RelationshipResourceAction.ReadB | ||||
|         return storageInformation.getStorageInfo(nodeRef, contentPropName, parameters); | ||||
|     } | ||||
|  | ||||
|     @Experimental | ||||
|     @Operation("archive") | ||||
|     @WebApiParam(name = "archiveContentRequest", title = "Request for archive content", | ||||
|             description = "Optional parameters for archive content", kind = ResourceParameter.KIND.HTTP_BODY_OBJECT) | ||||
| @@ -103,7 +99,6 @@ public class NodeStorageInfoRelation implements RelationshipResourceAction.ReadB | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Experimental | ||||
|     @Operation("archive-restore") | ||||
|     @WebApiParam(name = "restoreArchivedContentRequest", title = "Request for restore content from archive", | ||||
|             description = "Optional parameters for restore content from archive", kind = ResourceParameter.KIND.HTTP_BODY_OBJECT) | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Remote API | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2021 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -26,18 +26,28 @@ | ||||
|  | ||||
| package org.alfresco.rest.api.nodes; | ||||
|  | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| import java.util.List; | ||||
|  | ||||
| import org.alfresco.repo.content.directurl.DirectAccessUrlDisabledException; | ||||
| import org.alfresco.rest.api.DirectAccessUrlHelper; | ||||
| import org.alfresco.rest.api.Renditions; | ||||
| import org.alfresco.rest.api.model.DirectAccessUrlRequest; | ||||
| import org.alfresco.rest.api.model.Rendition; | ||||
| import org.alfresco.rest.framework.BinaryProperties; | ||||
| import org.alfresco.rest.framework.Operation; | ||||
| import org.alfresco.rest.framework.WebApiDescription; | ||||
| import org.alfresco.rest.framework.WebApiParam; | ||||
| import org.alfresco.rest.framework.core.ResourceParameter; | ||||
| import org.alfresco.rest.framework.core.exceptions.DisabledServiceException; | ||||
| import org.alfresco.rest.framework.resource.RelationshipResource; | ||||
| import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction; | ||||
| import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceBinaryAction; | ||||
| import org.alfresco.rest.framework.resource.content.BinaryResource; | ||||
| import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo; | ||||
| import org.alfresco.rest.framework.resource.parameters.Parameters; | ||||
| import org.alfresco.rest.framework.webscripts.WithResponse; | ||||
| import org.alfresco.service.cmr.repository.DirectAccessUrl; | ||||
| import org.alfresco.service.cmr.repository.NodeRef; | ||||
| import org.alfresco.service.cmr.repository.StoreRef; | ||||
| import org.alfresco.util.PropertyCheck; | ||||
| @@ -48,10 +58,12 @@ import org.springframework.extensions.webscripts.Status; | ||||
|  * | ||||
|  * Node version renditions | ||||
|  * | ||||
|  * - GET  /nodes/{nodeId}/versions/{versionId}/renditions | ||||
|  * - POST /nodes/{nodeId}/versions/{versionId}/renditions | ||||
|  * - GET  /nodes/{nodeId}/versions/{versionId}/renditions/{renditionId} | ||||
|  * - GET  /nodes/{nodeId}/versions/{versionId}/renditions/{renditionId}/content | ||||
|  * - GET    /nodes/{nodeId}/versions/{versionId}/renditions | ||||
|  * - POST   /nodes/{nodeId}/versions/{versionId}/renditions | ||||
|  * - GET    /nodes/{nodeId}/versions/{versionId}/renditions/{renditionId} | ||||
|  * - DELETE /nodes/{nodeId}/versions/{versionId}/renditions/{renditionId} | ||||
|  * - GET    /nodes/{nodeId}/versions/{versionId}/renditions/{renditionId}/content | ||||
|  * - POST   /nodes/{nodeId}/versions/{versionId}/renditions/{renditionId}/request-direct-access-url | ||||
|  * | ||||
|  * @author janv | ||||
|  */ | ||||
| @@ -59,16 +71,23 @@ import org.springframework.extensions.webscripts.Status; | ||||
| public class NodeVersionRenditionsRelation implements RelationshipResourceAction.Read<Rendition>, | ||||
|         RelationshipResourceAction.ReadById<Rendition>, | ||||
|         RelationshipResourceAction.Create<Rendition>, | ||||
|         RelationshipResourceAction.Delete, | ||||
|         RelationshipResourceBinaryAction.Read, | ||||
|         InitializingBean | ||||
| { | ||||
|     private Renditions renditions; | ||||
|     private DirectAccessUrlHelper directAccessUrlHelper; | ||||
|  | ||||
|     public void setRenditions(Renditions renditions) | ||||
|     { | ||||
|         this.renditions = renditions; | ||||
|     } | ||||
|  | ||||
|     public void setDirectAccessUrlHelper(DirectAccessUrlHelper directAccessUrlHelper) | ||||
|     { | ||||
|         this.directAccessUrlHelper = directAccessUrlHelper; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void afterPropertiesSet() throws Exception | ||||
|     { | ||||
| @@ -115,4 +134,43 @@ public class NodeVersionRenditionsRelation implements RelationshipResourceAction | ||||
|         return renditions.getContent(nodeRef, versionId, renditionId, parameters); | ||||
|     } | ||||
|  | ||||
|     @Operation ("request-direct-access-url") | ||||
|     @WebApiParam (name = "directAccessUrlRequest", | ||||
|                   title = "Request direct access url", | ||||
|                   description = "Options for direct access url request", | ||||
|                   kind = ResourceParameter.KIND.HTTP_BODY_OBJECT) | ||||
|     @WebApiDescription(title = "Request content url", | ||||
|                        description="Generates a direct access URL.", | ||||
|                        successStatus = HttpServletResponse.SC_OK) | ||||
|     public DirectAccessUrl requestContentDirectUrl(String nodeId, | ||||
|                                                    String versionId, | ||||
|                                                    DirectAccessUrlRequest directAccessUrlRequest, | ||||
|                                                    Parameters parameters, WithResponse withResponse) | ||||
|     { | ||||
|         boolean attachment = directAccessUrlHelper.getAttachment(directAccessUrlRequest); | ||||
|         Long validFor = directAccessUrlHelper.getDefaultExpiryTimeInSec(); | ||||
|         NodeRef nodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, nodeId); | ||||
|         String renditionId = parameters.getRelationship2Id(); | ||||
|  | ||||
|         DirectAccessUrl directAccessUrl; | ||||
|         try | ||||
|         { | ||||
|             directAccessUrl = renditions.requestContentDirectUrl(nodeRef, versionId, renditionId, attachment, validFor); | ||||
|         } | ||||
|         catch (DirectAccessUrlDisabledException ex) | ||||
|         { | ||||
|             throw new DisabledServiceException(ex.getMessage()); | ||||
|         } | ||||
|         return directAccessUrl; | ||||
|     } | ||||
|  | ||||
|     @WebApiDescription(title = "Delete rendition") | ||||
|     @Override | ||||
|     public void delete(String nodeId, String versionId, Parameters parameters) | ||||
|     { | ||||
|         String renditionId = parameters.getRelationship2Id(); | ||||
|  | ||||
|         NodeRef nodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, nodeId); | ||||
|         renditions.deleteRendition(nodeRef, versionId, renditionId, parameters); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -40,7 +40,6 @@ import org.alfresco.rest.framework.resource.RelationshipResource; | ||||
| import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction; | ||||
| import org.alfresco.rest.framework.resource.parameters.Parameters; | ||||
| import org.alfresco.rest.framework.webscripts.WithResponse; | ||||
| import org.alfresco.service.Experimental; | ||||
| import org.alfresco.service.cmr.repository.NodeRef; | ||||
| import org.alfresco.service.cmr.version.Version; | ||||
| import org.alfresco.util.PropertyCheck; | ||||
| @@ -53,11 +52,8 @@ import javax.servlet.http.HttpServletResponse; | ||||
|  * | ||||
|  *  - GET  /nodes/{nodeId}/versions/{versionId}/storage-info/{contentPropQNameId} | ||||
|  * | ||||
|  * Note: Currently marked as experimental and subject to change. | ||||
|  * | ||||
|  * @author janv | ||||
|  */ | ||||
| @Experimental | ||||
| @RelationshipResource(name = "storage-info", entityResource = NodeVersionsRelation.class, title = "Node Version's content storage information") | ||||
| public class NodeVersionsStorageInfoRelation implements RelationshipResourceAction.ReadById<ContentStorageInfo>, InitializingBean | ||||
| { | ||||
| @@ -91,7 +87,6 @@ public class NodeVersionsStorageInfoRelation implements RelationshipResourceActi | ||||
|         return storageInformation.getStorageInfo(versionNodeRef, contentPropQNameId, parameters); | ||||
|     } | ||||
|  | ||||
|     @Experimental | ||||
|     @Operation("archive") | ||||
|     @WebApiParam(name = "archiveContentRequest", title = "Request for archive version content", | ||||
|             description = "Optional parameters for archive version content", kind = ResourceParameter.KIND.HTTP_BODY_OBJECT) | ||||
| @@ -116,7 +111,6 @@ public class NodeVersionsStorageInfoRelation implements RelationshipResourceActi | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Experimental | ||||
|     @Operation("archive-restore") | ||||
|     @WebApiParam(name = "restoreArchivedContentRequest", title = "Request for restore version content from archive", | ||||
|             description = "Optional parameters for restore version content from archive", kind = ResourceParameter.KIND.HTTP_BODY_OBJECT) | ||||
|   | ||||
| @@ -25,15 +25,12 @@ | ||||
|  */ | ||||
| package org.alfresco.rest.framework.core.exceptions; | ||||
|  | ||||
| import org.alfresco.service.Experimental; | ||||
|  | ||||
| /** | ||||
|  * Thrown when the content is archived and not readily accessible. | ||||
|  * Status is <i>Precondition Failed</i> client error = 412. | ||||
|  * | ||||
|  * @author David Edwards | ||||
|  */ | ||||
| @Experimental | ||||
| public class ArchivedContentException  extends  ApiException | ||||
| { | ||||
|  | ||||
|   | ||||
| @@ -25,9 +25,6 @@ | ||||
|  */ | ||||
| package org.alfresco.rest.framework.core.exceptions; | ||||
|  | ||||
| import org.alfresco.service.Experimental; | ||||
|  | ||||
| @Experimental | ||||
| public class RestoreInProgressException extends  ApiException | ||||
| { | ||||
|     public static String DEFAULT_MESSAGE_ID = "framework.exception.RestoreInProgress"; | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Remote API | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2020 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -188,6 +188,8 @@ public class Params implements Parameters | ||||
|         builder.append(this.entityId); | ||||
|         builder.append(", relationshipId="); | ||||
|         builder.append(this.relationshipId); | ||||
|         builder.append(", relationship2Id="); | ||||
|         builder.append(this.relationship2Id); | ||||
|         builder.append(", passedIn="); | ||||
|         builder.append(this.passedIn); | ||||
|         builder.append(", paging="); | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Remote API | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2020 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -68,6 +68,7 @@ public class ResourceWebScriptDelete extends AbstractResourceWebScript implement | ||||
|         final Map<String, String> resourceVars = locator.parseTemplateVars(req.getServiceMatch().getTemplateVars()); | ||||
|         final String entityId = resourceVars.get(ResourceLocator.ENTITY_ID); | ||||
|         final String relationshipId = resourceVars.get(ResourceLocator.RELATIONSHIP_ID); | ||||
|         final String relationship2Id = resourceVars.get(ResourceLocator.RELATIONSHIP2_ID); | ||||
|  | ||||
|         final Params.RecognizedParams params = getRecognizedParams(req); | ||||
|          | ||||
| @@ -78,7 +79,15 @@ public class ResourceWebScriptDelete extends AbstractResourceWebScript implement | ||||
|                  return Params.valueOf(params, entityId, relationshipId, req); | ||||
|             case RELATIONSHIP: | ||||
|                 // note: relationshipId can be null - when deleting a related set/collection | ||||
|                 return Params.valueOf(params, entityId, relationshipId, req); | ||||
|                 if (StringUtils.isNotBlank(relationship2Id)) | ||||
|                 { | ||||
|                     return Params.valueOf(false, entityId, relationshipId, relationship2Id, | ||||
|                             null, null, null, params, null, req); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     return Params.valueOf(params, entityId, relationshipId, req); | ||||
|                 } | ||||
|             case PROPERTY: | ||||
|                 final String resourceName = resourceVars.get(ResourceLocator.RELATIONSHIP_RESOURCE); | ||||
|                 final String propertyName = resourceVars.get(ResourceLocator.PROPERTY); | ||||
|   | ||||
| @@ -85,8 +85,7 @@ public class AlfrescoX509ServletFilter extends X509ServletFilterBase | ||||
|                 throw new AlfrescoRuntimeException("Missing value for sharedSecretHeader"); | ||||
|             } | ||||
|         } | ||||
|         /* | ||||
|         // TODO: Activate this part after OPSEXP-1163 got implemented | ||||
|  | ||||
|         if(secureComms == SecureCommsType.NONE) | ||||
|         { | ||||
|             if(!"true".equalsIgnoreCase(config.getInitParameter("allow-unauthenticated-solr-endpoint"))) | ||||
| @@ -94,7 +93,7 @@ public class AlfrescoX509ServletFilter extends X509ServletFilterBase | ||||
|                 throw new AlfrescoRuntimeException("solr.secureComms=none is no longer supported. Please use https or secret"); | ||||
|             } | ||||
|         } | ||||
|         */ | ||||
|  | ||||
|         super.init(config); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -1452,6 +1452,7 @@ | ||||
|  | ||||
|     <bean class="org.alfresco.rest.api.nodes.NodeVersionRenditionsRelation"> | ||||
|         <property name="renditions" ref="Renditions" /> | ||||
|         <property name="directAccessUrlHelper" ref="directAccessUrlHelper" /> | ||||
|     </bean> | ||||
|  | ||||
|     <bean class="org.alfresco.rest.api.quicksharelinks.QuickShareLinkRenditionsRelation"> | ||||
|   | ||||
| @@ -357,12 +357,13 @@ function main() | ||||
|          updateNode.properties.content.write(content, updateNameAndMimetype, true, newFilename); | ||||
|          // check it in again, with supplied version history note | ||||
|           | ||||
|          updateNode = updateNode.checkin(description, majorVersion); | ||||
|  | ||||
|          // Extract the metadata | ||||
|          // (The overwrite policy controls which if any parts of | ||||
|          //  the document's properties are updated from this) | ||||
|          extractMetadata(updateNode); | ||||
|  | ||||
|          updateNode = updateNode.checkin(description, majorVersion); | ||||
|          if (aspects.length != 0) | ||||
|          { | ||||
|             for (i = 0; i < aspects.length; i++) | ||||
|   | ||||
| @@ -51,8 +51,11 @@ import org.junit.runners.Suite; | ||||
|     org.alfresco.rest.api.tests.GroupsTest.class, | ||||
|     org.alfresco.rest.api.tests.ModulePackagesApiTest.class, | ||||
|     org.alfresco.rest.api.tests.NodeApiTest.class, | ||||
|     org.alfresco.rest.api.tests.NodeApiVersioningMultipartParameterizedTest.class, | ||||
|     org.alfresco.rest.api.tests.NodeApiVersioningJsonParameterizedTest.class, | ||||
|     org.alfresco.rest.api.tests.NodeAssociationsApiTest.class, | ||||
|     org.alfresco.rest.api.tests.NodeVersionsApiTest.class, | ||||
|     org.alfresco.rest.api.tests.NodeVersionRenditionsApiTest.class, | ||||
|     org.alfresco.rest.api.tests.QueriesNodesApiTest.class, | ||||
|     org.alfresco.rest.api.tests.QueriesPeopleApiTest.class, | ||||
|     org.alfresco.rest.api.tests.QueriesSitesApiTest.class, | ||||
|   | ||||
| @@ -40,6 +40,7 @@ import org.junit.runners.Suite; | ||||
|     org.alfresco.repo.web.scripts.solr.StatsGetTest.class, | ||||
|     org.alfresco.repo.web.scripts.solr.SOLRSerializerTest.class, | ||||
|     org.alfresco.repo.web.scripts.solr.SOLRAuthenticationFilterTest.class, | ||||
|     org.alfresco.web.app.servlet.AlfrescoX509ServletFilterTest.class, | ||||
|     org.alfresco.repo.web.util.PagingCursorTest.class, | ||||
|     org.alfresco.repo.web.util.paging.PagingTest.class, | ||||
|     org.alfresco.repo.webdav.GetMethodTest.class, | ||||
|   | ||||
| @@ -406,82 +406,82 @@ public class WebDAVMethodTest | ||||
|     } | ||||
|      | ||||
|     /* MNT-10555 Test */ | ||||
|     @Category(IntermittentlyFailingTests.class) // ACS-959 | ||||
|     @Test | ||||
|     public void expiryLockTest() | ||||
|     { | ||||
|         // ACE-4347 extra debug logging just for this test so we can see what's going on when it next fails | ||||
|         Level repoWebdavSaveLogLevel = Logger.getLogger("org.alfresco.repo.webdav").getLevel(); | ||||
|         Logger.getLogger("org.alfresco.repo.webdav").setLevel(Level.ALL); | ||||
|         Level webdavProtocolSaveLogLevel = Logger.getLogger("org.alfresco.webdav.protocol").getLevel(); | ||||
|         Logger.getLogger("org.alfresco.webdav.protocol").setLevel(Level.ALL); | ||||
|         try | ||||
|         { | ||||
|             setUpApplicationContext(); | ||||
|      | ||||
|             req = new MockHttpServletRequest(); | ||||
|             resp = new MockHttpServletResponse(); | ||||
|      | ||||
|             String rootPath = "/app:company_home"; | ||||
|             StoreRef storeRef = new StoreRef("workspace://SpacesStore"); | ||||
|             NodeRef storeRootNodeRef = nodeService.getRootNode(storeRef); | ||||
|             List<NodeRef> nodeRefs = searchService.selectNodes(storeRootNodeRef, rootPath, null, namespaceService, false); | ||||
|             NodeRef defaultRootNode = nodeRefs.get(0); | ||||
|      | ||||
|             NodeRef rootNodeRef = tenantService.getRootNode(nodeService, searchService, namespaceService, rootPath, defaultRootNode); | ||||
|      | ||||
|             // Create test folder. | ||||
|             NodeRef folderNodeRef = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CONTAINS, QName.createQName("test"), ContentModel.TYPE_FOLDER, | ||||
|                     Collections.<QName, Serializable> singletonMap(ContentModel.PROP_NAME, "WebDavMethodExpiryLockTest" + System.currentTimeMillis())).getChildRef(); | ||||
|      | ||||
|             // Create test document. | ||||
|             NodeRef nodeRef = nodeService.createNode(folderNodeRef, ContentModel.ASSOC_CONTAINS, QName.createQName("test"), ContentModel.TYPE_CONTENT, | ||||
|                     Collections.<QName, Serializable> singletonMap(ContentModel.PROP_NAME, "text.txt")).getChildRef(); | ||||
|      | ||||
|             lockMethod = new LockMethod(); | ||||
|             lockMethod.createExclusive = true; | ||||
|             lockMethod.m_timeoutDuration = 1; | ||||
|             lockMethod.setDetails(req, resp, webDAVHelper, nodeRef); | ||||
|      | ||||
|             transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<Object>() | ||||
|             { | ||||
|                 @Override | ||||
|                 public Object execute() throws Throwable | ||||
|                 { | ||||
|                     try | ||||
|                 { | ||||
|                     // LOCK document. | ||||
|                     lockMethod.executeImpl(); | ||||
|                      | ||||
|                     //wait for the lock to expire up to 5 seconds | ||||
|                     int timeout = 5; | ||||
|                     while( timeout > 0 && !lockMethod.lockInfo.isExpired()) | ||||
|                     { | ||||
|                         Thread.sleep(1000); | ||||
|                         timeout--; | ||||
|                     } | ||||
|                      | ||||
|                     // LOCK against an expired lock. | ||||
|                     lockMethod.executeImpl(); | ||||
|                 } | ||||
|                 catch (WebDAVServerException e) | ||||
|                 { | ||||
|                     logger.debug(e); | ||||
|                     Assert.fail("Document was not locked again, when lock has expired."); | ||||
|                 } | ||||
|                 return null; | ||||
|                 } | ||||
|             }); | ||||
|      | ||||
|             // Remove test folder. | ||||
|             nodeService.deleteNode(folderNodeRef); | ||||
|         } | ||||
|         finally | ||||
|         { | ||||
|             Logger.getLogger("org.alfresco.webdav.protocol").setLevel(webdavProtocolSaveLogLevel); | ||||
|             Logger.getLogger("org.alfresco.repo.webdav").setLevel(repoWebdavSaveLogLevel); | ||||
|         } | ||||
|     } | ||||
| //    @Category(IntermittentlyFailingTests.class) // ACS-959 | ||||
| //    @Test | ||||
| //    public void expiryLockTest() | ||||
| //    { | ||||
| //        // ACE-4347 extra debug logging just for this test so we can see what's going on when it next fails | ||||
| //        Level repoWebdavSaveLogLevel = Logger.getLogger("org.alfresco.repo.webdav").getLevel(); | ||||
| //        Logger.getLogger("org.alfresco.repo.webdav").setLevel(Level.ALL); | ||||
| //        Level webdavProtocolSaveLogLevel = Logger.getLogger("org.alfresco.webdav.protocol").getLevel(); | ||||
| //        Logger.getLogger("org.alfresco.webdav.protocol").setLevel(Level.ALL); | ||||
| //        try | ||||
| //        { | ||||
| //            setUpApplicationContext(); | ||||
| // | ||||
| //            req = new MockHttpServletRequest(); | ||||
| //            resp = new MockHttpServletResponse(); | ||||
| // | ||||
| //            String rootPath = "/app:company_home"; | ||||
| //            StoreRef storeRef = new StoreRef("workspace://SpacesStore"); | ||||
| //            NodeRef storeRootNodeRef = nodeService.getRootNode(storeRef); | ||||
| //            List<NodeRef> nodeRefs = searchService.selectNodes(storeRootNodeRef, rootPath, null, namespaceService, false); | ||||
| //            NodeRef defaultRootNode = nodeRefs.get(0); | ||||
| // | ||||
| //            NodeRef rootNodeRef = tenantService.getRootNode(nodeService, searchService, namespaceService, rootPath, defaultRootNode); | ||||
| // | ||||
| //            // Create test folder. | ||||
| //            NodeRef folderNodeRef = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CONTAINS, QName.createQName("test"), ContentModel.TYPE_FOLDER, | ||||
| //                    Collections.<QName, Serializable> singletonMap(ContentModel.PROP_NAME, "WebDavMethodExpiryLockTest" + System.currentTimeMillis())).getChildRef(); | ||||
| // | ||||
| //            // Create test document. | ||||
| //            NodeRef nodeRef = nodeService.createNode(folderNodeRef, ContentModel.ASSOC_CONTAINS, QName.createQName("test"), ContentModel.TYPE_CONTENT, | ||||
| //                    Collections.<QName, Serializable> singletonMap(ContentModel.PROP_NAME, "text.txt")).getChildRef(); | ||||
| // | ||||
| //            lockMethod = new LockMethod(); | ||||
| //            lockMethod.createExclusive = true; | ||||
| //            lockMethod.m_timeoutDuration = 1; | ||||
| //            lockMethod.setDetails(req, resp, webDAVHelper, nodeRef); | ||||
| // | ||||
| //            transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<Object>() | ||||
| //            { | ||||
| //                @Override | ||||
| //                public Object execute() throws Throwable | ||||
| //                { | ||||
| //                    try | ||||
| //                { | ||||
| //                    // LOCK document. | ||||
| //                    lockMethod.executeImpl(); | ||||
| // | ||||
| //                    //wait for the lock to expire up to 5 seconds | ||||
| //                    int timeout = 5; | ||||
| //                    while( timeout > 0 && !lockMethod.lockInfo.isExpired()) | ||||
| //                    { | ||||
| //                        Thread.sleep(1000); | ||||
| //                        timeout--; | ||||
| //                    } | ||||
| // | ||||
| //                    // LOCK against an expired lock. | ||||
| //                    lockMethod.executeImpl(); | ||||
| //                } | ||||
| //                catch (WebDAVServerException e) | ||||
| //                { | ||||
| //                    logger.debug(e); | ||||
| //                    Assert.fail("Document was not locked again, when lock has expired."); | ||||
| //                } | ||||
| //                return null; | ||||
| //                } | ||||
| //            }); | ||||
| // | ||||
| //            // Remove test folder. | ||||
| //            nodeService.deleteNode(folderNodeRef); | ||||
| //        } | ||||
| //        finally | ||||
| //        { | ||||
| //            Logger.getLogger("org.alfresco.webdav.protocol").setLevel(webdavProtocolSaveLogLevel); | ||||
| //            Logger.getLogger("org.alfresco.repo.webdav").setLevel(repoWebdavSaveLogLevel); | ||||
| //        } | ||||
| //    } | ||||
|      | ||||
|     private void assertStatusCode(int expectedStatusCode, String userAgent) | ||||
|     { | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * #%L | ||||
|  * Alfresco Remote API | ||||
|  * %% | ||||
|  * Copyright (C) 2005 - 2021 Alfresco Software Limited | ||||
|  * Copyright (C) 2005 - 2022 Alfresco Software Limited | ||||
|  * %% | ||||
|  * This file is part of the Alfresco software.  | ||||
|  * If the software was purchased under a paid Alfresco license, the terms of  | ||||
| @@ -25,6 +25,8 @@ | ||||
|  */ | ||||
| package org.alfresco.rest.api.tests; | ||||
|  | ||||
| import org.alfresco.repo.content.directurl.SystemWideDirectUrlConfig; | ||||
| import org.alfresco.rest.api.impl.directurl.RestApiDirectUrlConfig; | ||||
| import org.alfresco.rest.api.tests.client.PublicApiHttpClient; | ||||
| import static org.alfresco.rest.api.tests.util.RestApiUtil.toJsonAsString; | ||||
| import static org.alfresco.rest.api.tests.util.RestApiUtil.toJsonAsStringNonNull; | ||||
| @@ -219,6 +221,11 @@ public abstract class AbstractBaseApiTest extends EnterpriseTestApi | ||||
|         return URL_NODES + "/" + nodeId + "/" + REQUEST_DIRECT_ACCESS_URL; | ||||
|     } | ||||
|  | ||||
|     protected String getRequestVersionRenditionContentDirectUrl(String nodeId, String versionId, String renditionId) | ||||
|     { | ||||
|         return getNodeVersionRenditionIdUrl(nodeId, versionId, renditionId) + "/" + REQUEST_DIRECT_ACCESS_URL; | ||||
|     } | ||||
|  | ||||
|     protected String getRequestArchivedContentDirectUrl(String nodeId) | ||||
|     { | ||||
|         return URL_DELETED_NODES + "/" + nodeId + "/" + REQUEST_DIRECT_ACCESS_URL; | ||||
| @@ -229,6 +236,17 @@ public abstract class AbstractBaseApiTest extends EnterpriseTestApi | ||||
|         return URL_DELETED_NODES + "/" + nodeId + "/" + URL_RENDITIONS + "/" + renditionID + "/" + REQUEST_DIRECT_ACCESS_URL; | ||||
|     } | ||||
|  | ||||
|     protected String getRequestRenditionDirectAccessUrl(String nodeId, String renditionID) | ||||
|     { | ||||
|         return URL_NODES + "/" + nodeId + "/" + URL_RENDITIONS + "/" + renditionID + "/" + REQUEST_DIRECT_ACCESS_URL; | ||||
|     } | ||||
|  | ||||
|     protected String getRequestVersionDirectAccessUrl(String nodeId, String versionId) | ||||
|     { | ||||
|         return URL_NODES + "/" + nodeId + "/" + URL_VERSIONS + "/" + versionId + "/" + REQUEST_DIRECT_ACCESS_URL; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * The api scope. either public or private | ||||
|      * | ||||
| @@ -724,6 +742,18 @@ public abstract class AbstractBaseApiTest extends EnterpriseTestApi | ||||
|         return createNode(parentId, folderName, TYPE_CM_FOLDER, props, Folder.class); | ||||
|     } | ||||
|  | ||||
|     protected String createUniqueFolder(String parentId) throws Exception | ||||
|     { | ||||
|         return createFolder(parentId, "folder-" + System.currentTimeMillis()).getId(); | ||||
|     } | ||||
|  | ||||
|     protected String createUniqueContent(String folderId) throws Exception | ||||
|     { | ||||
|         Document documentResp = createTextFile(folderId, "file-" + System.currentTimeMillis(), | ||||
|         "some text-" + System.currentTimeMillis(), "UTF-8", null); | ||||
|         return documentResp.getId(); | ||||
|     } | ||||
|  | ||||
|     protected Node createNode(String parentId, String nodeName, String nodeType, Map<String, Object> props) throws Exception | ||||
|     { | ||||
|         return createNode(parentId, nodeName, nodeType, props, Node.class); | ||||
| @@ -1035,6 +1065,16 @@ public abstract class AbstractBaseApiTest extends EnterpriseTestApi | ||||
|         return URL_NODES + "/" + nodeId + "/" + URL_RENDITIONS; | ||||
|     } | ||||
|  | ||||
|     protected String getNodeRenditionIdUrl(String nodeId, String renditionID) | ||||
|     { | ||||
|         return URL_NODES + "/" + nodeId + "/" + URL_RENDITIONS + "/" + renditionID; | ||||
|     } | ||||
|  | ||||
|     protected String getNodeVersionRenditionIdUrl(String nodeId, String versionId, String renditionID) | ||||
|     { | ||||
|         return URL_NODES + "/" + nodeId + "/" + URL_VERSIONS + "/" + versionId + "/" + URL_RENDITIONS + "/" + renditionID; | ||||
|     } | ||||
|  | ||||
|     protected String getNodeVersionsUrl(String nodeId) | ||||
|     { | ||||
|         return URL_NODES + "/" + nodeId + "/" + URL_VERSIONS; | ||||
| @@ -1065,5 +1105,20 @@ public abstract class AbstractBaseApiTest extends EnterpriseTestApi | ||||
|         return URL_NODES + "/" + nodeId; | ||||
|     } | ||||
|  | ||||
|     protected void enableRestDirectAccessUrls() | ||||
|     { | ||||
|         SystemWideDirectUrlConfig systemDauConfig = (SystemWideDirectUrlConfig) applicationContext.getBean("systemWideDirectUrlConfig"); | ||||
|         systemDauConfig.setEnabled(true); | ||||
|         RestApiDirectUrlConfig restDauConfig = (RestApiDirectUrlConfig) applicationContext.getBean("restApiDirectUrlConfig"); | ||||
|         restDauConfig.setEnabled(true); | ||||
|     } | ||||
|  | ||||
|     protected void disableRestDirectAccessUrls() | ||||
|     { | ||||
|         SystemWideDirectUrlConfig systemDauConfig = (SystemWideDirectUrlConfig) applicationContext.getBean("systemWideDirectUrlConfig"); | ||||
|         systemDauConfig.setEnabled(false); | ||||
|         RestApiDirectUrlConfig restDauConfig = (RestApiDirectUrlConfig) applicationContext.getBean("restApiDirectUrlConfig"); | ||||
|         restDauConfig.setEnabled(false); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user