Compare commits

..

158 Commits

Author SHA1 Message Date
Travis CI User
72aa1b0a84 [maven-release-plugin][skip ci] prepare release 7.300-TEST3 2020-10-09 13:00:10 +00:00
Alan Davis
596dfe0940 Update comment in Docker file 2020-10-09 13:32:42 +01:00
Alan Davis
c1a56ee22f Merge changes on 6.2.N (6.2.3-A1) projects since 15/7/2020 16:22 to release/6.2.N (#29)
* Changes originally made to acs-packaging

* Changes originally made to acs-packaging

* MNT-21702 : Kerberos SSO fallback mechanism for WebDAV (#766)

Reinstated 'part' of the reverted code change originally made in MNT-16931 to handle fallback correctly for WebDAV in a kerberos environment.

(cherry picked from commit 91e6af0974bbc9255d5053237abdd10104420042)
[MNT-21758] Cannot map an AOS / WebDAV drive with Kerberos SSO enabled (#785)

- Add multi catch for Illegal Argument and Not Found when findWebScript is called.

(cherry picked from commit 7c135ae8c990f65cf7901d6d6f72dc6c70e44c13)
SEARCH-2363: Escape special characters when serializing ChildAssociationRefs and AssociationRefs objects
Cherry Picked from f941a6e

(cherry picked from commit 3a8ac4417370ec3dad5e9283c3d41e2fd3dd91ce)

* SEARCH-2273: Add detailed message when ignoring nodes in SOLR without type or with types not registered in Dictionary Service.
Cherry-picked from f4bdc8c

(cherry picked from commit a01c6ddf816fed57c28a5bd873da5e4835d90488)
SEARCH-800: Get values in DBResultSetRow in the same way they are recovered in SolrJSONResultSetRow.
Cherry-picked from 695113f

(cherry picked from commit 1c98d6f29c5b9fd8081af76d63add762af833dc1)
MNT-21317 Move on Update Folder Rule triggers unexpectedly for MOVED content. (#1115)

* MNT-21317_fix folder rule trigger

* MNT-21317_folder rule test case added

* Update .travis.yml

* Update OnPropertyUpdateRuleTrigger.java

* MNT-21317 updated test

cherry picked from commit 33ca87046019416875fd23b72293e84b912f4cd9 master to 6.2.N

(cherry picked from commit 1d4e7002543f6425da9e9f26047b8d42c84b2bd3)
Bump gytheio-messaging-camel from 0.11.3 to 0.11.6 (#1095)

Bumps gytheio-messaging-camel from 0.11.3 to 0.11.6.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
(cherry picked from commit 16179db5fc4524c339097f1f3a9a6409dd895b11)

(cherry picked from commit af0080e336b7f5505f47d72b9b063c9ce5caedd0)
REPO-5235: Use unforked tika (#1081)

* REPO-5235: Use latst unforked tika version from the updated alfresco-data-model
* Recognise new Exif properties and use a previous workaround to set correct tiff:ImageLength and tiff:ImageWidth

(cherry picked from commit 7f576b1d32)

(cherry picked from commit ab91ec354a14e8c20c4a2deb0a73149362d5155b)
support/SP/7.N: Updated T-engines to 2.3.3 (Cherry-picked from master)

(cherry picked from commit ca4e978e6874869de0bb5a56843f9caf8d8874ac)
MNT-21614: LDAP sync communication error leads to group members deletion (#1149)

* Catch reported exceptions to filter ldap sync aborts

(cherry picked from commit 4d0a1966297db0cc4e219d9693236b879b5f12c7)
support/SP/7.N: Updated T-engines to 2.3.4 (Cherry-picked from master)

(cherry picked from commit 8078e1ce7e81a5bee15f15d7bfa156427ebcccbc)
SEARCH-2289: Restore the support for SOLR 4 in ACS 6.2+ deployments.
Cherry pick from e8bba3c

(cherry picked from commit f4b653ba5577629fae0ba8e193b151dd7bbdb7be)
[MNT-21847] - Aync permissions fail when new nodes are created (#1188) (#1195)

Fix:
*Changed method setFixedAcls on class ADMAccessControlListDAO to continue to propagate through children to apply the correct acl not only when the current child acl matches the shared acl to replace but also when the current child acl matches the new shared acl
Unit Test:
*Refactored the unit test FixedAclUpdaterTest to be able to add in a new test without repeating code: separating the operations that set the permissions from the one that triggers the job into separate methods
*As it was if one test failed, leaving aspects to be processed, the test would run indefinitely (it was programmed to keep running the job while there where nodes with the aspect). Added a verification to stop triggering the job if the number of nodes with the pendingFixAcl did not change between executions.
*Also, if one test failed, it would leave nodes with pendingFixAcl aspect in the database, and the other tests that ran after would also fail, not completing the goal of processing all nodes with the aspect. If a test fails, the folder structure it ran is now deleted so no nodes with the aspect from that structure are processed by the other tests.
*Added a test to find the first folder in a tree where permissions where set async that has the pendingFixAcl aspect and that creates a new node in it to verify the issue

(cherry picked from commit 443e5e226430a2760492fb82214ad520e7e1cb75)

(cherry picked from commit 65a48f3c36a6fc3567c5b0edafb949629f705d8a)
ATS-825 : Updated T-engines to 2.3.5 (#1224)

(cherry picked from commit 6dcf985acc4f238ae8c9af22e84a61ad9b476429)
SEARCH-2450 Don't expose properties from solr endpoint if the model says not to index them. (#1228) (#1229)

(cherry picked from commit 2fea6c9484def402e2bfd7c3717071ff8df69c01)

(cherry picked from commit 8db009c9505c5d01ba08d2427f549e54ea13fbc6)
Fix/MNT-21800 CMIS Web Service Check Out returns error (#1232) (#1233)

* MNT-21800 : CMIS Web Service Check Out returns error
   Integrate path into codebase.

(cherry picked from commit 51a7793668ba1c969c5de37603190244e3839cd0)

(cherry picked from commit 0cd801a6c12d7ac7e1ff7f05b8b8acfaacdb58e4)

* SOLR Test class should be under repository/src/test and not repository/src/main [skip ci]

* Test build

* Undo README dummy change. [skip ci]

* Remove READMEs that have been moved to the top level.

* Same jars as in 6.2.3-A1

- needed to correct tika and poi.

* Fix location of keystore
Only copy win64 and linux pdf-renderer to dist zip
Sort out what get included in dist jar and zip

(cherry picked from commit 779f8af717)

* aos-module had the wrong version
2020-10-09 13:25:44 +01:00
Travis CI User
106476287d [maven-release-plugin][skip ci] prepare for next development iteration 2020-10-02 14:11:08 +00:00
Travis CI User
01f7df6ff0 [maven-release-plugin][skip ci] prepare release 7.300-TEST2 2020-10-02 14:11:00 +00:00
Alan Davis
d83fb0a942 Feature/repo 5358 merge 6213 (#26)
REPO-5361/REPO-5358 Merge latest changes (6.2.1.3) / Deployment modules should extend each other

In order to support the external deployment of the default keystore (MNT-21731/SEARCH-1915),
it was removed from alfresco-repository.jar and had be placed in deployment module of acs-packaging.
To support this in the new project structure, this commit moves the keystore back to
alfresco-community-repo's deployment module and has alfresco-enterprise-repo and acs-packaging
extend it in their own deployment modules. This also avoids duplication of licenses between projects.

(cherry picked from commit bad162c91f)
2020-10-02 13:59:40 +01:00
Cezar.Leahu
903c2828d2 REPO-5111 Update build scripts [skip ci] 2020-09-30 22:33:11 +03:00
Travis CI User
c59d485eab [maven-release-plugin][skip ci] prepare for next development iteration 2020-09-27 10:24:13 +00:00
Travis CI User
b3b3c4c9f5 [maven-release-plugin][skip ci] prepare release 7.300-TEST1 2020-09-27 10:24:06 +00:00
Alan Davis
9e014128f4 REPO-5271 Backport new structure to relaese/6.2.N (#18)
- Simplify dependencies and standardise order
- README updated
- Green builds
- Changes to make Jars in enterprise war match
- Changes to make files in enterprise image match
- Added travis_wait 40 to the initial build as it can take 20 minutes to download artifacts
- Removed NodesTest.siteConsumerWillGet403OnFileWithDisabledInherittedPermissions introduced in 7.0.0 and fails in earlier versions.
2020-09-27 10:52:06 +01:00
Cezar.Leahu
36ccfe2bea ACS-550 Add .gitignore 2020-09-03 11:15:34 +03:00
Iulian Aftene
56e9417e00 Merge pull request #13 from Alfresco/feature/REPO-5318_62N
REPO-5318-Create l10n.properties release/6.2.N
2020-08-21 11:43:35 +03:00
aftene
d5317444c8 REPO-5318-Create l10n.properties
- delete l10n.properties files from data-model, remote-api and repository
 - add new global l10n.properties file
2020-08-19 19:44:01 +03:00
Chris Shields
f0d09767e7 Merge remote-tracking branch 'acs-community-packaging/develop' into release/6.2.N 2020-07-21 10:44:54 +01:00
Chris Shields
eb8f4da6c9 Merge remote-tracking branch 'alfresco-remote-api/support/SP/7.N' into release/6.2.N 2020-07-21 10:44:52 +01:00
Chris Shields
bfc6e4c490 Merge remote-tracking branch 'alfresco-repository/support/SP/7.N' into release/6.2.N 2020-07-21 10:44:49 +01:00
Chris Shields
43815223ba Merge remote-tracking branch 'alfresco-data-model/support/SP/8.50.N' into release/6.2.N 2020-07-21 10:44:49 +01:00
Chris Shields
4da02fcae2 Merge remote-tracking branch 'alfresco-core/support/SP/7.N' into release/6.2.N 2020-07-21 10:44:49 +01:00
Chris Shields
a7f4f02dcf Moved remote-api support/SP/7.N into its own directory 2020-07-21 10:44:12 +01:00
Chris Shields
048c456580 Moved repository support/SP/7.N into its own directory 2020-07-21 10:43:38 +01:00
Chris Shields
1cd59480f9 Moved data-model support/SP/8.50.N into its own directory 2020-07-21 10:43:26 +01:00
Chris Shields
c655c97421 Moved core support/SP/7.N into its own directory 2020-07-21 10:43:19 +01:00
Travis CI User
7625df9166 [maven-release-plugin][skip ci] prepare for next development iteration 2020-07-17 15:34:06 +00:00
Travis CI User
515b8d1720 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.204 2020-07-17 15:33:59 +00:00
Abdul Mohammed
32e4a7bf8b Bump alfresco-greenmail version 2020-07-17 15:46:31 +01:00
Abdul Mohammed
fbb581f527 MNT-21481: IMAP UID search command errors with French Locale- Only folders showing (#1098)
* Bump alfresco-greenmail version and add Integration tests
2020-07-17 15:42:51 +01:00
Travis CI User
a6caa9953b [maven-release-plugin][skip ci] prepare for next development iteration 2020-07-14 11:43:36 +00:00
Travis CI User
69e16a3ffc [maven-release-plugin][skip ci] prepare release alfresco-repository-7.203 2020-07-14 11:43:29 +00:00
Alexandru-Eusebiu Epure
28bebe0e6d MNT-21671 : Download as zip REST api does not include custom folders (#1090) (#1092)
Add dictionaryService to CreateDwonloadArchiveAction
   ZipDownloadExporter constructor now required dictionaryService
   ZipDownloadExporter#startNode will include into archive all subclasses of node type cm:folder.
   Add a custom model and create a custom node in DownloadServiceIntegrationTest, this use case will be tested in DownloadServiceIntegrationTest#createDownload()

(cherry picked from commit 3a31ac3634)
2020-07-14 14:22:28 +03:00
Travis CI User
9b4a43896a [maven-release-plugin][skip ci] prepare for next development iteration 2020-07-09 12:57:54 +00:00
Travis CI User
58c5160aeb [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.149 2020-07-09 12:57:47 +00:00
tiagos
94b4f4eefd Bump alfresco-data-model (8.50.19), alfresco-repository (7.202) 2020-07-09 12:44:46 +01:00
Travis CI User
c75e3cd7c4 [maven-release-plugin][skip ci] prepare for next development iteration 2020-07-08 21:13:59 +00:00
Travis CI User
58764feccd [maven-release-plugin][skip ci] prepare release alfresco-repository-7.202 2020-07-08 21:13:52 +00:00
tiagos
c5bceb0427 Bump alfresco-data-model to 8.50.19 2020-07-08 21:52:06 +01:00
Travis CI User
64e225dd0e [maven-release-plugin][skip ci] prepare for next development iteration 2020-07-08 16:14:24 +00:00
Travis CI User
30be7fdb61 [maven-release-plugin][skip ci] prepare release 8.50.19 2020-07-08 16:14:17 +00:00
tiagosalvado10
8145afb29c [MNT-18448] [MNT-20953] Added Visio extensions (vss, vst, vsdm, vssx, vssm, vstx, vstm) and Project (mpt) (#279) 2020-07-08 17:09:24 +01:00
Travis CI User
5690f15967 [maven-release-plugin][skip ci] prepare for next development iteration 2020-07-07 12:54:25 +00:00
Travis CI User
2a7306cc8b [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.148 2020-07-07 12:54:18 +00:00
Kristian Dimitrov
70839f8d9a ACS-386: Update Postgres docker to 11.7 (#705) 2020-07-07 13:27:01 +01:00
Travis CI User
f895938f04 [maven-release-plugin][skip ci] prepare for next development iteration 2020-07-03 12:30:35 +00:00
Travis CI User
bcb7cc1400 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.201 2020-07-03 12:30:27 +00:00
Nebil Kisa
a6511a3fd1 Update PostgreSQL 11.4 to 11.7 (#1078) (#1079)
* Update PostgreSQL 11.4 to 11.6, interim step
* Update PostgreSQL from 11.6 to 11.7. We got a green build on 11.6.
* We got green build on both 11.6 and 11.7

(cherry picked from commit 35715e40f4)
2020-07-03 13:09:59 +01:00
Travis CI User
f0cdecac08 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-26 19:07:56 +00:00
Travis CI User
d9e16374d9 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.200 2020-06-26 19:07:49 +00:00
Ancuta Morarasu
7c2d66bf2c Increment version.schema to 13010 for ACS 6.2.3 (5 more than 6.2.2) 2020-06-26 21:46:47 +03:00
Travis CI User
f3f3ed7e61 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-26 16:18:34 +00:00
Travis CI User
15ca57bcd2 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.199 2020-06-26 16:18:27 +00:00
Nebil Kisa
b24b144c3e ATS-791: Update to T-Engines 2.3.1 (#1072) (#1073)
(cherry picked from commit 8bf1a0752a)
2020-06-26 16:58:16 +01:00
Travis CI User
f56726a75a [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-26 15:12:17 +00:00
Travis CI User
3f78c9a729 [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.147 2020-06-26 15:12:09 +00:00
Cristian Turlica
2ffcfaee4e Updated dependencies 2020-06-26 17:55:38 +03:00
Travis CI User
73784ab389 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-26 14:49:11 +00:00
Travis CI User
ff612b2233 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.198 2020-06-26 14:49:04 +00:00
Cristian Turlica
60093108db Update dependencies 2020-06-26 17:21:23 +03:00
Travis CI User
3e2b0a0f22 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-26 14:15:49 +00:00
Travis CI User
fe9f6b73cd [maven-release-plugin][skip ci] prepare release 8.50.18 2020-06-26 14:15:42 +00:00
Cristian Turlica
3d1e326d38 Updated core version 2020-06-26 16:55:47 +03:00
Travis CI User
2b6185021e [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-26 11:05:46 +00:00
Travis CI User
8b2b52bd47 [maven-release-plugin][skip ci] prepare release 7.34 2020-06-26 11:05:39 +00:00
Ancuta Morarasu
41eeacac47 MNT-21641: Update surf version to 7.16 (#137) 2020-06-26 14:00:23 +03:00
Travis CI User
81e9ae40ca [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-25 11:38:58 +00:00
Travis CI User
d9283af46b [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.146 2020-06-25 11:38:50 +00:00
Alex Mukha
d8d00b1430 SEARCH-2321 Update dependencies
alfresco-repository 7.197
surf webscripts 7.16
2020-06-25 11:59:06 +01:00
Travis CI User
ec22b6b39a [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-25 09:46:50 +00:00
Travis CI User
69fc15dd0c [maven-release-plugin][skip ci] prepare release alfresco-repository-7.197 2020-06-25 09:46:43 +00:00
Jamal Kaabi-Mofrad
19a31ec32b ACS-300: Bump keycloak version from 9.0.3 to 11.0.0-alfresco-001 (#1062)
(cherry picked from commit 9d67d29abb)

# Conflicts:
#	pom.xml
2020-06-25 10:17:37 +01:00
Travis CI User
4a83e7f83f [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-25 08:56:52 +00:00
Travis CI User
023583e67a [maven-release-plugin][skip ci] prepare release alfresco-repository-7.196 2020-06-25 08:56:44 +00:00
Alex Mukha
daf7ec44e4 SEARCH-2321 Change SAX parser config in QueryRegister 2020-06-25 09:37:20 +01:00
Alex Mukha
ec131b33a5 Revert "SEARCH-2321 Change SAX parser config in QueryRegister (#1066)"
This reverts commit d1ce85398c.
2020-06-25 09:34:17 +01:00
Alex Mukha
d1ce85398c SEARCH-2321 Change SAX parser config in QueryRegister (#1066) 2020-06-25 09:27:38 +01:00
Travis CI User
c79e3f8550 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-24 17:03:38 +00:00
Travis CI User
7a8996463a [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.145 2020-06-24 17:03:30 +00:00
Ancuta Morarasu
8242b34604 ACS-370: Newer metadata-extractor - update components
- alfresco-data-model 8.50.17, alfresco-repository 7.195
2020-06-24 19:40:06 +03:00
Travis CI User
f34dd7ad16 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-24 16:28:36 +00:00
Travis CI User
4f517f9c41 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.195 2020-06-24 16:28:29 +00:00
Ancuta Morarasu
187038d4ca ACS-370: Newer metadata-extractor - update components
- alfresco-data-model 8.50.17
2020-06-24 19:05:42 +03:00
Travis CI User
f189f71fb8 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-24 12:52:20 +00:00
Travis CI User
82425433c4 [maven-release-plugin][skip ci] prepare release 8.50.17 2020-06-24 12:52:13 +00:00
cturlica
0703d10899 ACS-370: Newer metadata-extractor 2020-06-24 15:46:55 +03:00
Travis CI User
5ffacd315e [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-20 07:20:44 +00:00
Travis CI User
70ad374f8a [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.144 2020-06-20 07:20:37 +00:00
Travis CI User
88bec51910 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-20 07:17:51 +00:00
Travis CI User
fdce5a76ca [maven-release-plugin][skip ci] prepare release alfresco-repository-7.194 2020-06-20 07:17:44 +00:00
Cristian Turlica
93a4b9c0dd Updated alfresco-repository version to 7.193 2020-06-20 10:00:18 +03:00
Alan Davis
d123af8664 REPO-5215 Deprecated metadata extractors in 6.2.x (#1059)
These OOTB extractors / embedders are likely to be remove in a future release.
2020-06-19 16:52:37 +01:00
Travis CI User
2ef82ccc56 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-16 23:43:50 +00:00
Travis CI User
7a6beb433a [maven-release-plugin][skip ci] prepare release alfresco-repository-7.193 2020-06-16 23:43:42 +00:00
Alan Davis
257fa68432 Revert "REPO-4334 Move metadata extraction into T-Engines (#1015)"
This reverts commit 6f4ebcca3e.
2020-06-17 00:22:01 +01:00
Travis CI User
7c07b6c974 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-16 21:42:34 +00:00
Travis CI User
87ca3ac91a [maven-release-plugin][skip ci] prepare release alfresco-repository-7.192 2020-06-16 21:42:27 +00:00
Alan Davis
6f4ebcca3e REPO-4334 Move metadata extraction into T-Engines (#1015)
* ContentMetadataExtracter (the Action service Executer):
        * Code refactored so that post processing of extracted properties can be called after a
          transform has taken place in an async call. Previously done in the same Thread.
        * The source size is passed to the metadataExtracterRegistry as this is needed to select
          the transform.
        * Passes the source nodeRef to the metadataExtractor, so that it is possible to update
          the correct node after the async transform call.
    * AbstractMappingMetadataExtracter (the base class for all extractors):
        * Post extract processing extracted into separate methods.
        * NodeRef made available to sub classes.
    * AsynchronousExtractor (new metadata extractor and embedder) that will use
      a T-Engine.
    * Set targetExtension in transform for metadata extract and embed requests to T-Engines
      in both LocalTransforms (community) and RenditionEventProducer (enterprise).
    * RenditionService2Impl (used to request and respond to async transform requests).
        * Add consumeExtractedMetadata and consumeEmbeddedMetadata methods, which
          handle the response, normally be calling AsynchronousExtractor.
    * Discovered that the JodConverterMetadataExtracter was superseded by the
    * TikaPoweredMetadataExtracter for all the types that it support in 6.0.1 and could have been
      deprecated at that time as part of REPO-2910. It will now be deprecated so that it can be
      removed in 7.0.0.

Additional tests are being added to AsynchronousExtractorTest for overwritePolicy, enableStringTagging and carryAspectProperties in a separate PR, as these will cover tests at a likely to be removed when delete local extractors.

(cherry picked from commit 63ace3abd8)

Also pick up T-Engine 2.3.0
2020-06-16 22:16:56 +01:00
Travis CI User
eb1b7c320f [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-12 11:05:43 +00:00
Travis CI User
cf476f4629 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.191 2020-06-12 11:05:35 +00:00
Nebil Kisa
109e87f7af ACS-753: Update alfresco-transform-core from 2.2.1 to 2.2.2 (#1044)
Update of alfresco-transform-core from 2.2.1 to 2.2.2
2020-06-12 11:46:02 +01:00
Travis CI User
bc96fcb4e2 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-11 20:14:12 +00:00
Travis CI User
098ef5f8e9 [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.143 2020-06-11 20:14:05 +00:00
Jan Vonka
12d1f2f7fd Revert "ACS-254: Update internal REST fwk to support sub-relations"
This reverts commit 3e1d862c2d.
2020-06-11 20:56:01 +01:00
Jan Vonka
bc6dd55629 Revert "ACS-197 / ACS-207 : Add REST API for Version Renditions (#654)"
This reverts commit 670b4e6245.
2020-06-11 20:55:43 +01:00
Jan Vonka
d3d4f3bf35 Revert "ACS-295: Fix bug with new REST API for Version Renditions (#665)"
This reverts commit 70423195e9.
2020-06-11 20:55:34 +01:00
Travis CI User
e627010d1b [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-11 09:49:53 +00:00
Travis CI User
4b82c70015 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.190 2020-06-11 09:49:46 +00:00
Abdul Mohammed
5f1d7432ae Cherry-pick changes for MNT-21487 2020-06-11 10:29:23 +01:00
Travis CI User
251fb079a7 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-04 14:47:37 +00:00
Travis CI User
da57e725c0 [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.142 2020-06-04 14:47:30 +00:00
montgolfiere
70423195e9 ACS-295: Fix bug with new REST API for Version Renditions (#665)
* ACS-295: Fix bug with new REST API for Version Renditions

- also added test that fails before fix / succeeds after fix
- note: the issue existed in previous versions of Repo (but was never exposed) ...
- ...so needs to be handled for upgrades to 6.2.2 (+)

- see also ACS-197 / ACS-207

(cherry picked from commit fdfe20e442)
2020-06-04 15:29:35 +01:00
Travis CI User
90574ee73b [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-03 08:04:39 +00:00
Travis CI User
2e412f2e59 [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.141 2020-06-03 08:04:32 +00:00
Cristian Turlica
5b3e93c077 ACS-284: AuthenticationUtil.runAs method should leave the security context as it found it 2020-06-03 10:48:03 +03:00
Travis CI User
2c9c91d7be [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-03 07:38:30 +00:00
Travis CI User
b7479205d5 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.189 2020-06-03 07:38:23 +00:00
Cristian Turlica
5238f1297c ACS-284: AuthenticationUtil.runAs method should leave the security context as it found it 2020-06-03 10:18:26 +03:00
Travis CI User
0632e1268e [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-03 06:12:33 +00:00
Travis CI User
8e36d4f4c1 [maven-release-plugin][skip ci] prepare release 8.50.16 2020-06-03 06:12:26 +00:00
Cristian Turlica
99b92f67ee ACS-284: AuthenticationUtil.runAs method should leave the security context as it found it 2020-06-03 09:05:02 +03:00
Travis CI User
8f97585cb7 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-01 11:45:36 +00:00
Travis CI User
323f26850d [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.140 2020-06-01 11:45:28 +00:00
evasques
e667470f66 MNT-17907 Bump repo version (#662) 2020-06-01 12:27:45 +01:00
Travis CI User
90210bd532 [maven-release-plugin][skip ci] prepare for next development iteration 2020-06-01 09:04:20 +00:00
Travis CI User
afbc56e6e2 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.188 2020-06-01 09:04:11 +00:00
evasques
0a39b667c8 MNT-17907 - cm:addressees label renamed to All Recipients (#1026)
* MNT-17907 - Change label of cm:addressee to All Recipients (#985)

* Fix for MNT-17907 in ALL 15 LANGUAGES (#1009)

Co-authored-by: Gloria Broadbent <gloria.broadbent@alfresco.com>
2020-06-01 09:41:40 +01:00
Travis CI User
2c1d7ac627 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-27 11:17:29 +00:00
Travis CI User
c081c3a420 [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.139 2020-05-27 11:17:22 +00:00
montgolfiere
670b4e6245 ACS-197 / ACS-207 : Add REST API for Version Renditions (#654)
* ACS-197 / ACS-207 : Add REST API for Version Renditions

- add four new endpoints for version-specific renditions and automated tests (+ve & -ve)

-- GET /nodes/{nodeId}/versions/{versionId}/renditions - List renditions for a version
-- POST /nodes/{nodeId}/versions/{versionId}/renditions - Create rendition for a version
-- GET /nodes/{nodeId}/versions/{versionId}/renditions/{renditionId} - Get rendition information for a version
-- GET /nodes/{nodeId}/versions/{versionId}/renditions/{renditionId}/content - Get rendition content for a version

- note: the RenditionsImpl implementation is also tested via RenditionsTest

(cherry picked from commit 5cd8899a52)
2020-05-27 11:43:27 +01:00
Travis CI User
700491d80a [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-26 11:21:54 +00:00
Travis CI User
d161574edc [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.138 2020-05-26 11:21:47 +00:00
Jan Vonka
3e1d862c2d ACS-254: Update internal REST fwk to support sub-relations
- for example: /entities-a/{a-id}/relations-a-b/{b-id}/relations-b-c/...
- see also ACS-197, ACS-202, REPO-297

- cherry-pick from master
2020-05-26 12:05:39 +01:00
Travis CI User
c19f2d71f8 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-22 12:04:54 +00:00
Travis CI User
c1d2b84582 [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.137 2020-05-22 12:04:47 +00:00
evasques
c7d7bf9347 MNT-18308 - Bump repo version (#651) 2020-05-22 12:48:53 +01:00
Travis CI User
8b03573135 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-22 09:45:36 +00:00
Travis CI User
5759d76953 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.187 2020-05-22 09:45:29 +00:00
evasques
70bad61905 MNT-18308 Force Async ACL Creation (#1008) 2020-05-22 10:22:25 +01:00
Travis CI User
fe4e738521 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-21 17:44:36 +00:00
Travis CI User
080787a3f2 [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.136 2020-05-21 17:44:29 +00:00
Mykhail DIachenko
2ed64c64db ACS-22: pick up upstream projects 2020-05-21 20:26:33 +03:00
Travis CI User
ff769bc6c7 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-20 23:08:55 +00:00
Travis CI User
2d6397c367 [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.135 2020-05-20 23:08:48 +00:00
Jared Ottley
d56e81154c [MNT-21363][MNT-21511] Create Site fails with Kerb SSO in 6.2 (#647)
- Add catch for exception thrown when there is no web script found in the Public API Web Script Container
2020-05-20 16:51:02 -06:00
Travis CI User
8329ef8cc8 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-15 11:42:15 +00:00
Travis CI User
1cc88ff688 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.186 2020-05-15 11:42:07 +00:00
Mykhail-Diachenko
a1a00c8bb1 ACS-22: code enhance (#994)
* * ACS-22: changed naming in ticket related cache components

(cherry picked from commit cc9e78f152)
2020-05-15 14:20:29 +03:00
Travis CI User
933d0505d7 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-15 10:46:18 +00:00
Travis CI User
86d8739af2 [maven-release-plugin][skip ci] prepare release 8.50.15 2020-05-15 10:46:11 +00:00
Mykhail-Diachenko
38c07132e5 ACS-22: Enhance code of InMemoryTicketComponentImpl (#251)
* ACS-22: Enhance code of InMemoryTicketComponentImpl (#248)

(cherry picked from commit 86af3e0a1f)
2020-05-15 13:41:09 +03:00
Travis CI User
b3a3b76112 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-06 19:27:45 +00:00
Travis CI User
a90529b8fc [maven-release-plugin][skip ci] prepare release alfresco-remote-api-7.134 2020-05-06 19:27:38 +00:00
Cristian Turlica
332fed005f ACS-125: Update spring version to 5.1.15 (#637) 2020-05-06 22:11:28 +03:00
Travis CI User
e0050d99f1 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-06 18:46:23 +00:00
Travis CI User
46ac5eaaa1 [maven-release-plugin][skip ci] prepare release alfresco-repository-7.185 2020-05-06 18:46:15 +00:00
Cristian Turlica
489bf035de ACS-125: Update spring version to 5.1.15 (#981) 2020-05-06 21:24:27 +03:00
Travis CI User
574fa342f1 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-06 18:19:21 +00:00
Travis CI User
b90d617c15 [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-06 17:59:42 +00:00
Travis CI User
ef5eb81c8a [maven-release-plugin][skip ci] prepare for next development iteration 2020-05-06 16:55:16 +00:00
Travis CI User
d8c415e74a [maven-release-plugin][skip ci] prepare release alfresco-repository-7.184 2020-05-06 16:55:09 +00:00
Alan Davis
fea086de8d Increment version.schema to 13005 for ACS 6.2.2 (4 more than 6.2.1) 2020-05-06 17:35:05 +01:00
120 changed files with 1545 additions and 1349 deletions

View File

@@ -80,14 +80,14 @@ jobs:
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.15.8
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.4
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.5
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 -Dalfresco-pdf-renderer.url=http://localhost:8090/ -Djodconverter.url=http://localhost:8090/ -Dimg.url=http://localhost:8090/ -Dtika.url=http://localhost:8090/ -Dtransform.misc.url=http://localhost:8090/
- name: "Repository - AppContext04TestSuite"
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.15.8
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.4
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.5
script: travis_wait 20 mvn -B test -pl repository -Dtest=AppContext04TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
- name: "Repository - AppContext05TestSuite"
@@ -104,7 +104,7 @@ jobs:
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.15.8
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.4
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.5
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 -Dalfresco-pdf-renderer.url=http://localhost:8090/ -Djodconverter.url=http://localhost:8090/ -Dimg.url=http://localhost:8090/ -Dtika.url=http://localhost:8090/ -Dtransform.misc.url=http://localhost:8090/
- name: "Repository - AppContextExtraTestSuite"
@@ -117,7 +117,7 @@ jobs:
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.15.8
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.4
- docker run -d -p 8090:8090 -e JAVA_OPTS=" -Xms256m -Xmx256m" alfresco/alfresco-transform-core-aio:2.3.5
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 -Dalfresco-pdf-renderer.url=http://localhost:8090/ -Djodconverter.url=http://localhost:8090/ -Dimg.url=http://localhost:8090/ -Dtika.url=http://localhost:8090/ -Dtransform.misc.url=http://localhost:8090/
- name: "Repository - MySQL tests"

View File

@@ -1,42 +0,0 @@
### Alfresco Core
[![Build Status](https://travis-ci.com/Alfresco/alfresco-core.svg?branch=master)](https://travis-ci.com/Alfresco/alfresco-core)
Alfresco Core is a library packaged as a jar file which is part of [Alfresco Content Services Repository](https://community.alfresco.com/docs/DOC-6385-project-overview-repository).
The library contains the following:
* Various helpers and utils
* Canned queries interface and supporting classes
* Generic encryption supporting classes
Version 7 of the library uses Spring 5, Quartz 2.3 and does not have Hibernate dependency.
### Building and testing
The project can be built and tested by running Maven command:
~~~
mvn clean install
~~~
### Artifacts
The artifacts can be obtained by:
* downloading from [Alfresco repository](https://artifacts.alfresco.com/nexus/content/groups/public)
* getting as Maven dependency by adding the dependency to your pom file:
~~~
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-core</artifactId>
<version>version</version>
</dependency>
~~~
and Alfresco repository:
~~~
<repository>
<id>alfresco-maven-repo</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
~~~
The SNAPSHOT version of the artifact is **never** published.
### Old version history
The history for older versions can be found in [Alfresco SVN](https://svn.alfresco.com/repos/alfresco-open-mirror/services/alfresco-core/)
### Contributing guide
Please use [this guide](CONTRIBUTING.md) to make a contribution to the project.

View File

@@ -7,18 +7,13 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<properties>
<dependency.org-json.version>20160212</dependency.org-json.version>
</properties>
<dependencies>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.14</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
@@ -27,12 +22,10 @@
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
@@ -53,12 +46,10 @@
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160212</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${dependency.spring.version}</version>
<!-- exclude spring-jcl which is brought in by spring-core -->
<!-- see https://issues.alfresco.com/jira/browse/REPO-4774 -->
<exclusions>
@@ -71,12 +62,10 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${dependency.spring.version}</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
<!-- exclude c3p0 -->
<!-- see https://issues.alfresco.com/jira/browse/REPO-3447 -->
<exclusions>
@@ -89,7 +78,6 @@
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-surf-core-configservice</artifactId>
<version>${dependency.webscripts.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
@@ -99,7 +87,6 @@
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
@@ -119,14 +106,12 @@
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.5</version>
</dependency>
<!-- provided dependencies -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
@@ -139,19 +124,16 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.2.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4-DBCP330</version>
<scope>test</scope>
</dependency>
</dependencies>

View File

@@ -1,47 +0,0 @@
### Alfresco Data Model
[![Build Status](https://travis-ci.com/Alfresco/alfresco-data-model.svg?branch=master)](https://travis-ci.com/Alfresco/alfresco-data-model)
Data model is a library packaged as a jar file which is part of [Alfresco Content Services Repository](https://community.alfresco.com/docs/DOC-6385-project-overview-repository).
The library contains the following:
* Dictionary, Repository and Search Services interfaces
* Models for data types and Dictionary implementation
* Parsers
Please note that the data model uses version 2 of the Jackson libraries.
The upgrade from version 1 was not backward compatible, any projects
that are dependent on data model using Jackson 1.x should use the data-model 6.N branch.
Version 8.0 of data-model depends on alfresco-core 7.0 which is based on Spring 5.
### Building and testing
The project can be built and tested by running Maven command:
~~~
mvn clean install
~~~
### Artifacts
The artifacts can be obtained by:
* downloading from [Alfresco repository](https://artifacts.alfresco.com/nexus/content/groups/public)
* getting as Maven dependency by adding the dependency to your pom file:
~~~
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-data-model</artifactId>
<version>version</version>
</dependency>
~~~
and Alfresco repository:
~~~
<repository>
<id>alfresco-maven-repo</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
~~~
The SNAPSHOT version of the artifact is **never** published.
### Old version history
The history for older versions can be found in [Alfresco SVN](https://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD/root/projects/data-model)
### Contributing guide
Please use [this guide](CONTRIBUTING.md) to make a contribution to the project.

View File

@@ -7,7 +7,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<properties>
@@ -133,7 +133,6 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<!--
@@ -147,8 +146,7 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.10.2</version>
</dependency>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
@@ -194,7 +192,6 @@
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0-alfresco-patched-20191004</version>
</dependency>
<!-- Tika -->
<dependency>
@@ -226,19 +223,16 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>gunit</artifactId>
<version>3.5.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.2.4</version>
<scope>test</scope>
</dependency>
</dependencies>

View File

@@ -618,7 +618,13 @@ public class AuthenticationUtil implements InitializingBean
{
if (originalFullAuthentication == null)
{
AuthenticationUtil.clearCurrentSecurityContext();
if (logger.isTraceEnabled())
{
logger.trace("Removing the current security information for thread: " + Thread.currentThread().getName());
}
ContextHolder.setContext(null);
TenantContextHolder.clearTenantDomain();
logNDC(null);
}
else

View File

@@ -37,7 +37,6 @@ import org.alfresco.repo.cache.SimpleCache;
import org.alfresco.service.cmr.repository.datatype.Duration;
import org.alfresco.util.GUID;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.safehaus.uuid.UUIDGenerator;
@@ -63,7 +62,7 @@ public class InMemoryTicketComponentImpl implements TicketComponent
private boolean oneOff;
private String guid;
private SimpleCache<String, Ticket> ticketsCache; // Can't use Ticket as it's private
private SimpleCache<String, String> usernameKey;
private SimpleCache<String, String> usernameToTicketIdCache;
private ExpiryMode expiryMode = ExpiryMode.AFTER_INACTIVITY;
private boolean useSingleTicketPerUser = true;
@@ -85,10 +84,10 @@ public class InMemoryTicketComponentImpl implements TicketComponent
}
/**
* Set the usernameKey cache as secondary map for supporting cache clustering
* Set the usernameToTicketIdCache as secondary map for supporting cache clustering
*/
public void setUsernameKey (SimpleCache<String, String> usernameKey) {
this.usernameKey = usernameKey;
public void setUsernameToTicketIdCache (SimpleCache<String, String> usernameToTicketIdCache) {
this.usernameToTicketIdCache = usernameToTicketIdCache;
}
/**
@@ -146,55 +145,55 @@ public class InMemoryTicketComponentImpl implements TicketComponent
}
/**
* All put operations into ticketsCache should go through this method,
* All put operations into ticketsCache and usernameToTicketIdCache should go through this method,
* so we can debug/trace ticket problems easier from the logs
*/
private void putTicketIntoTicketsCache(Ticket ticket)
private void putIntoCache (Ticket ticket)
{
if (logger.isTraceEnabled())
{
logger.trace("Putting into ticketsCache " + ticketsCache.toString() + " ticket: " + ticket);
}
ticketsCache.put(ticket.getTicketId(), ticket);
}
/**
* All put operations into usernameKey cache should go through this method,
* so we can debug/trace problems easier from the logs
*/
private void putTicketIntoUsernameKeyCache (Ticket ticket)
{
if (logger.isTraceEnabled())
{
logger.trace("Putting into usernameKey " + usernameKey.toString() + " username and key of ticket: " + ticket);
logger.trace("Putting into usernameToTicketIdCache " + usernameToTicketIdCache.toString() + " username and ticketId of: " + ticket);
}
usernameKey.put(ticket.getUserName(), ticket.getTicketId());
usernameToTicketIdCache.put(ticket.getUserName(), ticket.getTicketId());
}
/**
* All remove operations from ticketsCache should go through this method,
* All remove operations from ticketsCache and usernameToTicketIdCache should go through this method,
* so we can debug/trace ticket problems easier from the logs
*/
private void removeTicketFromTicketsCache(String ticketId)
private void removeFromCache (String ticketId)
{
Ticket ticket = null;
if(ticketId != null)
{
ticket = ticketsCache.get(ticketId);
}
if (logger.isTraceEnabled())
{
logger.trace("Removing ticket from ticketsCache: " + ticketId);
}
ticketsCache.remove(ticketId);
}
/**
* All remove operations from usernameKey cache should go through this method,
* so we can debug/trace problems easier from the logs
*/
private void removeFromUsernameKey(String username)
{
if (logger.isTraceEnabled())
if(ticket != null)
{
logger.trace("Removing ticket key from usernameKey: " + username);
String username = ticket.getUserName();
String actualUserTicketIdFromCache = usernameToTicketIdCache.get(username);
if(ticketId.equals(actualUserTicketIdFromCache))
{
if (logger.isTraceEnabled())
{
logger.trace("Removing ticketId from usernameToTicketIdCache for: " + username);
}
usernameToTicketIdCache.remove(username);
}
}
usernameKey.remove(username);
}
@Override
@@ -214,8 +213,7 @@ public class InMemoryTicketComponentImpl implements TicketComponent
expiryDate = Duration.add(new Date(), validDuration);
}
ticket = new Ticket(ticketsExpire ? expiryMode : ExpiryMode.DO_NOT_EXPIRE, expiryDate, userName, validDuration);
putTicketIntoTicketsCache(ticket);
putTicketIntoUsernameKeyCache(ticket);
putIntoCache(ticket);
}
String ticketString = GRANTED_AUTHORITY_TICKET_PREFIX + ticket.getTicketId();
@@ -229,40 +227,20 @@ public class InMemoryTicketComponentImpl implements TicketComponent
private Ticket findNonExpiredUserTicket(String userName)
{
String keyFromCache = usernameKey.get(userName);
if(StringUtils.isNotBlank(keyFromCache)) {
Ticket ticketFromCache = ticketsCache.get(keyFromCache);
if(ticketFromCache != null) {
String userTicketIdFromCache = usernameToTicketIdCache.get(userName);
if(userTicketIdFromCache != null)
{
Ticket ticketFromCache = ticketsCache.get(userTicketIdFromCache);
if(ticketFromCache != null)
{
Ticket newTicket = ticketFromCache.getNewEntry();
if(newTicket != null)
{
if (newTicket != ticketFromCache)
{
putTicketIntoTicketsCache(newTicket);
putTicketIntoUsernameKeyCache(newTicket);
}
return ticketFromCache;
}
}
} else {
for (String key : ticketsCache.getKeys())
{
Ticket ticket = ticketsCache.get(key);
if (ticket != null)
{
if(ticket.getUserName().equals(userName))
{
Ticket newTicket = ticket.getNewEntry();
if(newTicket != null)
{
if (newTicket != ticket)
{
putTicketIntoTicketsCache(newTicket);
putTicketIntoUsernameKeyCache(newTicket);
}
return ticket;
}
putIntoCache(newTicket);
}
return newTicket;
}
}
}
@@ -301,16 +279,11 @@ public class InMemoryTicketComponentImpl implements TicketComponent
{
//this feature is deprecated
removeTicketFromTicketsCache(ticketKey);
String userName = newTicket.getUserName();
if(StringUtils.isNotBlank(userName)) {
removeFromUsernameKey(userName);
}
removeFromCache(ticketKey);
}
else if (newTicket != ticket)
{
putTicketIntoTicketsCache(newTicket);
putTicketIntoUsernameKeyCache(newTicket);
putIntoCache(newTicket);
}
currentTicket.set(ticketString);
if (logger.isTraceEnabled())
@@ -357,7 +330,7 @@ public class InMemoryTicketComponentImpl implements TicketComponent
public void invalidateTicketById(String ticketString)
{
String key = ticketString.substring(GRANTED_AUTHORITY_TICKET_PREFIX.length());
removeTicketFromTicketsCache(key);
removeFromCache(key);
}
@Override
@@ -419,10 +392,11 @@ public class InMemoryTicketComponentImpl implements TicketComponent
logger.trace("Clearing all tickets from the ticketsCache, that used to have size: " + count);
}
ticketsCache.clear();
usernameToTicketIdCache.clear();
}
else
{
Set<String> toRemove = new HashSet<String>();
Set<String> toRemove = new HashSet<>();
for (String key : ticketsCache.getKeys())
{
Ticket ticket = ticketsCache.get(key);
@@ -434,7 +408,7 @@ public class InMemoryTicketComponentImpl implements TicketComponent
}
for (String id : toRemove)
{
removeTicketFromTicketsCache(id);
removeFromCache(id);
}
}
return count;
@@ -443,35 +417,26 @@ public class InMemoryTicketComponentImpl implements TicketComponent
@Override
public void invalidateTicketByUser(String userName)
{
Set<String> toRemove = new HashSet<String>();
Set<String> toRemove = new HashSet<>();
String keyFromCache = usernameKey.get(userName);
if(StringUtils.isNotBlank(keyFromCache)) {
Ticket ticketFromCache = ticketsCache.get(keyFromCache);
if(ticketFromCache != null) {
toRemove.add(ticketFromCache.getTicketId());
}
} else {
for (String key : ticketsCache.getKeys())
for (String key : ticketsCache.getKeys())
{
Ticket ticket = ticketsCache.get(key);
// Hack: The getKeys() call might return keys for null marker objects, yielding null values
if(ticket == null)
{
Ticket ticket = ticketsCache.get(key);
// Hack: The getKeys() call might return keys for null marker objects, yielding null values
if (ticket == null)
{
continue;
}
if (ticket.getUserName().equals(userName))
{
toRemove.add(ticket.getTicketId());
}
continue;
}
if(ticket.getUserName().equals(userName))
{
toRemove.add(ticket.getTicketId());
}
}
for (String id : toRemove)
{
removeTicketFromTicketsCache(id);
removeFromCache(id);
}
removeFromUsernameKey(userName);
}
@Override

View File

@@ -22,6 +22,7 @@
<mimetype mimetype="application/vnd.ms-project" display="Microsoft Project">
<extension default="true">mpp</extension>
<extension>mpt</extension>
</mimetype>
<mimetype mimetype="image/vnd.adobe.photoshop" display="Adobe Photoshop">
@@ -108,11 +109,28 @@
<extension>acp</extension>
</mimetype>
<mimetype mimetype="application/vnd.visio" display="Microsoft Visio">
<extension>vsd</extension>
<extension default="true">vsd</extension>
<extension>vss</extension>
<extension>vst</extension>
</mimetype>
<mimetype mimetype="application/vnd.visio2013" display="Microsoft Visio 2013">
<extension>vsdx</extension>
</mimetype>
<mimetype mimetype="application/vnd.ms-visio.drawing.macroenabled.main+xml" display="Microsoft Visio macro-enabled drawing">
<extension>vsdm</extension>
</mimetype>
<mimetype mimetype="application/vnd.ms-visio.stencil.main+xml" display="Microsoft Visio stencil">
<extension>vssx</extension>
</mimetype>
<mimetype mimetype="application/vnd.ms-visio.stencil.macroenabled.main+xml" display="Microsoft Visio macro-enabled stencil">
<extension>vssm</extension>
</mimetype>
<mimetype mimetype="application/vnd.ms-visio.template.main+xml" display="Microsoft Visio template">
<extension>vstx</extension>
</mimetype>
<mimetype mimetype="application/vnd.ms-visio.template.macroenabled.main+xml" display="Microsoft Visio macro-enabled template">
<extension>vstm</extension>
</mimetype>
<mimetype mimetype="application/vnd.adobe.xdp+xml" display="Adobe Acrobat XML Data Package">
<extension>xdp</extension>
</mimetype>

View File

@@ -9,6 +9,6 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-packaging</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
</project>

View File

@@ -34,7 +34,7 @@ COPY ${resource_path}/war ${TOMCAT_DIR}/webapps
COPY ${resource_path}/connector/* ${TOMCAT_DIR}/lib/
COPY ${resource_path}/alfresco-mmt/* ${TOMCAT_DIR}/alfresco-mmt/
COPY ${resource_path}/dependency/licenses/ /licenses/
COPY ${resource_path}/dependency/keystore/metadata-keystore ${TOMCAT_DIR}/shared/classes/alfresco/extension/keystore/
COPY ${resource_path}/dependency/keystore/metadata-keystore/keystore ${TOMCAT_DIR}/shared/classes/alfresco/extension/keystore
# Change the value of the shared.loader= property to the following:
# shared.loader=${catalina.base}/shared/classes
@@ -72,7 +72,7 @@ RUN yum install -y fontconfig-2.13.0-4.3.el7 \
dejavu-sans-fonts-2.33-6.el7 && \
yum clean all
# The standard configuration is to have all Tomcat files owned by root with group GROUPNAME and whilst owner has read/write privileges,
# The standard configuration is to have all Tomcat files owned by root with group GROUPNAME and whilst owner has read/write privileges,
# group only has restricted permissions and world has no permissions.
RUN mkdir -p ${TOMCAT_DIR}/conf/Catalina/localhost && \
mkdir -p ${TOMCAT_DIR}/alf_data && \
@@ -91,9 +91,9 @@ RUN mkdir -p ${TOMCAT_DIR}/conf/Catalina/localhost && \
chmod g+rwx ${TOMCAT_DIR}/temp && \
chmod g+rwx ${TOMCAT_DIR}/work && \
chmod o-w ${TOMCAT_DIR}/work && \
chmod 664 ${TOMCAT_DIR}/alfresco-mmt/alfresco-mmt-*.jar && \
find /licenses -type d -exec chmod 0775 {} \; && \
find /licenses -type f -exec chmod 0664 {} \;
chmod 644 ${TOMCAT_DIR}/alfresco-mmt/alfresco-mmt-*.jar && \
find /licenses -type d -exec chmod 0755 {} \; && \
find /licenses -type f -exec chmod 0644 {} \;
EXPOSE 10001

View File

@@ -7,7 +7,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-packaging</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<properties>

View File

@@ -7,7 +7,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<profiles>

View File

@@ -1,4 +1,4 @@
TRANSFORMERS_TAG=2.3.1
SOLR6_TAG=1.4.2
TRANSFORMERS_TAG=2.3.5
SOLR6_TAG=2.0.0
POSTGRES_TAG=11.7
ACTIVEMQ_TAG=5.15.8

View File

@@ -6,7 +6,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-packaging</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<modules>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-tests</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<developers>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-tests</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<developers>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-tests</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<developers>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-tests</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<developers>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-tests</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<developers>

View File

@@ -7,12 +7,12 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo-packaging</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<properties>
<scm-path>local/development/workspace</scm-path>
<scm-revision>${buildNumber}</scm-revision>
<scm-path>${project.parent.parent.scm.url}</scm-path>
<scm-revision>${build-number}</scm-revision>
</properties>
<dependencies>
@@ -41,7 +41,6 @@
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.avalon.framework</groupId>
@@ -72,7 +71,6 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<!-- Test dependencies -->
@@ -101,18 +99,15 @@
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${dependency.spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.3.3</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -124,13 +119,11 @@
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${dependency.postgresql.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${dependency.mysql.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -271,6 +264,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<source>${maven.build.sourceVersion}</source>
</configuration>

41
pom.xml
View File

@@ -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>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
<packaging>pom</packaging>
<name>Alfresco Community Repo Parent</name>
@@ -23,7 +23,7 @@
<properties>
<acs.version.major>6</acs.version.major>
<acs.version.minor>2</acs.version.minor>
<acs.version.revision>1</acs.version.revision>
<acs.version.revision>3</acs.version.revision>
<acs.version.label />
<version.edition>Community</version.edition>
@@ -62,9 +62,9 @@
<dependency.cxf.version>3.3.5</dependency.cxf.version>
<dependency.opencmis.version>1.0.0</dependency.opencmis.version>
<dependency.pdfbox.version>2.0.19</dependency.pdfbox.version>
<dependency.webscripts.version>7.14</dependency.webscripts.version>
<dependency.webscripts.version>7.16</dependency.webscripts.version>
<dependency.bouncycastle.version>1.64</dependency.bouncycastle.version>
<dependency.mockito-core.version>3.2.4</dependency.mockito-core.version>
<dependency.mockito-core.version>3.4.6</dependency.mockito-core.version>
<dependency.org-json.version>20090211</dependency.org-json.version>
<dependency.commons-dbcp.version>1.4-DBCP330</dependency.commons-dbcp.version>
<dependency.guava.version>28.2-jre</dependency.guava.version>
@@ -75,32 +75,32 @@
<dependency.commons-httpclient.version>3.1-HTTPCLIENT-1265</dependency.commons-httpclient.version>
<dependency.xercesImpl.version>2.12.0-alfresco-patched-20191004</dependency.xercesImpl.version>
<dependency.slf4j.version>1.7.30</dependency.slf4j.version>
<dependency.gytheio.version>0.11.3</dependency.gytheio.version>
<dependency.gytheio.version>0.11.6</dependency.gytheio.version>
<dependency.jaxb.version>2.3.2</dependency.jaxb.version>
<dependency.groovy.version>2.5.9</dependency.groovy.version>
<dependency.javax.mail.version>1.6.2</dependency.javax.mail.version>
<dependency.tika.version>1.21-20190624-alfresco-patched</dependency.tika.version>
<dependency.tika.version>1.24.1</dependency.tika.version>
<dependency.spring-security.version>5.1.9.RELEASE</dependency.spring-security.version>
<dependency.truezip.version>7.7.10</dependency.truezip.version>
<dependency.poi.version>4.1.1</dependency.poi.version>
<dependency.poi.version>4.1.2</dependency.poi.version>
<dependency.ooxml-schemas.version>1.4</dependency.ooxml-schemas.version>
<dependency.keycloak.version>9.0.3</dependency.keycloak.version>
<dependency.keycloak.version>11.0.0-alfresco-001</dependency.keycloak.version>
<dependency.jboss.logging.version>3.4.1.Final</dependency.jboss.logging.version>
<dependency.camel.version>2.24.2</dependency.camel.version>
<dependency.activemq.version>5.15.11</dependency.activemq.version>
<dependency.apache.taglibs.version>1.2.5</dependency.apache.taglibs.version>
<alfresco.googledrive.version>3.2.0</alfresco.googledrive.version>
<alfresco.aos-module.version>1.3.1</alfresco.aos-module.version>
<alfresco.aos-module.version>1.3.2-RC1</alfresco.aos-module.version>
<dependency.postgresql.version>42.2.12</dependency.postgresql.version>
<dependency.postgresql.version>42.2.14</dependency.postgresql.version>
<dependency.mysql.version>8.0.19</dependency.mysql.version>
<dependency.mariadb.version>2.6.0</dependency.mariadb.version>
<dependency.tas-utility.version>3.0.20</dependency.tas-utility.version>
<dependency.tas-utility.version>3.0.21</dependency.tas-utility.version>
<dependency.rest-assured.version>3.3.0</dependency.rest-assured.version>
<dependency.javax.json.version>1.1.4</dependency.javax.json.version>
<dependency.tas-restapi.version>1.33</dependency.tas-restapi.version>
<dependency.tas-restapi.version>1.43</dependency.tas-restapi.version>
<dependency.tas-cmis.version>1.13</dependency.tas-cmis.version>
<dependency.tas-email.version>1.8</dependency.tas-email.version>
<dependency.tas-webdav.version>1.6</dependency.tas-webdav.version>
@@ -112,7 +112,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>7.183.300-TEST2</tag>
<tag>7.300-TEST3</tag>
</scm>
<distributionManagement>
@@ -172,11 +172,6 @@
<classifier>win64</classifier>
<type>tgz</type>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-pdf-renderer</artifactId>
<version>${dependency.alfresco-pdf-renderer.version}</version>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-server-root</artifactId>
@@ -232,7 +227,7 @@
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
@@ -488,12 +483,6 @@
<artifactId>xercesImpl</artifactId>
<version>${dependency.xercesImpl.version}</version>
</dependency>
<!-- Newer metadata-extractor, used in TIKA, see ACS-370 -->
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.11.0</version>
</dependency>
<!-- upgrade dependency from TIKA -->
<dependency>
<groupId>com.github.junrar</groupId>
@@ -678,7 +667,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.1</version>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>

View File

@@ -1,41 +0,0 @@
### Alfresco Remote API
[![Build Status](https://travis-ci.com/Alfresco/alfresco-remote-api.svg?branch=master)](https://travis-ci.com/Alfresco/alfresco-remote-api)
Remote API is a library packaged as a jar file which is part of [Alfresco Content Services Repository](https://community.alfresco.com/docs/DOC-6385-project-overview-repository).
The library contains the following:
* REST API framework
* WebScript implementations including [V1 REST APIs](https://community.alfresco.com/community/ecm/blog/2017/05/02/v1-rest-api-10-things-you-should-know)
* [OpenCMIS](https://chemistry.apache.org/java/opencmis.html) implementations
### Building and testing
The project can be built by running Maven command:
~~~
mvn clean install
~~~
The tests are combined in test classes split by test type or Spring application context used in the test, see classes in _src/test/java/org/alfresco_. All of these classes as well as individual tests can be run by specifying the test class name and a set of DB connection properties, for example:
~~~
mvn clean test -Dtest=SomeTest -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql:alfresco -Ddb.username=alfresco -Ddb.password=alfresco
~~~
### Artifacts
The artifacts can be obtained by:
* downloading from [Alfresco repository](https://artifacts.alfresco.com/nexus/content/groups/public)
* getting as Maven dependency by adding the dependency to your pom file:
~~~
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-remote-api</artifactId>
<version>version</version>
</dependency>
~~~
and Alfresco Maven repository:
~~~
<repository>
<id>alfresco-maven-repo</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
~~~
The SNAPSHOT version of the artifact is **never** published.
### Contributing guide
Please use [this guide](CONTRIBUTING.md) to make a contribution to the project.

View File

@@ -7,7 +7,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<dependencies>
@@ -24,28 +24,23 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${dependency.jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${dependency.jackson-databind.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${dependency.jackson.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>org.apache.santuario</groupId>
@@ -56,7 +51,6 @@
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-webscripts</artifactId>
<version>${dependency.webscripts.version}</version>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
@@ -78,19 +72,16 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${dependency.spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -110,14 +101,12 @@
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-webscripts</artifactId>
<version>${dependency.webscripts.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${dependency.postgresql.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -158,7 +147,6 @@
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-pdf-renderer</artifactId>
<version>${dependency.alfresco-pdf-renderer.version}</version>
<classifier>win64</classifier>
<type>tgz</type>
</dependency>
@@ -203,7 +191,6 @@
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-pdf-renderer</artifactId>
<version>${dependency.alfresco-pdf-renderer.version}</version>
<classifier>linux</classifier>
<type>tgz</type>
</dependency>
@@ -240,54 +227,6 @@
<alfresco-pdf-renderer.exe>${project.build.directory}/test-binaries/alfresco-pdf-renderer/alfresco-pdf-renderer</alfresco-pdf-renderer.exe>
</properties>
</profile>
<profile>
<id>osx-alfresco-pdf-renderer-test</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-pdf-renderer</artifactId>
<version>${dependency.alfresco-pdf-renderer.version}</version>
<classifier>osx</classifier>
<type>tgz</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<inherited>false</inherited>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>extract-alfresco-pdf-renderer-test</id>
<phase>generate-test-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<skip>${skipTests}</skip>
<target>
<echo message="Extracting alfresco-pdf-renderer (OS-X) for testing..." />
<mkdir dir="${project.build.directory}/test-binaries/alfresco-pdf-renderer" />
<exec failonerror="true" executable="tar" dir="${project.build.directory}/test-binaries/alfresco-pdf-renderer">
<arg value="xf" />
<arg value="${settings.localRepository}/org/alfresco/alfresco-pdf-renderer/${dependency.alfresco-pdf-renderer.version}/alfresco-pdf-renderer-${dependency.alfresco-pdf-renderer.version}-osx.tgz" />
</exec>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<alfresco-pdf-renderer.exe>${project.build.directory}/test-binaries/alfresco-pdf-renderer/alfresco-pdf-renderer</alfresco-pdf-renderer.exe>
</properties>
</profile>
</profiles>
<build>
<pluginManagement>

View File

@@ -438,7 +438,7 @@ import org.springframework.extensions.webscripts.json.JSONUtils;
{
public String convert(ChildAssociationRef source)
{
return source.toString();
return org.json.simple.JSONObject.escape(source.toString());
}
});
@@ -454,7 +454,7 @@ import org.springframework.extensions.webscripts.json.JSONUtils;
{
public String convert(AssociationRef source)
{
return source.toString();
return org.json.simple.JSONObject.escape(source.toString());
}
});

View File

@@ -366,7 +366,22 @@ public abstract class BaseKerberosAuthenticationFilter extends BaseSSOAuthentica
}
// Send back a request for SPNEGO authentication
logonStartAgain(context, req, resp, true);
// MNT-21702 fixing Kerberos SSO fallback machanism for WebDAV
if (req.getRequestURL().toString().contains("webdav"))
{
if ( getLogger().isDebugEnabled()) {
getLogger().debug("WebDAV request, fallback");
}
logonStartAgain(context, req, resp, false);
}
else
{
if ( getLogger().isDebugEnabled()) {
getLogger().debug("Non-WebDAV request, don't fallback");
}
logonStartAgain(context, req, resp, true);
}
return false;
}

View File

@@ -52,6 +52,7 @@ import org.alfresco.repo.security.authentication.AuthenticationException;
import org.alfresco.repo.web.auth.WebCredentials;
import org.alfresco.repo.web.filter.beans.DependencyInjectedFilter;
import org.alfresco.rest.api.PublicApiTenantWebScriptServletRequest;
import org.alfresco.rest.framework.core.exceptions.NotFoundException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.extensions.webscripts.RuntimeContainer;
@@ -201,7 +202,16 @@ public abstract class BaseSSOAuthenticationFilter extends BaseAuthenticationFilt
// Get the HTTP request/response
HttpServletRequest req = (HttpServletRequest) request;
Match match = container.getRegistry().findWebScript(req.getMethod(), getScriptUrl(req));
Match match = null;
try
{
match = container.getRegistry().findWebScript(req.getMethod(), getScriptUrl(req));
}
catch (NotFoundException | IllegalArgumentException Ex)
{
getLogger().debug(req.getMethod() + " " + getScriptUrl(req) + "not found in Public API Container.");
}
// If a filter up the chain has marked the request as not requiring auth then respect it
if (request.getAttribute(NO_AUTH_REQUIRED) != null)

View File

@@ -4,57 +4,121 @@
* %%
* Copyright (C) 2005 - 2016 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
* 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
* 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.repo.web.scripts.solr;
import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.Date;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.web.scripts.solr.SOLRSerializer.SOLRTypeConverter;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.repository.AssociationRef;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.util.ISO8601DateFormat;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Test;
import org.mockito.Mockito;
public class SOLRSerializerTest
public class SOLRSerializerTest
{
@Test
@Test
public void testDateSerializer()
{
SOLRTypeConverter typeConverter = new SOLRTypeConverter(null);
trip(typeConverter, "1912-01-01T00:40:00-06:00", "1912-01-01T06:40:00.000Z");
trip(typeConverter, "1812-01-01T00:40:00-06:00", "1812-01-01T06:40:00.000Z");
trip(typeConverter, "1845-01-01T00:40:00-06:00", "1845-01-01T06:40:00.000Z");
trip(typeConverter, "1846-01-01T00:40:00-06:00", "1846-01-01T06:40:00.000Z");
trip(typeConverter, "1847-01-01T00:40:00-06:00", "1847-01-01T06:40:00.000Z");
trip(typeConverter, "1848-01-01T00:40:00-06:00", "1848-01-01T06:40:00.000Z");
SOLRTypeConverter typeConverter = new SOLRTypeConverter(null);
trip(typeConverter, "1912-01-01T00:40:00-06:00", "1912-01-01T06:40:00.000Z");
trip(typeConverter, "1812-01-01T00:40:00-06:00", "1812-01-01T06:40:00.000Z");
trip(typeConverter, "1845-01-01T00:40:00-06:00", "1845-01-01T06:40:00.000Z");
trip(typeConverter, "1846-01-01T00:40:00-06:00", "1846-01-01T06:40:00.000Z");
trip(typeConverter, "1847-01-01T00:40:00-06:00", "1847-01-01T06:40:00.000Z");
trip(typeConverter, "1848-01-01T00:40:00-06:00", "1848-01-01T06:40:00.000Z");
}
private void trip( SOLRTypeConverter typeConverter, String iso, String zulu)
{
Date testDate = ISO8601DateFormat.parse(iso);
String strDate = typeConverter.INSTANCE.convert(String.class, testDate);
assertEquals(zulu, strDate);
}
private void trip(SOLRTypeConverter typeConverter, String iso, String zulu)
{
Date testDate = ISO8601DateFormat.parse(iso);
String strDate = typeConverter.INSTANCE.convert(String.class, testDate);
assertEquals(zulu, strDate);
}
/**
* Test SOLR Serialization including values with special characters for ChildAssociationRef
*/
@Test
public void testChildAssociationRefToJSONString()
{
SOLRSerializer solrSerializer = new SOLRSerializer();
solrSerializer.setDictionaryService(Mockito.mock(DictionaryService.class));
solrSerializer.setNamespaceService(Mockito.mock(NamespaceService.class));
solrSerializer.init();
// Create a Child QName including special character \
QName childQName = QName.createQName("hello", "wo\rld");
ChildAssociationRef childAssociationRef = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS,
new NodeRef("workspace://SpacesStore/parent"), childQName,
new NodeRef("workspace://SpacesStore/child"));
String validJsonString = solrSerializer.serializeToJSONString(childAssociationRef);
String jsonObjectString = String.format("{ \"key\": \"%s\" }", validJsonString);
try
{
new JSONObject(jsonObjectString);
}
catch (JSONException e)
{
assertTrue("JSON String " + jsonObjectString + " is not a valid JSON", false);
}
}
/**
* Test SOLR Serialization including values with special characters for AssociationRef
*/
@Test
public void testAssociationRefToJSONString()
{
SOLRSerializer solrSerializer = new SOLRSerializer();
solrSerializer.setDictionaryService(Mockito.mock(DictionaryService.class));
solrSerializer.setNamespaceService(Mockito.mock(NamespaceService.class));
solrSerializer.init();
AssociationRef associationRef = new AssociationRef(
new NodeRef("workspace://SpacesStore/wo\rld"),
ContentModel.ASSOC_ATTACHMENTS,
new NodeRef("workspace://SpacesStore/hello"));
String validJsonString = solrSerializer.serializeToJSONString(associationRef);
String jsonObjectString = String.format("{ \"key\": \"%s\" }", validJsonString);
try
{
new JSONObject(jsonObjectString);
}
catch (JSONException e)
{
assertTrue("JSON String " + jsonObjectString + " is not a valid JSON", false);
}
}
}

View File

@@ -1,41 +0,0 @@
### Alfresco Repository
[![Build Status](https://travis-ci.com/Alfresco/alfresco-repository.svg?branch=master)](https://travis-ci.com/Alfresco/alfresco-repository)
Repository is a library packaged as a jar file which is part of [Alfresco Content Services Repository](https://community.alfresco.com/docs/DOC-6385-project-overview-repository).
The library contains the following:
* DAOs and SQL scripts
* Various Service implementations
* Utility classes
### Building and testing
The project can be built by running Maven command:
~~~
mvn clean install
~~~
The tests are combined in test classes split by test type or Spring application context used in the test, see classes in _src/test/java/org/alfresco_. All of these classes as well as individual tests can be run by specifying the test class name and a set of DB connection properties, for example:
~~~
mvn clean test -Dtest=SomeRepoTest -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql:alfresco -Ddb.username=alfresco -Ddb.password=alfresco
~~~
### Artifacts
The artifacts can be obtained by:
* downloading from [Alfresco repository](https://artifacts.alfresco.com/nexus/content/groups/public)
* getting as Maven dependency by adding the dependency to your pom file:
~~~
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-repository</artifactId>
<version>version</version>
</dependency>
~~~
and Alfresco Maven repository:
~~~
<repository>
<id>alfresco-maven-repo</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
~~~
The SNAPSHOT version of the artifact is **never** published.
### Contributing guide
Please use [this guide](CONTRIBUTING.md) to make a contribution to the project.

View File

@@ -7,7 +7,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo</artifactId>
<version>7.183.300-TEST2</version>
<version>7.300-TEST3</version>
</parent>
<dependencies>
@@ -19,7 +19,6 @@
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-jlan-embed</artifactId>
<version>${dependency.alfresco-jlan.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
@@ -40,7 +39,6 @@
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-heartbeat-data-sender</artifactId>
<version>${dependency.alfresco-hb-data-sender.version}</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
@@ -55,12 +53,10 @@
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4-DBCP330</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
@@ -86,7 +82,6 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
@@ -126,7 +121,6 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${dependency.spring.version}</version>
<!-- exclude spring-jcl which is brought in by spring-core -->
<!-- see https://issues.alfresco.com/jira/browse/REPO-4774 -->
<exclusions>
@@ -139,7 +133,6 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${dependency.spring.version}</version>
<!-- exclude spring-jcl which is brought in by spring-orm -->
<!-- see https://issues.alfresco.com/jira/browse/REPO-4774 -->
<exclusions>
@@ -152,17 +145,14 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${dependency.spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${dependency.spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${dependency.spring.version}</version>
</dependency>
<dependency>
<groupId>org.subethamail</groupId>
@@ -215,22 +205,18 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0-alfresco-patched-20191004</version>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.2-alfresco</version>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
@@ -271,7 +257,6 @@
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>${dependency.pdfbox.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
@@ -342,7 +327,6 @@
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.5</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
@@ -379,7 +363,6 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
@@ -392,19 +375,16 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${dependency.jackson-databind.version}</version>
</dependency>
<!-- Spring Surf -->
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-surf-core-configservice</artifactId>
<version>${dependency.webscripts.version}</version>
</dependency>
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-webscripts</artifactId>
<version>${dependency.webscripts.version}</version>
<exclusions>
<exclusion>
<groupId>com.sun</groupId>
@@ -427,7 +407,6 @@
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-webscripts-api</artifactId>
<version>${dependency.webscripts.version}</version>
</dependency>
<!-- Chemistry -->
@@ -451,7 +430,6 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.2-jre</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
@@ -467,8 +445,7 @@
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
<exclusions>
<exclusions>
<exclusion>
<groupId>com.mchange</groupId>
<artifactId>*</artifactId>
@@ -801,19 +778,16 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${dependency.spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -852,19 +826,16 @@
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${dependency.postgresql.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${dependency.mysql.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>${dependency.mariadb.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -876,13 +847,11 @@
<dependency>
<groupId>org.antlr</groupId>
<artifactId>gunit</artifactId>
<version>${dependency.antlr.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-webscripts</artifactId>
<version>${dependency.webscripts.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
@@ -940,7 +909,6 @@
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-pdf-renderer</artifactId>
<version>${dependency.alfresco-pdf-renderer.version}</version>
<classifier>win64</classifier>
<type>tgz</type>
</dependency>
@@ -985,7 +953,6 @@
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-pdf-renderer</artifactId>
<version>${dependency.alfresco-pdf-renderer.version}</version>
<classifier>linux</classifier>
<type>tgz</type>
</dependency>
@@ -1022,54 +989,6 @@
<alfresco-pdf-renderer.exe>${project.build.directory}/test-binaries/alfresco-pdf-renderer/alfresco-pdf-renderer</alfresco-pdf-renderer.exe>
</properties>
</profile>
<profile>
<id>osx-alfresco-pdf-renderer-test</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-pdf-renderer</artifactId>
<version>${dependency.alfresco-pdf-renderer.version}</version>
<classifier>osx</classifier>
<type>tgz</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<inherited>false</inherited>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>extract-alfresco-pdf-renderer-test</id>
<phase>generate-test-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<skip>${skipTests}</skip>
<target>
<echo message="Extracting alfresco-pdf-renderer (OS-X) for testing..." />
<mkdir dir="${project.build.directory}/test-binaries/alfresco-pdf-renderer" />
<exec failonerror="true" executable="tar" dir="${project.build.directory}/test-binaries/alfresco-pdf-renderer">
<arg value="xf" />
<arg value="${settings.localRepository}/org/alfresco/alfresco-pdf-renderer/${dependency.alfresco-pdf-renderer.version}/alfresco-pdf-renderer-${dependency.alfresco-pdf-renderer.version}-osx.tgz" />
</exec>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<alfresco-pdf-renderer.exe>${project.build.directory}/test-binaries/alfresco-pdf-renderer/alfresco-pdf-renderer</alfresco-pdf-renderer.exe>
</properties>
</profile>
</profiles>

View File

@@ -81,22 +81,19 @@ public class TransactionAwareHolder<T> extends Holder<T>
{
this.internalHolder = internalHolder;
this.value = internalHolder.getValue();
txListener = new TxAwareHolderListener();
}
@Override
public T getValue()
{
if (TransactionSynchronizationManager.isSynchronizationActive())
{
AlfrescoTransactionSupport.bindListener(txListener);
}
registerTxListenerIfNeeded();
return this.value;
}
@Override
public void setValue(T value)
{
registerTxListenerIfNeeded();
this.value = value;
}
@@ -109,6 +106,17 @@ public class TransactionAwareHolder<T> extends Holder<T>
'}';
}
// MNT-21800 CMIS Web Service Check Out returns error
private void registerTxListenerIfNeeded()
{
if (this.txListener == null && TransactionSynchronizationManager.isSynchronizationActive())
{
TxAwareHolderListener listener = new TxAwareHolderListener();
AlfrescoTransactionSupport.bindListener(listener);
this.txListener = listener;
}
}
private class TxAwareHolderListener extends TransactionListenerAdapter
{
@Override

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -36,6 +36,8 @@ import org.apache.tika.parser.dwg.DWGParser;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Metadata extractor for the
* {@link org.alfresco.repo.content.MimetypeMap#MIMETYPE_APP_DWG MIMETYPE_APP_DWG}
* and
@@ -55,6 +57,7 @@ import org.apache.tika.parser.dwg.DWGParser;
* @since 3.4
* @author Nick Burch
*/
@Deprecated
public class DWGMetadataExtracter extends TikaPoweredMetadataExtracter
{
private static final String KEY_KEYWORD = "keyword";

View File

@@ -24,7 +24,7 @@
* #L%
*/
/*
* Copyright (C) 2005 Jesper Steen Møller
* Copyright (C) 2005 - 2020 Jesper Steen Møller
*
* This file is part of Alfresco
*
@@ -61,6 +61,8 @@ import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.service.cmr.repository.ContentReader;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Extracts the following values from HTML documents:
* <pre>
* <b>author:</b> -- cm:author
@@ -75,6 +77,7 @@ import org.alfresco.service.cmr.repository.ContentReader;
* @author Jesper Steen Møller
* @author Derek Hulley
*/
@Deprecated
public class HtmlMetadataExtracter extends AbstractMappingMetadataExtracter
{
private static final String KEY_AUTHOR = "author";

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2017 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -39,6 +39,8 @@ import org.alfresco.service.cmr.repository.ContentReader;
import org.alfresco.util.PropertyCheck;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Extracts values from Open Office documents into the following:
* <pre>
* <b>author:</b> -- cm:author
@@ -48,6 +50,7 @@ import org.alfresco.util.PropertyCheck;
*
* @author Neil McErlean
*/
@Deprecated
public class JodConverterMetadataExtracter extends AbstractMappingMetadataExtracter implements OpenOfficeMetadataWorker
{
private OpenOfficeMetadataWorker worker;

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2017 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -59,6 +59,10 @@ import com.sun.star.util.CloseVetoException;
import com.sun.star.util.XCloseable;
import com.sun.star.util.XRefreshable;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*/
@Deprecated
public class JodConverterMetadataExtracterWorker implements
OpenOfficeMetadataWorker
{
@@ -120,6 +124,7 @@ public class JodConverterMetadataExtracterWorker implements
}
}
@Deprecated
class ExtractMetadataOfficeTask implements OfficeTask
{
/*
@@ -259,6 +264,7 @@ class ExtractMetadataOfficeTask implements OfficeTask
}
}
@Deprecated
class ResultsCallback
{
private Map<String, Serializable> results = new HashMap<String, Serializable>();

View File

@@ -1,28 +1,28 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2020 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.repo.content.metadata;
import java.io.Serializable;
@@ -36,6 +36,8 @@ import org.apache.tika.parser.Parser;
import org.apache.tika.parser.mp3.Mp3Parser;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Extracts the following values from MP3 files:
* <pre>
* <b>songTitle:</b> -- cm:title
@@ -57,6 +59,7 @@ import org.apache.tika.parser.mp3.Mp3Parser;
*
* @author Nick Burch
*/
@Deprecated
public class MP3MetadataExtracter extends TikaAudioMetadataExtracter
{
private static final String KEY_SONG_TITLE = "songTitle";

View File

@@ -1,28 +1,28 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2020 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.repo.content.metadata;
import java.io.Serializable;
@@ -35,6 +35,8 @@ import org.apache.tika.parser.Parser;
import org.apache.tika.parser.microsoft.OfficeParser;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Outlook MAPI format email meta-data extractor extracting the following values:
* <pre>
* <b>sentDate:</b> -- cm:sentdate
@@ -53,6 +55,7 @@ import org.apache.tika.parser.microsoft.OfficeParser;
* @since 2.1
* @author Kevin Roast
*/
@Deprecated
public class MailMetadataExtracter extends TikaPoweredMetadataExtracter
{
private static final String KEY_SENT_DATE = "sentDate";

View File

@@ -1,28 +1,28 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2020 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.repo.content.metadata;
import java.util.List;
@@ -31,11 +31,14 @@ import org.apache.tika.extractor.DocumentSelector;
import org.apache.tika.metadata.Metadata;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Tika 1.6 has the ability to parse embedded artifacts, such as images in a PDF,
* but this can be very resource intensive so adding this selector
* to parsers and transformers that handle formats with embedded artifacts
* will disable parsing of the specified content types.
*/
@Deprecated
public class MediaTypeDisablingDocumentSelector implements DocumentSelector
{
private List<String> disabledMediaTypes;

View File

@@ -1,30 +1,30 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* Copyright (C) 2005 Jesper Steen Møller
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2020 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%
*/
/*
* Copyright (C) 2005 - 2020 Jesper Steen Møller
*
* This file is part of Alfresco
*
@@ -53,6 +53,8 @@ import org.apache.tika.parser.Parser;
import org.apache.tika.parser.microsoft.OfficeParser;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Office file format Metadata Extracter. This extracter uses the POI library to extract
* the following:
* <pre>
@@ -78,6 +80,7 @@ import org.apache.tika.parser.microsoft.OfficeParser;
* @author Derek Hulley
* @author Nick Burch
*/
@Deprecated
public class OfficeMetadataExtracter extends TikaPoweredMetadataExtracter
{
public static final String KEY_CREATE_DATETIME = "createDateTime";

View File

@@ -1,30 +1,30 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* Copyright (C) 2005 Antti Jokipii
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* Copyright (C) 2005 - 2020 Antti Jokipii
*
* This file is part of Alfresco
*
@@ -59,6 +59,8 @@ import org.joda.time.format.DateTimeFormatter;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Metadata extractor for the
* {@link org.alfresco.repo.content.MimetypeMap#MIMETYPE_OPENDOCUMENT_TEXT MIMETYPE_OPENDOCUMENT_XXX}
* mimetypes.
@@ -86,6 +88,7 @@ import org.joda.time.format.DateTimeFormatter;
* @author Antti Jokipii
* @author Derek Hulley
*/
@Deprecated
public class OpenDocumentMetadataExtracter extends TikaPoweredMetadataExtracter
{
private static final String KEY_CREATION_DATE = "creationDate";

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -23,28 +23,31 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.repo.content.metadata;
import java.io.Serializable;
import java.util.Map;
import org.alfresco.service.cmr.repository.ContentReader;
/**
* An interface that allows separation between the metadata extractor registry and the third party subsystem owning the
* open office connection.
*
* @author dward
*/
public interface OpenOfficeMetadataWorker
{
/**
* @return Returns true if a connection to the Uno server could be established
*/
public boolean isConnected();
/**
* @see AbstractMappingMetadataExtracter#extractRaw(ContentReader)
*/
public Map<String, Serializable> extractRaw(ContentReader reader) throws Throwable;
package org.alfresco.repo.content.metadata;
import java.io.Serializable;
import java.util.Map;
import org.alfresco.service.cmr.repository.ContentReader;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* An interface that allows separation between the metadata extractor registry and the third party subsystem owning the
* open office connection.
*
* @author dward
*/
@Deprecated
public interface OpenOfficeMetadataWorker
{
/**
* @return Returns true if a connection to the Uno server could be established
*/
public boolean isConnected();
/**
* @see AbstractMappingMetadataExtracter#extractRaw(ContentReader)
*/
public Map<String, Serializable> extractRaw(ContentReader reader) throws Throwable;
}

View File

@@ -1,30 +1,30 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* Copyright (C) 2005 Jesper Steen Møller
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* Copyright (C) 2005 - 2020 Jesper Steen Møller
*
* This file is part of Alfresco
*
@@ -52,6 +52,8 @@ import org.apache.tika.parser.Parser;
import org.apache.tika.parser.pdf.PDFParser;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Metadata extractor for the PDF documents.
* <pre>
* <b>author:</b> -- cm:author
@@ -66,6 +68,7 @@ import org.apache.tika.parser.pdf.PDFParser;
* @author Jesper Steen Møller
* @author Derek Hulley
*/
@Deprecated
public class PdfBoxMetadataExtracter extends TikaPoweredMetadataExtracter
{
protected static Log pdfLogger = LogFactory.getLog(PdfBoxMetadataExtracter.class);

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -36,6 +36,8 @@ import org.apache.tika.parser.microsoft.ooxml.OOXMLParser;
import org.springframework.beans.factory.InitializingBean;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* POI-based metadata extractor for Office 07 documents.
* See http://poi.apache.org/ for information on POI.
* <pre>
@@ -52,6 +54,7 @@ import org.springframework.beans.factory.InitializingBean;
* @author Neil McErlean
* @author Dmitry Velichkevich
*/
@Deprecated
public class PoiMetadataExtracter extends TikaPoweredMetadataExtracter
{
protected static Log logger = LogFactory.getLog(PoiMetadataExtracter.class);

View File

@@ -1,28 +1,28 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2020 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.repo.content.metadata;
import java.io.IOException;
@@ -47,6 +47,8 @@ import org.alfresco.service.cmr.repository.ContentReader;
import org.alfresco.service.namespace.QName;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* Metadata extractor for RFC822 mime emails.
*
* Default configuration: (see RFC822MetadataExtractor.properties)
@@ -66,6 +68,7 @@ import org.alfresco.service.namespace.QName;
* @author Derek Hulley
* @since 3.2
*/
@Deprecated
public class RFC822MetadataExtracter extends AbstractMappingMetadataExtracter
{

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -42,6 +42,8 @@ import org.gagravarr.tika.FlacParser;
import org.gagravarr.tika.VorbisParser;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* A Metadata Extractor which makes use of the Apache
* Tika Audio Parsers to extract metadata from your
* media files.
@@ -64,6 +66,7 @@ import org.gagravarr.tika.VorbisParser;
* @since 4.0
* @author Nick Burch
*/
@Deprecated
public class TikaAudioMetadataExtracter extends TikaPoweredMetadataExtracter
{
protected static final String KEY_LYRICS = "lyrics";

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -40,6 +40,8 @@ import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.Parser;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* A Metadata Extractor which makes use of the Apache
* Tika auto-detection to select the best parser
* to extract the metadata from your document.
@@ -60,16 +62,16 @@ import org.apache.tika.parser.Parser;
* @since 3.4
* @author Nick Burch
*/
@Deprecated
public class TikaAutoMetadataExtracter extends TikaPoweredMetadataExtracter
{
protected static Log logger = LogFactory.getLog(TikaAutoMetadataExtracter.class);
private static AutoDetectParser parser;
private static TikaConfig config;
private static String EXIF_IMAGE_HEIGHT_TAG = "Exif Image Height";
private static String EXIF_IMAGE_WIDTH_TAG = "Exif Image Width";
private static String EXIF_IMAGE_HEIGHT_TAG = "Exif SubIFD:Exif Image Height";
private static String EXIF_IMAGE_WIDTH_TAG = "Exif SubIFD:Exif Image Width";
private static String JPEG_IMAGE_HEIGHT_TAG = "Image Height";
private static String JPEG_IMAGE_WIDTH_TAG = "Image Width";
private static String COMPRESSION_TAG = "Compression";
public static ArrayList<String> SUPPORTED_MIMETYPES;
private static ArrayList<String> buildMimeTypes(TikaConfig tikaConfig)
@@ -119,24 +121,19 @@ public class TikaAutoMetadataExtracter extends TikaPoweredMetadataExtracter
*/
@Override
protected Map<String, Serializable> extractSpecific(Metadata metadata,
Map<String, Serializable> properties, Map<String,String> headers)
Map<String, Serializable> properties, Map<String, String> headers)
{
if(MimetypeMap.MIMETYPE_IMAGE_JPEG.equals(metadata.get(Metadata.CONTENT_TYPE)))
if (MimetypeMap.MIMETYPE_IMAGE_JPEG.equals(metadata.get(Metadata.CONTENT_TYPE)))
{
//check if the image has exif information
if(metadata.get(EXIF_IMAGE_WIDTH_TAG) != null
&& metadata.get(EXIF_IMAGE_HEIGHT_TAG) != null
&& metadata.get(COMPRESSION_TAG) != null)
if (metadata.get(EXIF_IMAGE_WIDTH_TAG) != null && metadata.get(EXIF_IMAGE_HEIGHT_TAG) != null)
{
//replace the exif size properties that will be embedded in the node with
//the guessed dimensions from Tika
putRawValue(TIFF.IMAGE_LENGTH.getName(), extractSize(metadata.get(EXIF_IMAGE_HEIGHT_TAG)), properties);
putRawValue(TIFF.IMAGE_WIDTH.getName(), extractSize(metadata.get(EXIF_IMAGE_WIDTH_TAG)), properties);
putRawValue(JPEG_IMAGE_HEIGHT_TAG, metadata.get(EXIF_IMAGE_HEIGHT_TAG), properties);
putRawValue(JPEG_IMAGE_WIDTH_TAG, metadata.get(EXIF_IMAGE_WIDTH_TAG), properties);
putRawValue(TIFF.IMAGE_LENGTH.getName(), extractSize(metadata.get(JPEG_IMAGE_HEIGHT_TAG)), properties);
putRawValue(TIFF.IMAGE_WIDTH.getName(), extractSize(metadata.get(JPEG_IMAGE_WIDTH_TAG)), properties);
}
}
return properties;
}
}

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -74,6 +74,8 @@ import org.xml.sax.SAXException;
/**
* @deprecated extractors have been moved to a T-Engine.
*
* The parent of all Metadata Extractors which use
* Apache Tika under the hood. This handles all the
* common parts of processing the files, and the common
@@ -92,6 +94,7 @@ import org.xml.sax.SAXException;
* @author Nick Burch
*/
@AlfrescoPublicApi
@Deprecated
public abstract class TikaPoweredMetadataExtracter
extends AbstractMappingMetadataExtracter
implements MetadataEmbedder

View File

@@ -1,28 +1,28 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2020 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.repo.content.metadata;
import java.util.ArrayList;
@@ -37,6 +37,8 @@ import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* A Metadata Extractor which makes use of Apache Tika,
* and allows the selection of the Tika parser to be
* sprung-in to extract the metadata from your document.
@@ -56,6 +58,7 @@ import org.apache.tika.parser.Parser;
* @author Nick Burch
*/
@AlfrescoPublicApi
@Deprecated
public class TikaSpringConfiguredMetadataExtracter extends TikaPoweredMetadataExtracter
{
protected static Log logger = LogFactory.getLog(TikaSpringConfiguredMetadataExtracter.class);

View File

@@ -430,8 +430,8 @@ public class ADMAccessControlListDAO implements AccessControlListDAO
// {
// setFixedAcls(child.getId(), inheritFrom, mergeFrom, sharedAclToReplace, changes, false);
// }
// Already replaced
if(acl.equals(sharedAclToReplace))
// Still has old shared ACL or already replaced
if(acl.equals(sharedAclToReplace) || acl.equals(mergeFrom))
{
propagateOnChildren = setFixAclPending(child.getId(), inheritFrom, mergeFrom, sharedAclToReplace, changes, false, asyncCall, propagateOnChildren);
}
@@ -459,52 +459,62 @@ public class ADMAccessControlListDAO implements AccessControlListDAO
}
}
}
/**
* If async call required adds ASPECT_PENDING_FIX_ACL aspect to nodes when transactionTime reaches max admitted time
*/
private boolean setFixAclPending(Long nodeId, Long inheritFrom, Long mergeFrom, Long sharedAclToReplace, List<AclChange> changes,
boolean set, boolean asyncCall, boolean propagateOnChildren)
{
// check if async call is required
if (!asyncCall)
{
// make regular method call
setFixedAcls(nodeId, inheritFrom, mergeFrom, sharedAclToReplace, changes, set, asyncCall, propagateOnChildren);
return true;
}
else
{
// check transaction time
long transactionStartTime = AlfrescoTransactionSupport.getTransactionStartTime();
long transactionTime = System.currentTimeMillis() - transactionStartTime;
/**
* Adds ASPECT_PENDING_FIX_ACL aspect to nodes when transactionTime reaches max admitted time
* MNT-18308: No longer checks if call is async in order to evaluate time passed to decide if nodes should be
* processed by job. This is now the default behavior for both sync and async calls: when fixedAclMaxTransactionTime
* is exceeded, call turns async and all remaining nodes should be processed by job FixedACLUpdater
*
* @param nodeId
* the nodeId of the current node being processed
* @param inheritFrom
* the parent node's ACL
* @param mergeFrom
* the new shared ACL, if already known.
* @param sharedAclToReplace
* the old shared ACL, to be replaced
* @param changes
* the list in which to record changes
* @param set
* if to set the shared ACL on the parent
* @param asyncCall
* if the call was initially set as async
* @param propagateOnChildren
* current setting of child propagation of ACL creation
* @return new setting on child propagation of ACL creation
*
*/
private boolean setFixAclPending(Long nodeId, Long inheritFrom, Long mergeFrom, Long sharedAclToReplace,
List<AclChange> changes, boolean set, boolean asyncCall, boolean propagateOnChildren)
{
// check transaction time
long transactionStartTime = AlfrescoTransactionSupport.getTransactionStartTime();
long transactionTime = System.currentTimeMillis() - transactionStartTime;
if (transactionTime < fixedAclMaxTransactionTime)
{
// make regular method call if time is under max transaction configured time
setFixedAcls(nodeId, inheritFrom, mergeFrom, sharedAclToReplace, changes, set, asyncCall, propagateOnChildren);
return true;
}
// If flag is still unset or false, the call until now has been sync and will turn async, we should throw a
// warning
if (log.isWarnEnabled() && (AlfrescoTransactionSupport.getResource(FixedAclUpdater.FIXED_ACL_ASYNC_REQUIRED_KEY) == null
|| (Boolean) AlfrescoTransactionSupport.getResource(FixedAclUpdater.FIXED_ACL_ASYNC_REQUIRED_KEY) == false))
{
log.warn("The ACL processing time in transaction " + AlfrescoTransactionSupport.getTransactionId()
+ " exceeded the configured limit of " + fixedAclMaxTransactionTime
+ " ms. The rest of the ACL processing will be done asynchronously.");
}
// set ASPECT_PENDING_FIX_ACL aspect on node to be later on processed with FixedAclUpdater amd switch flag
// FIXED_ACL_ASYNC_REQUIRED_KEY
addFixedAclPendingAspect(nodeId, sharedAclToReplace, inheritFrom);
AlfrescoTransactionSupport.bindResource(FixedAclUpdater.FIXED_ACL_ASYNC_REQUIRED_KEY, true);
// stop propagating on children nodes
return false;
}
if (transactionTime < fixedAclMaxTransactionTime)
{
// make regular method call if time is under max transaction configured time
setFixedAcls(nodeId, inheritFrom, mergeFrom, sharedAclToReplace, changes, set, asyncCall, propagateOnChildren);
return true;
}
else
{
// time exceeded;
if (nodeDAO.getPrimaryChildrenAcls(nodeId).size() == 0)
{
// if node is leaf in tree hierarchy call setFixedAcls now as processing with FixedAclUpdater would be more time consuming
setFixedAcls(nodeId, inheritFrom, mergeFrom, sharedAclToReplace, changes, set, asyncCall, false);
}
else
{
// set ASPECT_PENDING_FIX_ACL aspect on node to be later on processed with FixedAclUpdater
addFixedAclPendingAspect(nodeId, sharedAclToReplace, inheritFrom);
AlfrescoTransactionSupport.bindResource(FixedAclUpdater.FIXED_ACL_ASYNC_REQUIRED_KEY, true);
}
// stop propagating on children nodes
return false;
}
}
}
private void addFixedAclPendingAspect(Long nodeId, Long sharedAclToReplace, Long inheritFrom)
{
Set<QName> aspect = new HashSet<>();

View File

@@ -321,7 +321,10 @@ public class FixedAclUpdater extends TransactionListenerAdapter implements Appli
if (nodes.size() < maxItemBatchSize)
{
nodes.add(nodePair.getSecond());
maxNodeId = nodePair.getFirst();
if (nodePair.getFirst() > maxNodeId)
{
maxNodeId = nodePair.getFirst();
}
return true;
}
return false;

View File

@@ -43,6 +43,7 @@ import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransacti
import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ParameterDefinition;
import org.alfresco.service.cmr.coci.CheckOutCheckInService;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.download.DownloadRequest;
import org.alfresco.service.cmr.download.DownloadStatus;
import org.alfresco.service.cmr.download.DownloadStatus.Status;
@@ -84,6 +85,7 @@ public class CreateDownloadArchiveAction extends ActionExecuterAbstractBase
private NodeService nodeService;
private RetryingTransactionHelper transactionHelper;
private DownloadStatusUpdateService updateService;
private DictionaryService dictionaryService;
private long maximumContentSize = -1l;
@@ -167,6 +169,11 @@ public class CreateDownloadArchiveAction extends ActionExecuterAbstractBase
this.updateService = updateService;
}
public void setDictionaryService(DictionaryService dictionaryService)
{
this.dictionaryService = dictionaryService;
}
/**
* Create an archive file containing content from the repository.
*
@@ -246,7 +253,7 @@ public class CreateDownloadArchiveAction extends ActionExecuterAbstractBase
{
// perform the actual export
final File tempFile = TempFileProvider.createTempFile(TEMP_FILE_PREFIX, TEMP_FILE_SUFFIX);
final ZipDownloadExporter handler = new ZipDownloadExporter(tempFile, checkOutCheckInService, nodeService, transactionHelper, updateService, downloadStorage, actionedUponNodeRef, estimator.getSize(), estimator.getFileCount());
final ZipDownloadExporter handler = new ZipDownloadExporter(tempFile, checkOutCheckInService, nodeService, transactionHelper, updateService, downloadStorage, dictionaryService, actionedUponNodeRef, estimator.getSize(), estimator.getFileCount());
try {
exporterService.exportView(handler, crawlerParameters, null);

View File

@@ -39,6 +39,7 @@ import org.alfresco.model.ContentModel;
import org.alfresco.repo.transaction.RetryingTransactionHelper;
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.service.cmr.coci.CheckOutCheckInService;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.download.DownloadStatus;
import org.alfresco.service.cmr.download.DownloadStatus.Status;
import org.alfresco.service.cmr.repository.ContentData;
@@ -77,6 +78,7 @@ public class ZipDownloadExporter extends BaseExporter
private RetryingTransactionHelper transactionHelper;
private DownloadStorage downloadStorage;
private DictionaryService dictionaryService;
private DownloadStatusUpdateService updateService;
private Deque<Pair<String, NodeRef>> path = new LinkedList<Pair<String, NodeRef>>();
@@ -93,11 +95,12 @@ public class ZipDownloadExporter extends BaseExporter
* @param transactionHelper RetryingTransactionHelper
* @param updateService DownloadStatusUpdateService
* @param downloadStorage DownloadStorage
* @param dictionaryService DictionaryService
* @param downloadNodeRef NodeRef
* @param total long
* @param totalFileCount long
*/
public ZipDownloadExporter(File zipFile, CheckOutCheckInService checkOutCheckInService, NodeService nodeService, RetryingTransactionHelper transactionHelper, DownloadStatusUpdateService updateService, DownloadStorage downloadStorage, NodeRef downloadNodeRef, long total, long totalFileCount)
public ZipDownloadExporter(File zipFile, CheckOutCheckInService checkOutCheckInService, NodeService nodeService, RetryingTransactionHelper transactionHelper, DownloadStatusUpdateService updateService, DownloadStorage downloadStorage, DictionaryService dictionaryService, NodeRef downloadNodeRef, long total, long totalFileCount)
{
super(checkOutCheckInService, nodeService);
try
@@ -106,6 +109,7 @@ public class ZipDownloadExporter extends BaseExporter
this.updateService = updateService;
this.transactionHelper = transactionHelper;
this.downloadStorage = downloadStorage;
this.dictionaryService = dictionaryService;
this.downloadNodeRef = downloadNodeRef;
this.total = total;
@@ -134,7 +138,7 @@ public class ZipDownloadExporter extends BaseExporter
{
this.currentName = (String)nodeService.getProperty(nodeRef, ContentModel.PROP_NAME);
path.push(new Pair<String, NodeRef>(currentName, nodeRef));
if (ContentModel.TYPE_FOLDER.equals(nodeService.getType(nodeRef)))
if (dictionaryService.isSubClass(nodeService.getType(nodeRef), ContentModel.TYPE_FOLDER))
{
String path = getPath() + PATH_SEPARATOR;
ZipArchiveEntry archiveEntry = new ZipArchiveEntry(path);

View File

@@ -1,28 +1,28 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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.repo.rule.ruletrigger;
import java.io.Serializable;
@@ -141,7 +141,7 @@ public class OnPropertyUpdateRuleTrigger extends RuleTriggerAbstractBase
for (QName name : keys)
{
// Skip rule firing on this content property for performance reasons
if (name.equals(ContentModel.PROP_PREFERENCE_VALUES))
if (name.equals(ContentModel.PROP_PREFERENCE_VALUES) || name.equals(ContentModel.PROP_CASCADE_CRC))
{
continue;
}

View File

@@ -1,28 +1,28 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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.repo.search;
import java.io.IOException;
@@ -136,7 +136,7 @@ public class QueryRegisterComponentImpl implements QueryRegisterComponent
try
{
InputStream is = this.getClass().getClassLoader().getResourceAsStream(location);
SAXReader reader = new SAXReader();
SAXReader reader = SAXReader.createDefault();
Document document = reader.read(is);
is.close();
QueryCollection collection = QueryCollectionImpl.createQueryCollection(document.getRootElement(), dictionaryService, namespaceService);

View File

@@ -240,6 +240,11 @@ public class DBResultSet extends AbstractResultSet
nodeRefs[n+1] = nodeRef == null ? null : tenantService.getBaseName(nodeRef);
}
}
}
}
public NodeService getNodeService()
{
return nodeService;
}
}

View File

@@ -25,11 +25,13 @@
*/
package org.alfresco.repo.search.impl.querymodel.impl.db;
import java.io.Serializable;
import java.util.Map;
import org.alfresco.repo.search.AbstractResultSetRow;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.search.ResultSet;
import org.alfresco.service.cmr.search.ResultSet;
import org.alfresco.service.namespace.QName;
/**
* @author Andy
@@ -82,6 +84,13 @@ public class DBResultSetRow extends AbstractResultSetRow
public float getScore(String selectorName)
{
throw new UnsupportedOperationException();
}
@Override
protected Map<QName, Serializable> getDirectProperties()
{
DBResultSet rs = (DBResultSet) getResultSet();
return rs.getNodeService().getProperties(rs.getNodeRef(getIndex()));
}

View File

@@ -54,6 +54,7 @@ import javax.naming.InvalidNameException;
import javax.naming.Name;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.ServiceUnavailableException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
@@ -882,6 +883,16 @@ public class LDAPUserRegistry implements UserRegistry, LDAPNameResolver, Initial
continue;
}
}
catch (ServiceUnavailableException | CommunicationException e)
{
// MNT-21614: Check & fail if communication breaks due to ServiceUnavailableException or CommunicationException
if (e.getMessage() != null)
{
Object[] params = {e.getLocalizedMessage() };
throw new AlfrescoRuntimeException("synchronization.err.ldap.search", params, e);
}
continue;
}
catch (NamingException e)
{
// Check if it is a timeout and fail

View File

@@ -691,20 +691,18 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent
return new ArrayList<Long>(visited);
}
/** Get properties that we want to be indexed. */
protected Map<QName, Serializable> getProperties(Long nodeId)
{
Map<QName, Serializable> props = null;
// ALF-10641
// Residual properties are un-indexed -> break serlialisation
// Residual properties are un-indexed -> break serialisation
nodeDAO.setCheckNodeConsistency();
Map<QName, Serializable> sourceProps = nodeDAO.getNodeProperties(nodeId);
props = new HashMap<QName, Serializable>((int)(sourceProps.size() * 1.3));
Map<QName, Serializable> props = new HashMap<>(sourceProps.size());
for(QName propertyQName : sourceProps.keySet())
{
PropertyDefinition propDef = dictionaryService.getProperty(propertyQName);
if(propDef != null)
if(propDef != null && propDef.isIndexed())
{
props.put(propertyQName, sourceProps.get(propertyQName));
}
@@ -865,7 +863,22 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent
}
else
{
throw new AlfrescoRuntimeException("Nodes with no type are ignored by SOLR");
QName typeQName = null;
TypeDefinition typeDefinition = null;
String errorMessage = "NodeId " + nodeId + " with nodeRef " + nodeRef;
typeQName = nodeDAO.getNodeType(nodeId);
if (typeQName != null)
{
errorMessage += " has type " + typeQName + ", but this type is not registered in DictionaryService.";
}
else
{
errorMessage += " has no type.";
}
throw new AlfrescoRuntimeException(errorMessage + " It will be ignored by SOLR.");
}
}

View File

@@ -598,8 +598,8 @@
<property name="ticketsCache">
<ref bean="ticketsCache" />
</property>
<property name="usernameKey">
<ref bean="usernameKeyCache" />
<property name="usernameToTicketIdCache">
<ref bean="usernameToTicketIdCache" />
</property>
<!-- The period for which tickets are valid in XML duration format. -->
<!-- The default is PT1H for one hour. -->

View File

@@ -281,8 +281,8 @@
<constructor-arg value="cache.ticketsCache"/>
</bean>
<bean name="usernameKeyCache" factory-bean="cacheFactory" factory-method="createCache">
<constructor-arg value="cache.usernameKeyCache"/>
<bean name="usernameToTicketIdCache" factory-bean="cacheFactory" factory-method="createCache">
<constructor-arg value="cache.usernameToTicketIdCache"/>
</bean>
<!-- ===================================== -->

View File

@@ -333,14 +333,14 @@ cache.ticketsCache.eviction-policy=LRU
cache.ticketsCache.merge-policy=com.hazelcast.map.merge.PutIfAbsentMapMergePolicy
cache.ticketsCache.readBackupData=false
cache.usernameKeyCache.maxItems=1000
cache.usernameKeyCache.timeToLiveSeconds=0
cache.usernameKeyCache.maxIdleSeconds=0
cache.usernameKeyCache.cluster.type=fully-distributed
cache.usernameKeyCache.backup-count=1
cache.usernameKeyCache.eviction-policy=LRU
cache.usernameKeyCache.merge-policy=com.hazelcast.map.merge.PutIfAbsentMapMergePolicy
cache.usernameKeyCache.readBackupData=false
cache.usernameToTicketIdCache.maxItems=1000
cache.usernameToTicketIdCache.timeToLiveSeconds=0
cache.usernameToTicketIdCache.maxIdleSeconds=0
cache.usernameToTicketIdCache.cluster.type=fully-distributed
cache.usernameToTicketIdCache.backup-count=1
cache.usernameToTicketIdCache.eviction-policy=LRU
cache.usernameToTicketIdCache.merge-policy=com.hazelcast.map.merge.PutIfAbsentMapMergePolicy
cache.usernameToTicketIdCache.readBackupData=false
cache.authorityEntitySharedCache.tx.maxItems=50000
cache.authorityEntitySharedCache.tx.statsEnabled=${caches.tx.statsEnabled}

View File

@@ -89,18 +89,19 @@
<bean id="downloadContentServiceHelper" class="org.alfresco.repo.download.LocalContentServiceHelper">
<property name="contentService" ref="contentService"/>
</bean>
<bean id="createDownloadArchiveAction" class="org.alfresco.repo.download.CreateDownloadArchiveAction" parent="action-executer">
<property name="checkOutCheckInSerivce" ref="checkOutCheckInService"/>
<property name="contentServiceHelper" ref="downloadContentServiceHelper" />
<property name="downloadStorage" ref="downloadStorage" />
<property name="exporterService" ref="downloadExporterComponent" />
<property name="maximumContentSize" value="${download.maxContentSize}" />
<property name="nodeService" ref="nodeService" />
<property name="publicAction" value="false"/>
<property name="transactionHelper" ref="retryingTransactionHelper"/>
<property name="updateService" ref="downloadStatusUpdateService"/>
</bean>
<bean id="createDownloadArchiveAction" class="org.alfresco.repo.download.CreateDownloadArchiveAction" parent="action-executer">
<property name="checkOutCheckInSerivce" ref="checkOutCheckInService"/>
<property name="contentServiceHelper" ref="downloadContentServiceHelper"/>
<property name="downloadStorage" ref="downloadStorage"/>
<property name="exporterService" ref="downloadExporterComponent"/>
<property name="maximumContentSize" value="${download.maxContentSize}"/>
<property name="nodeService" ref="nodeService"/>
<property name="publicAction" value="false"/>
<property name="transactionHelper" ref="retryingTransactionHelper"/>
<property name="updateService" ref="downloadStatusUpdateService"/>
<property name="dictionaryService" ref="dictionaryService"/>
</bean>
<bean id="downloadExporterComponent" parent="exporterComponent">
<property name="exportSecondaryNodes" value="true"/>

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=From
cm_contentmodel.property.cm_originator.description=From
cm_contentmodel.property.cm_addressee.title=To
cm_contentmodel.property.cm_addressee.description=To
cm_contentmodel.property.cm_addressees.title=CC
cm_contentmodel.property.cm_addressees.description=CC
cm_contentmodel.property.cm_addressees.title=All Recipients
cm_contentmodel.property.cm_addressees.description=All Recipients
cm_contentmodel.property.cm_subjectline.title=Subject
cm_contentmodel.property.cm_subjectline.description=Subject
cm_contentmodel.property.cm_sentdate.title=Sent Date

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=Od
cm_contentmodel.property.cm_originator.description=Od
cm_contentmodel.property.cm_addressee.title=Komu
cm_contentmodel.property.cm_addressee.description=Komu
cm_contentmodel.property.cm_addressees.title=Kopie
cm_contentmodel.property.cm_addressees.description=Kopie
cm_contentmodel.property.cm_addressees.title=V\u0161ichni p\u0159\u00edjemci
cm_contentmodel.property.cm_addressees.description=V\u0161ichni p\u0159\u00edjemci
cm_contentmodel.property.cm_subjectline.title=P\u0159edm\u011bt
cm_contentmodel.property.cm_subjectline.description=P\u0159edm\u011bt
cm_contentmodel.property.cm_sentdate.title=Datum odesl\u00e1n\u00ed

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=Fra
cm_contentmodel.property.cm_originator.description=Fra
cm_contentmodel.property.cm_addressee.title=Til
cm_contentmodel.property.cm_addressee.description=Til
cm_contentmodel.property.cm_addressees.title=Cc
cm_contentmodel.property.cm_addressees.description=Cc
cm_contentmodel.property.cm_addressees.title=Alle modtagere
cm_contentmodel.property.cm_addressees.description=Alle modtagere
cm_contentmodel.property.cm_subjectline.title=Emne
cm_contentmodel.property.cm_subjectline.description=Emne
cm_contentmodel.property.cm_sentdate.title=Afsendelsesdato

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=Von
cm_contentmodel.property.cm_originator.description=Von
cm_contentmodel.property.cm_addressee.title=An
cm_contentmodel.property.cm_addressee.description=An
cm_contentmodel.property.cm_addressees.title=Cc
cm_contentmodel.property.cm_addressees.description=Cc
cm_contentmodel.property.cm_addressees.title=Alle Empf\u00e4nger
cm_contentmodel.property.cm_addressees.description=Alle Empf\u00e4nger
cm_contentmodel.property.cm_subjectline.title=Betreff
cm_contentmodel.property.cm_subjectline.description=Betreff
cm_contentmodel.property.cm_sentdate.title=Sendedatum

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=De
cm_contentmodel.property.cm_originator.description=De
cm_contentmodel.property.cm_addressee.title=Para
cm_contentmodel.property.cm_addressee.description=Para
cm_contentmodel.property.cm_addressees.title=CC
cm_contentmodel.property.cm_addressees.description=CC
cm_contentmodel.property.cm_addressees.title=Todos los destinatarios
cm_contentmodel.property.cm_addressees.description=Todos los destinatarios
cm_contentmodel.property.cm_subjectline.title=Asunto
cm_contentmodel.property.cm_subjectline.description=Asunto
cm_contentmodel.property.cm_sentdate.title=Fecha de env\u00edo

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=L\u00e4hett\u00e4j\u00e4
cm_contentmodel.property.cm_originator.description=L\u00e4hett\u00e4j\u00e4
cm_contentmodel.property.cm_addressee.title=Vastaanottaja
cm_contentmodel.property.cm_addressee.description=Vastaanottaja
cm_contentmodel.property.cm_addressees.title=Kopio
cm_contentmodel.property.cm_addressees.description=Kopio
cm_contentmodel.property.cm_addressees.title=Kaikki vastaanottajat
cm_contentmodel.property.cm_addressees.description=Kaikki vastaanottajat
cm_contentmodel.property.cm_subjectline.title=Aihe
cm_contentmodel.property.cm_subjectline.description=Aihe
cm_contentmodel.property.cm_sentdate.title=L\u00e4hetysp\u00e4iv\u00e4m\u00e4\u00e4r\u00e4

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=De
cm_contentmodel.property.cm_originator.description=De
cm_contentmodel.property.cm_addressee.title=\u00c0
cm_contentmodel.property.cm_addressee.description=\u00c0
cm_contentmodel.property.cm_addressees.title=CC
cm_contentmodel.property.cm_addressees.description=CC
cm_contentmodel.property.cm_addressees.title=Tous les destinataires
cm_contentmodel.property.cm_addressees.description=Tous les destinataires
cm_contentmodel.property.cm_subjectline.title=Sujet
cm_contentmodel.property.cm_subjectline.description=Sujet
cm_contentmodel.property.cm_sentdate.title=Date d'envoi

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=Da
cm_contentmodel.property.cm_originator.description=Da
cm_contentmodel.property.cm_addressee.title=A
cm_contentmodel.property.cm_addressee.description=A
cm_contentmodel.property.cm_addressees.title=CC
cm_contentmodel.property.cm_addressees.description=CC
cm_contentmodel.property.cm_addressees.title=Tutti i destinatari
cm_contentmodel.property.cm_addressees.description=Tutti i destinatari
cm_contentmodel.property.cm_subjectline.title=Oggetto
cm_contentmodel.property.cm_subjectline.description=Oggetto
cm_contentmodel.property.cm_sentdate.title=Data di invio

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=\u5dee\u51fa\u4eba
cm_contentmodel.property.cm_originator.description=\u5dee\u51fa\u4eba
cm_contentmodel.property.cm_addressee.title=\u5b9b\u5148
cm_contentmodel.property.cm_addressee.description=\u5b9b\u5148
cm_contentmodel.property.cm_addressees.title=CC
cm_contentmodel.property.cm_addressees.description=CC
cm_contentmodel.property.cm_addressees.title=\u3059\u3079\u3066\u306e\u53d7\u4fe1\u8005
cm_contentmodel.property.cm_addressees.description=\u3059\u3079\u3066\u306e\u53d7\u4fe1\u8005
cm_contentmodel.property.cm_subjectline.title=\u4ef6\u540d
cm_contentmodel.property.cm_subjectline.description=\u4ef6\u540d
cm_contentmodel.property.cm_sentdate.title=\u9001\u4fe1\u65e5

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=Fra
cm_contentmodel.property.cm_originator.description=Fra
cm_contentmodel.property.cm_addressee.title=Til
cm_contentmodel.property.cm_addressee.description=Til
cm_contentmodel.property.cm_addressees.title=CC
cm_contentmodel.property.cm_addressees.description=CC
cm_contentmodel.property.cm_addressees.title=Alle mottakerne
cm_contentmodel.property.cm_addressees.description=Alle mottakerne
cm_contentmodel.property.cm_subjectline.title=Emne
cm_contentmodel.property.cm_subjectline.description=Emne
cm_contentmodel.property.cm_sentdate.title=Dato sendt

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=Van
cm_contentmodel.property.cm_originator.description=Van
cm_contentmodel.property.cm_addressee.title=Aan
cm_contentmodel.property.cm_addressee.description=Aan
cm_contentmodel.property.cm_addressees.title=CC
cm_contentmodel.property.cm_addressees.description=CC
cm_contentmodel.property.cm_addressees.title=Alle ontvangers
cm_contentmodel.property.cm_addressees.description=Alle ontvangers
cm_contentmodel.property.cm_subjectline.title=Onderwerp
cm_contentmodel.property.cm_subjectline.description=Onderwerp
cm_contentmodel.property.cm_sentdate.title=Verzonden op

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=Od
cm_contentmodel.property.cm_originator.description=Od
cm_contentmodel.property.cm_addressee.title=Do
cm_contentmodel.property.cm_addressee.description=Do
cm_contentmodel.property.cm_addressees.title=DW
cm_contentmodel.property.cm_addressees.description=DW
cm_contentmodel.property.cm_addressees.title=Wszyscy odbiorcy
cm_contentmodel.property.cm_addressees.description=Wszyscy odbiorcy
cm_contentmodel.property.cm_subjectline.title=Temat
cm_contentmodel.property.cm_subjectline.description=Temat
cm_contentmodel.property.cm_sentdate.title=Data wys\u0142ania

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=De
cm_contentmodel.property.cm_originator.description=De
cm_contentmodel.property.cm_addressee.title=Para
cm_contentmodel.property.cm_addressee.description=Para
cm_contentmodel.property.cm_addressees.title=CC
cm_contentmodel.property.cm_addressees.description=CC
cm_contentmodel.property.cm_addressees.title=Todos os destinat\u00e1rios
cm_contentmodel.property.cm_addressees.description=Todos os destinat\u00e1rios
cm_contentmodel.property.cm_subjectline.title=Assunto
cm_contentmodel.property.cm_subjectline.description=Assunto
cm_contentmodel.property.cm_sentdate.title=Data de envio

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=\u041e\u0442
cm_contentmodel.property.cm_originator.description=\u041e\u0442
cm_contentmodel.property.cm_addressee.title=\u041a\u043e\u043c\u0443
cm_contentmodel.property.cm_addressee.description=\u041a\u043e\u043c\u0443
cm_contentmodel.property.cm_addressees.title=\u041a\u043e\u043f\u0438\u044f
cm_contentmodel.property.cm_addressees.description=\u041a\u043e\u043f\u0438\u044f
cm_contentmodel.property.cm_addressees.title=\u0412\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0438
cm_contentmodel.property.cm_addressees.description=\u0412\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0438
cm_contentmodel.property.cm_subjectline.title=\u0422\u0435\u043c\u0430
cm_contentmodel.property.cm_subjectline.description=\u0422\u0435\u043c\u0430
cm_contentmodel.property.cm_sentdate.title=\u0414\u0430\u0442\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=Fr\u00e5n
cm_contentmodel.property.cm_originator.description=Fr\u00e5n
cm_contentmodel.property.cm_addressee.title=Till
cm_contentmodel.property.cm_addressee.description=Till
cm_contentmodel.property.cm_addressees.title=CC
cm_contentmodel.property.cm_addressees.description=CC
cm_contentmodel.property.cm_addressees.title=Alla mottagare
cm_contentmodel.property.cm_addressees.description=Alla mottagare
cm_contentmodel.property.cm_subjectline.title=\u00c4mne
cm_contentmodel.property.cm_subjectline.description=\u00c4mne
cm_contentmodel.property.cm_sentdate.title=Skickad datum

View File

@@ -286,8 +286,8 @@ cm_contentmodel.property.cm_originator.title=\u4ece
cm_contentmodel.property.cm_originator.description=\u4ece
cm_contentmodel.property.cm_addressee.title=\u6536\u4ef6\u4eba
cm_contentmodel.property.cm_addressee.description=\u6536\u4ef6\u4eba
cm_contentmodel.property.cm_addressees.title=\u6284\u9001
cm_contentmodel.property.cm_addressees.description=\u6284\u9001
cm_contentmodel.property.cm_addressees.title=\u6240\u6709\u6536\u4ef6\u4eba
cm_contentmodel.property.cm_addressees.description=\u6240\u6709\u6536\u4ef6\u4eba
cm_contentmodel.property.cm_subjectline.title=\u4e3b\u9898
cm_contentmodel.property.cm_subjectline.description=\u4e3b\u9898
cm_contentmodel.property.cm_sentdate.title=\u53d1\u9001\u65e5\u671f

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=S\u00a0pozdravem
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Byli jste p\u0159id\u00e1ni do spole\u010dn\u00e9ho m\u00edsta ''{0}''
templates.invite-email-add-direct.html.salutation=V\u00e1\u017een\u00fd u\u017eivateli, v\u00e1\u017een\u00e1 u\u017eivatelko,
templates.invite-email-add-direct.html.detail=u\u017eivatel {0} {1} v\u00e1s p\u0159idal do spole\u010dn\u00e9ho m\u00edsta <b>{2}</b>, kde v\u00e1m byla p\u0159id\u011blena role \u201e{3}\u201c.
templates.invite-email-add-direct.html.detail=u\u017eivatel {0} {1} v\u00e1s p\u0159idal do spole\u010dn\u00e9ho m\u00edsta ''{2}'', kde v\u00e1m byla p\u0159id\u011blena role {3}.
templates.invite-email-add-direct.html.navigate=P\u0159ejd\u011bte na {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>Nem\u00e1te z\u00e1jem st\u00e1t se sou\u010d\u00e1st\u00ed tohoto spole\u010dn\u00e9ho m\u00edsta?</span><br/><a href="{0}">Opustit spole\u010dn\u00e9 m\u00edsto</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Med venlig hilsen
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Du er blevet f\u00f8jet til sitet ''{0}''
templates.invite-email-add-direct.html.salutation=Hej {0}
templates.invite-email-add-direct.html.detail={0} {1} har f\u00f8jet dig til sitet <b>{2}</b>, hvor du har f\u00f8lgende rolle: {3}.
templates.invite-email-add-direct.html.detail={0} {1} har f\u00f8jet dig til sitet ''{2}'', hvor du har f\u00f8lgende rolle: {3}.
templates.invite-email-add-direct.html.navigate=G\u00e5 til {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>Vil du ikke v\u00e6re en del af dette site?</span><br/><a href="{0}">Forlad site</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Freundliche Gr\u00fc\u00dfe
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Sie wurden zur Site ''{0}'' hinzugef\u00fcgt
templates.invite-email-add-direct.html.salutation=Hallo {0},
templates.invite-email-add-direct.html.detail={0} {1} hat Sie in der Rolle des {3} zur Site <b>{2}</b> hinzugef\u00fcgt.
templates.invite-email-add-direct.html.detail={0} {1} hat Sie in der Rolle des {3} zur Site ''{2}'' hinzugef\u00fcgt.
templates.invite-email-add-direct.html.navigate=Weiter zu {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>Sie m\u00f6chten dieser Site nicht angeh\u00f6ren?</span><br/><a href="{0}">Site verlassen</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Atentamente
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Ha sido a\u00f1adido al sitio ''{0}''
templates.invite-email-add-direct.html.salutation=Hola {0},
templates.invite-email-add-direct.html.detail={0} {1} le ha a\u00f1adido al sitio <b>{2}</b> con el rol de {3}.
templates.invite-email-add-direct.html.detail={0} {1} le ha a\u00f1adido al sitio ''{2}'' con el rol de {3}.
templates.invite-email-add-direct.html.navigate=Vaya a {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>\u00bfNo quiere formar parte de este sitio?</span><br/><a href="{0}">Salir del sitio</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Yst\u00e4v\u00e4llisin terveisin
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Sinut on lis\u00e4tty sivustoon {0}
templates.invite-email-add-direct.html.salutation=Hei {0}!
templates.invite-email-add-direct.html.detail={0} {1} on lis\u00e4nnyt sinut sivustoon <b>{2}</b>. Roolisi on {3}.
templates.invite-email-add-direct.html.detail={0} {1} on lis\u00e4nnyt sinut sivustoon ''{2}''. Roolisi on {3}.
templates.invite-email-add-direct.html.navigate=Siirry sivustoon {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>Etk\u00f6 halua kuulua t\u00e4h\u00e4n sivustoon?</span><br/><a href="{0}">Poistu sivustosta</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Cordialement
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Vous avez \u00e9t\u00e9 ajout\u00e9 au site ''{0}''
templates.invite-email-add-direct.html.salutation=Cher/Ch\u00e8re {0},
templates.invite-email-add-direct.html.detail={0} {1} vous a ajout\u00e9 au site <b>{2}</b> avec le r\u00f4le suivant\u00a0: {3}.
templates.invite-email-add-direct.html.detail={0} {1} vous a ajout\u00e9 au site ''{2}'' avec le r\u00f4le suivant : {3}.
templates.invite-email-add-direct.html.navigate=Acc\u00e9dez \u00e0 {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>Vous ne souhaitez pas faire partie de ce site\u00a0?</span><br/><a href=\''{0}\''>Quitter le site</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Distinti saluti
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=L''utente \u00e8 stato aggiunto al sito''{0}''
templates.invite-email-add-direct.html.salutation=Salve {0},
templates.invite-email-add-direct.html.detail={0} {1} ti ha aggiunto al sito <b>{2}</b> con il ruolo di {3}.
templates.invite-email-add-direct.html.detail={0} {1} ti ha aggiunto al sito ''{2}'' con il ruolo di {3}.
templates.invite-email-add-direct.html.navigate=Vai a {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>Se non desideri far parte di questo sito, premi </span><br/><a href="{0}">Abbandona sito</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=\u3088\u308d\u3057\u304f\u304a\u9858\u3044\u
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=\u3042\u306a\u305f\u306f\u3001{0} \u30b5\u30a4\u30c8\u306b\u8ffd\u52a0\u3055\u308c\u3066\u3044\u307e\u3059
templates.invite-email-add-direct.html.salutation={0} \u3055\u3093,
templates.invite-email-add-direct.html.detail={1} {0} \u3055\u3093\u304c\u3001\u3042\u306a\u305f\u3092 {3} \u306e\u5f79\u5272\u3067 <b>{2}</b> \u30b5\u30a4\u30c8\u306b\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002
templates.invite-email-add-direct.html.detail={1} {0} \u3055\u3093\u304c\u3001\u3042\u306a\u305f\u3092 {3} \u306e\u5f79\u5272\u3067 ''{2}'' \u30b5\u30a4\u30c8\u306b\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002
templates.invite-email-add-direct.html.navigate={0} \u3078\u79fb\u52d5\u3059\u308b
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>\u3053\u306e\u30b5\u30a4\u30c8\u304b\u3089\u306e\u8131\u9000\u3092\u5e0c\u671b\u3055\u308c\u308b\u5834\u5408\u306f\u3001\u4e0b\u306e\u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002</span><br/><a href="{0}">\u30b5\u30a4\u30c8\u304b\u3089\u8131\u9000</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Vennlig hilsen
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Du er blit lagt til omr\u00e5det ''{0}''
templates.invite-email-add-direct.html.salutation=Hei {0},
templates.invite-email-add-direct.html.detail={0} {1} er lagt deg til omr\u00e5det <b>{2}</b> med rollen {3}.
templates.invite-email-add-direct.html.detail={0} {1} er lagt deg til omr\u00e5det ''{2}'' med rollen {3}.
templates.invite-email-add-direct.html.navigate=G\u00e5 til {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>\u00d8nsker ikke \u00e5 v\u00e6re en del av dette omr\u00e5det?</span><br/><a href="{0}">Forlat omr\u00e5det</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Met vriendelijke groet
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=U bent toegevoegd aan de site ''{0}''
templates.invite-email-add-direct.html.salutation=Beste {0},
templates.invite-email-add-direct.html.detail={0} {1} heeft u toegevoegd aan de site <b>{2}</b> met de rol van {3}.
templates.invite-email-add-direct.html.detail={0} {1} heeft u toegevoegd aan de site ''{2}'' met de rol van {3}.
templates.invite-email-add-direct.html.navigate=Ga naar {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>Wilt u geen lid meer zijn van deze site?</span><br/><a href=\''{0}\''>Lidmaatschap van site opzeggen</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Pozdrowienia
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Dodano Ci\u0119 do strony ''{0}''
templates.invite-email-add-direct.html.salutation=Witaj {0},
templates.invite-email-add-direct.html.detail=U\u017cytkownik {0} {1} doda\u0142 Ci\u0119 do strony <b>{2}</b> z rol\u0105 {3}.
templates.invite-email-add-direct.html.detail=U\u017cytkownik {0} {1} doda\u0142 Ci\u0119 do strony ''{2}'' z rol\u0105 {3}.
templates.invite-email-add-direct.html.navigate=Przejd\u017a do {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>Nie chcesz by\u0107 cz\u0119\u015bci\u0105 tej witryny?</span> <br/><a href="{0}">Opu\u015b\u0107 witryn\u0119</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=Atenciosamente
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Voc\u00ea foi adicionado ao site ''{0}''
templates.invite-email-add-direct.html.salutation=Oi {0},
templates.invite-email-add-direct.html.detail={0} {1} adicionou voc\u00ea ao site <b>{2}</b> com a fun\u00e7\u00e3o de {3}.
templates.invite-email-add-direct.html.detail={0} {1} adicionou voc\u00ea ao site ''{2}'' com a fun\u00e7\u00e3o de {3}.
templates.invite-email-add-direct.html.navigate=Ir para {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>N\u00e3o quer fazer parte deste site?</span><br/><a href=\''{0}\''>Sair do site</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=\u0421 \u043d\u0430\u0438\u043b\u0443\u0447\
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=\u0412\u044b \u0431\u044b\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u0430 \u0441\u0430\u0439\u0442 ''{0}''
templates.invite-email-add-direct.html.salutation=\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, {0},
templates.invite-email-add-direct.html.detail=\u0412\u044b \u0431\u044b\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b {0} {1} \u043d\u0430 \u0441\u0430\u0439\u0442 <b>{2}</b> \u0432 \u0440\u043e\u043b\u0438 {3}.
templates.invite-email-add-direct.html.detail=\u0412\u044b \u0431\u044b\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b {0} {1} \u043d\u0430 \u0441\u0430\u0439\u0442 ''{2}'' \u0432 \u0440\u043e\u043b\u0438 {3}.
templates.invite-email-add-direct.html.navigate=\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>\u041d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u044d\u0442\u043e\u043c \u0441\u0430\u0439\u0442\u0435?</span><br/><a href=\''{0}\''>\u041f\u043e\u043a\u0438\u043d\u0443\u0442\u044c \u0441\u0430\u0439\u0442</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=H\u00e4lsningar
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=Du har lagts till till samarbetsytan ''{0}''
templates.invite-email-add-direct.html.salutation=Hej {0},
templates.invite-email-add-direct.html.detail={0} {1} har lagt till dig till <b>{2}</b> samarbetsyta med rollen {3}.
templates.invite-email-add-direct.html.detail={0} {1} har lagt till dig till ''{2}'' samarbetsyta med rollen {3}.
templates.invite-email-add-direct.html.navigate=G\u00e5 till {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>Vill du inte vara en del av den h\u00e4r samarbetsytan?</span><br/><a href="{0}">L\u00e4mna samarbetsytan</a>

View File

@@ -79,7 +79,7 @@ templates.invite_user_email.regards=\u987a\u795d\u5546\u797a
#invite-email-add-direct.html
templates.invite-email-add-direct.html.header=\u60a8\u5df2\u88ab\u6dfb\u52a0\u81f3 ''{0}'' \u7ad9\u70b9
templates.invite-email-add-direct.html.salutation=\u60a8\u597d {0}\uff0c,
templates.invite-email-add-direct.html.detail={0} {1} \u5df2\u5c06\u60a8\u6dfb\u52a0\u81f3 <b>{2}</b> \u7ad9\u70b9\uff0c\u89d2\u8272\u4e3a {3}\u3002
templates.invite-email-add-direct.html.detail={0} {1} \u5df2\u5c06\u60a8\u6dfb\u52a0\u81f3 ''{2}'' \u7ad9\u70b9\uff0c\u89d2\u8272\u4e3a {3}\u3002
templates.invite-email-add-direct.html.navigate=\u8f6c\u81f3 {0}
templates.invite-email-add-direct.html.closing=
templates.invite-email-add-direct.html.leave=<span>\u4e0d\u60f3\u6210\u4e3a\u6b64\u7ad9\u70b9\u7684\u4e00\u90e8\u5206\uff1f</span><br/><a href="{0}">\u79bb\u5f00\u6b64\u7ad9\u70b9</a>

View File

@@ -7,12 +7,12 @@ transfer_service.unable_to_transfer_async=Nelze p\u0159en\u00e1\u0161et asynchro
transfer_service.target_exists=Nepoda\u0159ilo se vytvo\u0159it nov\u00fd c\u00edl p\u0159enosu s\u00a0n\u00e1zvem {0}, proto\u017ee c\u00edl s\u00a0t\u00edmto n\u00e1zvem ji\u017e existuje.
transfer_service.comms.unsupported_protocol=Nepodporovan\u00fd protokol: {0}
transfer_service.comms.unsuccessful_response=C\u00edlov\u00fd server odeslat k\u00f3d informuj\u00edc\u00ed o\u00a0ne\u00fasp\u011b\u0161n\u00e9 reakci: {0}, {1}
transfer_service.comms.http_request_failed=\u017d\u00e1dost HTTP \u201e{0}\u201c v\u00a0c\u00edli \u201e{1}\u201c se nepoda\u0159ilo prov\u00e9st. Stav: {2}.
transfer_service.comms.http_request_failed=\u017d\u00e1dost HTTP {0} v\u00a0c\u00edli {1} se nepoda\u0159ilo prov\u00e9st. Stav: {2}.
transfer_service.incompatible_versions=Nepoda\u0159ilo se p\u0159en\u00e9st data mezi nekompatibiln\u00edmi verzemi transferId:{0}. Zdroj: {1}. C\u00edl: {2}.
transfer_service.no_nodes=\u017d\u00e1dn\u00e9 uzly, kter\u00e9 by bylo mo\u017en\u00e9 p\u0159en\u00e9st
transfer_service.target_not_enabled=C\u00edl p\u0159enosu nen\u00ed povolen ({0})
transfer_service.cancelled=P\u0159enos zru\u0161en
transfer_service.failed_to_get_transfer_status=Nepoda\u0159ilo se z\u00edskat informaci o\u00a0stavu p\u0159enosu z\u00a0c\u00edle \u201e{0}\u201c
transfer_service.failed_to_get_transfer_status=Nepoda\u0159ilo se z\u00edskat informaci o\u00a0stavu p\u0159enosu z\u00a0c\u00edle {0}
transfer_service.target_error=C\u00edl p\u0159enosu selhal ({0})
transfer_service.unknown_target_error=Nezn\u00e1m\u00e1 chyba
transfer_service.receiver.no_primary_parent_supplied=P\u0159enos se nezda\u0159il, proto\u017ee nebyl uveden \u017e\u00e1dn\u00fd prim\u00e1rn\u00ed nad\u0159azen\u00fd prvek.

View File

@@ -3,7 +3,7 @@
repository.name=Main Repository
# Schema number
version.schema=13001
version.schema=13010
# Directory configuration

View File

@@ -153,18 +153,15 @@
</bean>
<bean id="solrAdminClient" class="org.alfresco.repo.solr.SOLRAdminClient" init-method="init">
<property name="solrHost" value="${solr.host}"/>
<property name="solrPort" value="${solr.port}"/>
<property name="solrsslPort" value="${solr.port.ssl}"/>
<property name="solrUser" value="${solr.solrUser}"/>
<property name="solrPassword" value="${solr.solrPassword}"/>
<property name="solrPingCronExpression" value="${solr.solrPingCronExpression}"/>
<property name="solrConnectTimeout" value="${solr.solrConnectTimeout}"/>
<property name="httpClientFactory" ref="solrHttpClientFactory"/>
<property name="baseUrl" value="${solr.baseUrl}"/>
<property name="scheduler">
<ref bean="searchSchedulerFactory" />
</property>
<property name="storeMappings">
<ref bean="solr4.store.mappings" />
</property>
<property name="useDynamicShardRegistration" value="${solr.useDynamicShardRegistration}" />
</bean>

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2020 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,6 +43,7 @@ import org.alfresco.repo.action.ActionImpl;
import org.alfresco.repo.action.ActionModel;
import org.alfresco.repo.action.AsynchronousActionExecutionQueuePolicies;
import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter;
import org.alfresco.repo.content.metadata.MetadataExtracterRegistry;
import org.alfresco.repo.content.metadata.TikaPoweredMetadataExtracter;
import org.alfresco.repo.content.transform.AbstractContentTransformerTest;

View File

@@ -1,28 +1,28 @@
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 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%
*/
/*
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2020 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.repo.content.metadata;
import static org.junit.Assert.assertEquals;
@@ -39,8 +39,11 @@ import org.joda.time.format.DateTimeFormat;
import org.junit.Test;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* MNT-8978
*/
@Deprecated
public class ConcurrencyOfficeMetadataExtracterTest
{

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -35,11 +35,14 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* The test designed for testing the concurrent limitations in
* {@link AbstractMappingMetadataExtracter#extractRaw(ContentReader, MetadataExtracterLimits)}
*
* @author amukha
*/
@Deprecated
public class ConcurrencyPdfBoxMetadataExtracterTest extends AbstractMetadataExtracterTest
{
private SlowPdfBoxMetadataExtracter extracter;

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Repository
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -42,10 +42,13 @@ import org.apache.tika.metadata.Metadata;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* @see DWGMetadataExtracter
*
* @author Nick Burch
*/
@Deprecated
public class DWGMetadataExtracterTest extends AbstractMetadataExtracterTest
{
private DWGMetadataExtracter extracter;

View File

@@ -24,7 +24,7 @@
* #L%
*/
/*
* Copyright (C) 2005 Jesper Steen Møller
* Copyright (C) 2005 - 2020 Jesper Steen Møller
*
* This file is part of Alfresco
*
@@ -54,8 +54,11 @@ import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
import org.alfresco.service.namespace.QName;
/**
* @deprecated OOTB extractors are being moved to T-Engines.
*
* @author Jesper Steen Møller
*/
@Deprecated
public class HtmlMetadataExtracterTest extends AbstractMetadataExtracterTest
{
private static final String QUICK_TITLE_JAPANESE = "確認した結果を添付しますので、確認してください";

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