mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-29 15:21:53 +00:00
Compare commits
158 Commits
7.183.300-
...
7.300-TEST
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72aa1b0a84 | ||
|
|
596dfe0940 | ||
|
|
c1a56ee22f | ||
|
|
106476287d | ||
|
|
01f7df6ff0 | ||
|
|
d83fb0a942 | ||
|
|
903c2828d2 | ||
|
|
c59d485eab | ||
|
|
b3b3c4c9f5 | ||
|
|
9e014128f4 | ||
|
|
36ccfe2bea | ||
|
|
56e9417e00 | ||
|
|
d5317444c8 | ||
|
|
f0d09767e7 | ||
|
|
eb8f4da6c9 | ||
|
|
bfc6e4c490 | ||
|
|
43815223ba | ||
|
|
4da02fcae2 | ||
|
|
a7f4f02dcf | ||
|
|
048c456580 | ||
|
|
1cd59480f9 | ||
|
|
c655c97421 | ||
|
|
7625df9166 | ||
|
|
515b8d1720 | ||
|
|
32e4a7bf8b | ||
|
|
fbb581f527 | ||
|
|
a6caa9953b | ||
|
|
69e16a3ffc | ||
|
|
28bebe0e6d | ||
|
|
9b4a43896a | ||
|
|
58c5160aeb | ||
|
|
94b4f4eefd | ||
|
|
c75e3cd7c4 | ||
|
|
58764feccd | ||
|
|
c5bceb0427 | ||
|
|
64e225dd0e | ||
|
|
30be7fdb61 | ||
|
|
8145afb29c | ||
|
|
5690f15967 | ||
|
|
2a7306cc8b | ||
|
|
70839f8d9a | ||
|
|
f895938f04 | ||
|
|
bcb7cc1400 | ||
|
|
a6511a3fd1 | ||
|
|
f0cdecac08 | ||
|
|
d9e16374d9 | ||
|
|
7c2d66bf2c | ||
|
|
f3f3ed7e61 | ||
|
|
15ca57bcd2 | ||
|
|
b24b144c3e | ||
|
|
f56726a75a | ||
|
|
3f78c9a729 | ||
|
|
2ffcfaee4e | ||
|
|
73784ab389 | ||
|
|
ff612b2233 | ||
|
|
60093108db | ||
|
|
3e2b0a0f22 | ||
|
|
fe9f6b73cd | ||
|
|
3d1e326d38 | ||
|
|
2b6185021e | ||
|
|
8b2b52bd47 | ||
|
|
41eeacac47 | ||
|
|
81e9ae40ca | ||
|
|
d9283af46b | ||
|
|
d8d00b1430 | ||
|
|
ec22b6b39a | ||
|
|
69fc15dd0c | ||
|
|
19a31ec32b | ||
|
|
4a83e7f83f | ||
|
|
023583e67a | ||
|
|
daf7ec44e4 | ||
|
|
ec131b33a5 | ||
|
|
d1ce85398c | ||
|
|
c79e3f8550 | ||
|
|
7a8996463a | ||
|
|
8242b34604 | ||
|
|
f34dd7ad16 | ||
|
|
4f517f9c41 | ||
|
|
187038d4ca | ||
|
|
f189f71fb8 | ||
|
|
82425433c4 | ||
|
|
0703d10899 | ||
|
|
5ffacd315e | ||
|
|
70ad374f8a | ||
|
|
88bec51910 | ||
|
|
fdce5a76ca | ||
|
|
93a4b9c0dd | ||
|
|
d123af8664 | ||
|
|
2ef82ccc56 | ||
|
|
7a6beb433a | ||
|
|
257fa68432 | ||
|
|
7c07b6c974 | ||
|
|
87ca3ac91a | ||
|
|
6f4ebcca3e | ||
|
|
eb1b7c320f | ||
|
|
cf476f4629 | ||
|
|
109e87f7af | ||
|
|
bc96fcb4e2 | ||
|
|
098ef5f8e9 | ||
|
|
12d1f2f7fd | ||
|
|
bc6dd55629 | ||
|
|
d3d4f3bf35 | ||
|
|
e627010d1b | ||
|
|
4b82c70015 | ||
|
|
5f1d7432ae | ||
|
|
251fb079a7 | ||
|
|
da57e725c0 | ||
|
|
70423195e9 | ||
|
|
90574ee73b | ||
|
|
2e412f2e59 | ||
|
|
5b3e93c077 | ||
|
|
2c9c91d7be | ||
|
|
b7479205d5 | ||
|
|
5238f1297c | ||
|
|
0632e1268e | ||
|
|
8e36d4f4c1 | ||
|
|
99b92f67ee | ||
|
|
8f97585cb7 | ||
|
|
323f26850d | ||
|
|
e667470f66 | ||
|
|
90210bd532 | ||
|
|
afbc56e6e2 | ||
|
|
0a39b667c8 | ||
|
|
2c1d7ac627 | ||
|
|
c081c3a420 | ||
|
|
670b4e6245 | ||
|
|
700491d80a | ||
|
|
d161574edc | ||
|
|
3e1d862c2d | ||
|
|
c19f2d71f8 | ||
|
|
c1d2b84582 | ||
|
|
c7d7bf9347 | ||
|
|
8b03573135 | ||
|
|
5759d76953 | ||
|
|
70bad61905 | ||
|
|
fe4e738521 | ||
|
|
080787a3f2 | ||
|
|
2ed64c64db | ||
|
|
ff769bc6c7 | ||
|
|
2d6397c367 | ||
|
|
d56e81154c | ||
|
|
8329ef8cc8 | ||
|
|
1cc88ff688 | ||
|
|
a1a00c8bb1 | ||
|
|
933d0505d7 | ||
|
|
86d8739af2 | ||
|
|
38c07132e5 | ||
|
|
b3a3b76112 | ||
|
|
a90529b8fc | ||
|
|
332fed005f | ||
|
|
e0050d99f1 | ||
|
|
46ac5eaaa1 | ||
|
|
489bf035de | ||
|
|
574fa342f1 | ||
|
|
b90d617c15 | ||
|
|
ef5eb81c8a | ||
|
|
d8c415e74a | ||
|
|
fea086de8d |
@@ -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"
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
### Alfresco Core
|
||||
[](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.
|
||||
20
core/pom.xml
20
core/pom.xml
@@ -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>
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
### Alfresco Data Model
|
||||
[](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.
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
41
pom.xml
@@ -2,7 +2,7 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>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>
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
### Alfresco Remote API
|
||||
[](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.
|
||||
@@ -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>
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
### Alfresco Repository
|
||||
[](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.
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>();
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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<>();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -240,6 +240,11 @@ public class DBResultSet extends AbstractResultSet
|
||||
nodeRefs[n+1] = nodeRef == null ? null : tenantService.getBaseName(nodeRef);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public NodeService getNodeService()
|
||||
{
|
||||
return nodeService;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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. -->
|
||||
|
||||
@@ -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>
|
||||
|
||||
<!-- ===================================== -->
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
repository.name=Main Repository
|
||||
|
||||
# Schema number
|
||||
version.schema=13001
|
||||
version.schema=13010
|
||||
|
||||
# Directory configuration
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user