mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
Compare commits
21 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
587087389e | ||
|
57c3605d63 | ||
|
2cb318a18e | ||
|
bd7af1f39c | ||
|
7885c6a78b | ||
|
d42e9ef993 | ||
|
197590eef4 | ||
|
102f59cde1 | ||
|
529699b5e1 | ||
|
96456ec719 | ||
|
71bbb579e6 | ||
|
51dcf28756 | ||
|
1639a17451 | ||
|
585e6042cb | ||
|
8364211384 | ||
|
f68d304d57 | ||
|
b55e1114e6 | ||
|
0e23ba37c6 | ||
|
38a4d378d9 | ||
|
65a562cd73 | ||
|
8eab098317 |
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-amps</artifactId>
|
<artifactId>alfresco-community-repo-amps</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-automation-community-repo</artifactId>
|
<artifactId>alfresco-governance-services-automation-community-repo</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
# Version label
|
# Version label
|
||||||
version.major=7
|
version.major=7
|
||||||
version.minor=4
|
version.minor=4
|
||||||
version.revision=0
|
version.revision=1
|
||||||
version.label=
|
version.label=
|
||||||
|
|
||||||
# Edition label
|
# Edition label
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-amps</artifactId>
|
<artifactId>alfresco-community-repo-amps</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
@@ -201,6 +201,11 @@ public class SearchParameters implements BasicSearchParameters
|
|||||||
|
|
||||||
private String timezone;
|
private String timezone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure the limit to track the total hits on search results
|
||||||
|
*/
|
||||||
|
private int trackTotalHits;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default constructor
|
* Default constructor
|
||||||
*/
|
*/
|
||||||
@@ -251,6 +256,7 @@ public class SearchParameters implements BasicSearchParameters
|
|||||||
sp.stats = this.stats;
|
sp.stats = this.stats;
|
||||||
sp.ranges = this.ranges;
|
sp.ranges = this.ranges;
|
||||||
sp.timezone = this.timezone;
|
sp.timezone = this.timezone;
|
||||||
|
sp.trackTotalHits = this.trackTotalHits;
|
||||||
return sp;
|
return sp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1641,6 +1647,21 @@ public class SearchParameters implements BasicSearchParameters
|
|||||||
{
|
{
|
||||||
this.includeMetadata = includeMetadata;
|
this.includeMetadata = includeMetadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getTrackTotalHits()
|
||||||
|
{
|
||||||
|
return trackTotalHits;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a maximum value for the report of total hits. The reported number of hits will never exceed this limit even
|
||||||
|
* if more are found. If unset, the engine’s default tracking limit is applied. To remove any limit, set to -1.
|
||||||
|
*
|
||||||
|
* @param trackTotalHits int
|
||||||
|
*/
|
||||||
|
public void setTrackTotalHits(int trackTotalHits)
|
||||||
|
{
|
||||||
|
this.trackTotalHits = trackTotalHits;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@@ -9,6 +9,6 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
</project>
|
</project>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<organization>
|
<organization>
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<developers>
|
<developers>
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<developers>
|
<developers>
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
@@ -0,0 +1,82 @@
|
|||||||
|
/*-
|
||||||
|
* #%L
|
||||||
|
* alfresco-tas-restapi
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2005 - 2023 Alfresco Software Limited
|
||||||
|
* %%
|
||||||
|
* This file is part of the Alfresco software.
|
||||||
|
* If the software was purchased under a paid Alfresco license, the terms of
|
||||||
|
* the paid license agreement will prevail. Otherwise, the software is
|
||||||
|
* provided under the following open source license terms:
|
||||||
|
*
|
||||||
|
* Alfresco is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Alfresco is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
package org.alfresco.rest.search;
|
||||||
|
|
||||||
|
import org.alfresco.rest.core.IRestModel;
|
||||||
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
|
public class RestRequestLimitsModel extends TestModel implements IRestModel<RestRequestLimitsModel>
|
||||||
|
{
|
||||||
|
@JsonProperty
|
||||||
|
RestRequestLimitsModel model;
|
||||||
|
|
||||||
|
private Integer permissionEvaluationTime;
|
||||||
|
private Integer permissionEvaluationCount;
|
||||||
|
private Integer trackTotalHitsLimit;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RestRequestLimitsModel onModel()
|
||||||
|
{
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RestRequestLimitsModel(Integer permissionEvaluationTime, Integer permissionEvaluationCount,
|
||||||
|
Integer trackTotalHitsLimit)
|
||||||
|
{
|
||||||
|
super();
|
||||||
|
this.permissionEvaluationTime = permissionEvaluationTime;
|
||||||
|
this.permissionEvaluationCount = permissionEvaluationCount;
|
||||||
|
this.trackTotalHitsLimit = trackTotalHitsLimit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPermissionEvaluationTime()
|
||||||
|
{
|
||||||
|
return permissionEvaluationTime;
|
||||||
|
}
|
||||||
|
public void setPermissionEvaluationTime(Integer permissionEvaluationTime)
|
||||||
|
{
|
||||||
|
this.permissionEvaluationTime = permissionEvaluationTime;
|
||||||
|
}
|
||||||
|
public Integer getPermissionEvaluationCount()
|
||||||
|
{
|
||||||
|
return permissionEvaluationCount;
|
||||||
|
}
|
||||||
|
public void setPermissionEvaluationCount(Integer permissionEvaluationCount)
|
||||||
|
{
|
||||||
|
this.permissionEvaluationCount = permissionEvaluationCount;
|
||||||
|
}
|
||||||
|
public Integer getTrackTotalHitsLimit()
|
||||||
|
{
|
||||||
|
return trackTotalHitsLimit;
|
||||||
|
}
|
||||||
|
public void setTrackTotalHitsLimit(Integer trackTotalHitsLimit)
|
||||||
|
{
|
||||||
|
this.trackTotalHitsLimit = trackTotalHitsLimit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@@ -76,6 +76,7 @@ public class SearchRequest extends TestModel
|
|||||||
String facetFormat;
|
String facetFormat;
|
||||||
List<String> include;
|
List<String> include;
|
||||||
List<SortClause> sort;
|
List<SortClause> sort;
|
||||||
|
RestRequestLimitsModel limits;
|
||||||
|
|
||||||
public SearchRequest()
|
public SearchRequest()
|
||||||
{
|
{
|
||||||
@@ -279,4 +280,15 @@ public class SearchRequest extends TestModel
|
|||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RestRequestLimitsModel getLimits()
|
||||||
|
{
|
||||||
|
return limits;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLimits(RestRequestLimitsModel limits)
|
||||||
|
{
|
||||||
|
this.limits = limits;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<developers>
|
<developers>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
8
pom.xml
8
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">
|
<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>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>Alfresco Community Repo Parent</name>
|
<name>Alfresco Community Repo Parent</name>
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<acs.version.major>7</acs.version.major>
|
<acs.version.major>7</acs.version.major>
|
||||||
<acs.version.minor>4</acs.version.minor>
|
<acs.version.minor>4</acs.version.minor>
|
||||||
<acs.version.revision>0</acs.version.revision>
|
<acs.version.revision>1</acs.version.revision>
|
||||||
<acs.version.label />
|
<acs.version.label />
|
||||||
<amp.min.version>${acs.version.major}.0.0</amp.min.version>
|
<amp.min.version>${acs.version.major}.0.0</amp.min.version>
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<dependency.jackson.version>2.15.0-rc1</dependency.jackson.version>
|
<dependency.jackson.version>2.15.0-rc1</dependency.jackson.version>
|
||||||
<dependency.cxf.version>3.5.5</dependency.cxf.version>
|
<dependency.cxf.version>3.5.5</dependency.cxf.version>
|
||||||
<dependency.opencmis.version>1.0.0</dependency.opencmis.version>
|
<dependency.opencmis.version>1.0.0</dependency.opencmis.version>
|
||||||
<dependency.webscripts.version>8.40</dependency.webscripts.version>
|
<dependency.webscripts.version>8.44</dependency.webscripts.version>
|
||||||
<dependency.bouncycastle.version>1.70</dependency.bouncycastle.version>
|
<dependency.bouncycastle.version>1.70</dependency.bouncycastle.version>
|
||||||
<dependency.mockito-core.version>4.9.0</dependency.mockito-core.version>
|
<dependency.mockito-core.version>4.9.0</dependency.mockito-core.version>
|
||||||
<dependency.assertj.version>3.24.2</dependency.assertj.version>
|
<dependency.assertj.version>3.24.2</dependency.assertj.version>
|
||||||
@@ -150,7 +150,7 @@
|
|||||||
<connection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</connection>
|
<connection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</connection>
|
||||||
<developerConnection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</developerConnection>
|
<developerConnection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</developerConnection>
|
||||||
<url>https://github.com/Alfresco/alfresco-community-repo</url>
|
<url>https://github.com/Alfresco/alfresco-community-repo</url>
|
||||||
<tag>20.161</tag>
|
<tag>21.7</tag>
|
||||||
</scm>
|
</scm>
|
||||||
|
|
||||||
<distributionManagement>
|
<distributionManagement>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@@ -823,6 +823,11 @@ public class SearchMapper
|
|||||||
sp.setLimitBy(LimitBy.NUMBER_OF_PERMISSION_EVALUATIONS);
|
sp.setLimitBy(LimitBy.NUMBER_OF_PERMISSION_EVALUATIONS);
|
||||||
sp.setMaxPermissionCheckTimeMillis(limits.getPermissionEvaluationTime());
|
sp.setMaxPermissionCheckTimeMillis(limits.getPermissionEvaluationTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(limits.getTrackTotalHitsLimit() != null)
|
||||||
|
{
|
||||||
|
sp.setTrackTotalHits(limits.getTrackTotalHitsLimit());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -93,7 +93,7 @@ public class FacetField
|
|||||||
|
|
||||||
public String toFilterQuery(String value)
|
public String toFilterQuery(String value)
|
||||||
{
|
{
|
||||||
return field+":\""+value+"\"";
|
return ("Null".equals(value)) ? "ISNULL:\"" + field + "\"" : field + ":\"" + value + "\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPrefix()
|
public String getPrefix()
|
||||||
|
@@ -37,13 +37,16 @@ public class Limits
|
|||||||
|
|
||||||
private final Integer permissionEvaluationTime;
|
private final Integer permissionEvaluationTime;
|
||||||
private final Integer permissionEvaluationCount;
|
private final Integer permissionEvaluationCount;
|
||||||
|
private final Integer trackTotalHitsLimit;
|
||||||
|
|
||||||
@JsonCreator
|
@JsonCreator
|
||||||
public Limits(@JsonProperty("permissionEvaluationTime") Integer permissionEvaluationTime,
|
public Limits(@JsonProperty("permissionEvaluationTime") Integer permissionEvaluationTime,
|
||||||
@JsonProperty("permissionEvaluationCount") Integer permissionEvaluationCount)
|
@JsonProperty("permissionEvaluationCount") Integer permissionEvaluationCount,
|
||||||
|
@JsonProperty("trackTotalHitsLimit") Integer trackTotalHitsLimit)
|
||||||
{
|
{
|
||||||
this.permissionEvaluationTime = permissionEvaluationTime;
|
this.permissionEvaluationTime = permissionEvaluationTime;
|
||||||
this.permissionEvaluationCount = permissionEvaluationCount;
|
this.permissionEvaluationCount = permissionEvaluationCount;
|
||||||
|
this.trackTotalHitsLimit = trackTotalHitsLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getPermissionEvaluationTime()
|
public Integer getPermissionEvaluationTime()
|
||||||
@@ -55,4 +58,9 @@ public class Limits
|
|||||||
{
|
{
|
||||||
return permissionEvaluationCount;
|
return permissionEvaluationCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getTrackTotalHitsLimit()
|
||||||
|
{
|
||||||
|
return trackTotalHitsLimit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -745,33 +745,56 @@ public class SearchMapperTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void fromLimits() throws Exception
|
public void fromLimits_setNull() throws Exception
|
||||||
{
|
{
|
||||||
SearchParameters searchParameters = new SearchParameters();
|
SearchParameters searchParameters = new SearchParameters();
|
||||||
searchMapper.setDefaults(searchParameters);
|
searchMapper.setDefaults(searchParameters);
|
||||||
|
|
||||||
//Doesn't error
|
|
||||||
searchMapper.fromLimits(searchParameters, null);
|
searchMapper.fromLimits(searchParameters, null);
|
||||||
assertEquals(500, searchParameters.getLimit());
|
assertEquals("LimitBy default value should be unlimited", LimitBy.UNLIMITED, searchParameters.getLimitBy());
|
||||||
assertEquals(LimitBy.UNLIMITED, searchParameters.getLimitBy());
|
assertEquals("Limit default value should be 500", 500, searchParameters.getLimit());
|
||||||
|
}
|
||||||
|
|
||||||
searchMapper.fromLimits(searchParameters, new Limits(null, null));
|
@Test
|
||||||
assertEquals(LimitBy.UNLIMITED, searchParameters.getLimitBy());
|
public void fromLimits_setAllLimitsAsNull() throws Exception
|
||||||
assertEquals(500, searchParameters.getLimit());
|
{
|
||||||
|
SearchParameters searchParameters = new SearchParameters();
|
||||||
searchMapper.fromLimits(searchParameters, new Limits(null, 34));
|
|
||||||
assertEquals(LimitBy.NUMBER_OF_PERMISSION_EVALUATIONS, searchParameters.getLimitBy());
|
|
||||||
assertEquals(34, searchParameters.getMaxPermissionChecks());
|
|
||||||
assertEquals(-1, searchParameters.getLimit());
|
|
||||||
assertEquals(-1, searchParameters.getMaxPermissionCheckTimeMillis());
|
|
||||||
|
|
||||||
searchParameters = new SearchParameters();
|
|
||||||
searchMapper.setDefaults(searchParameters);
|
searchMapper.setDefaults(searchParameters);
|
||||||
searchMapper.fromLimits(searchParameters, new Limits(1000, null));
|
searchMapper.fromLimits(searchParameters, new Limits(null, null, null));
|
||||||
|
assertEquals("LimitBy default value should be unlimited", LimitBy.UNLIMITED, searchParameters.getLimitBy());
|
||||||
|
assertEquals("Limit default value should be 500", 500, searchParameters.getLimit());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void fromLimits_setPermissionEvaluationCount() throws Exception
|
||||||
|
{
|
||||||
|
SearchParameters searchParameters = new SearchParameters();
|
||||||
|
searchMapper.setDefaults(searchParameters);
|
||||||
|
searchMapper.fromLimits(searchParameters, new Limits(null, 34, null));
|
||||||
assertEquals(LimitBy.NUMBER_OF_PERMISSION_EVALUATIONS, searchParameters.getLimitBy());
|
assertEquals(LimitBy.NUMBER_OF_PERMISSION_EVALUATIONS, searchParameters.getLimitBy());
|
||||||
assertEquals(1000, searchParameters.getMaxPermissionCheckTimeMillis());
|
assertEquals("MaxPermissionChecks should be set", 34, searchParameters.getMaxPermissionChecks());
|
||||||
assertEquals(-1, searchParameters.getLimit());
|
assertEquals("Limit should be -1", -1, searchParameters.getLimit());
|
||||||
assertEquals(-1, searchParameters.getMaxPermissionChecks());
|
assertEquals("MaxPermissionCheckTimeMillis should be -1", -1, searchParameters.getMaxPermissionCheckTimeMillis());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void fromLimits_setPermissionEvaluationTime() throws Exception
|
||||||
|
{
|
||||||
|
SearchParameters searchParameters = new SearchParameters();
|
||||||
|
searchMapper.setDefaults(searchParameters);
|
||||||
|
searchMapper.fromLimits(searchParameters, new Limits(1000, null, null));
|
||||||
|
assertEquals(LimitBy.NUMBER_OF_PERMISSION_EVALUATIONS, searchParameters.getLimitBy());
|
||||||
|
assertEquals("MaxPermissionCheckTimeMillis should be set", 1000, searchParameters.getMaxPermissionCheckTimeMillis());
|
||||||
|
assertEquals("Limit should be -1", -1, searchParameters.getLimit());
|
||||||
|
assertEquals("MaxPermissionChecks should be -1", -1, searchParameters.getMaxPermissionChecks());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void fromLimits_setTrackTotalHitsLimit() throws Exception
|
||||||
|
{
|
||||||
|
SearchParameters searchParameters = new SearchParameters();
|
||||||
|
searchMapper.setDefaults(searchParameters);
|
||||||
|
searchMapper.fromLimits(searchParameters, new Limits(null, null, 10));
|
||||||
|
assertEquals("TrackTotalHits should be set", 10, searchParameters.getTrackTotalHits());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-community-repo</artifactId>
|
<artifactId>alfresco-community-repo</artifactId>
|
||||||
<version>20.161</version>
|
<version>21.7</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@@ -251,15 +251,16 @@ public class TransactionBehaviourQueue implements TransactionListener
|
|||||||
}
|
}
|
||||||
catch (IllegalArgumentException e)
|
catch (IllegalArgumentException e)
|
||||||
{
|
{
|
||||||
throw new AlfrescoRuntimeException("Failed to execute transaction-level behaviour " + context.method + " in transaction " + AlfrescoTransactionSupport.getTransactionId(), e);
|
throw new AlfrescoRuntimeException("Failed to execute transaction-level behaviour " + context.method + " in transaction " + AlfrescoTransactionSupport.getTransactionId() + " : " + e.getMessage(), e);
|
||||||
}
|
}
|
||||||
catch (IllegalAccessException e)
|
catch (IllegalAccessException e)
|
||||||
{
|
{
|
||||||
throw new AlfrescoRuntimeException("Failed to execute transaction-level behaviour " + context.method + " in transaction " + AlfrescoTransactionSupport.getTransactionId(), e);
|
throw new AlfrescoRuntimeException("Failed to execute transaction-level behaviour " + context.method + " in transaction " + AlfrescoTransactionSupport.getTransactionId() + " : " + e.getMessage(), e);
|
||||||
}
|
}
|
||||||
catch (InvocationTargetException e)
|
catch (InvocationTargetException e)
|
||||||
{
|
{
|
||||||
throw new AlfrescoRuntimeException("Failed to execute transaction-level behaviour " + context.method + " in transaction " + AlfrescoTransactionSupport.getTransactionId(), e.getTargetException());
|
String msg = e.getMessage() + (e.getTargetException() != null ? "(" + e.getTargetException().getMessage() + ")" : "");
|
||||||
|
throw new AlfrescoRuntimeException("Failed to execute transaction-level behaviour " + context.method + " in transaction " + AlfrescoTransactionSupport.getTransactionId() + " : " + msg, e.getTargetException());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1605,8 +1605,6 @@ public class LDAPUserRegistry implements UserRegistry, LDAPNameResolver, Initial
|
|||||||
this.userSearchCtls = new SearchControls();
|
this.userSearchCtls = new SearchControls();
|
||||||
this.userSearchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
|
this.userSearchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
|
||||||
this.userSearchCtls.setReturningAttributes(LDAPUserRegistry.this.userKeys.getFirst());
|
this.userSearchCtls.setReturningAttributes(LDAPUserRegistry.this.userKeys.getFirst());
|
||||||
// MNT-14001 fix, set search limit to ensure that server will not return more search results then provided by paged result control
|
|
||||||
this.userSearchCtls.setCountLimit(LDAPUserRegistry.this.queryBatchSize > 0 ? LDAPUserRegistry.this.queryBatchSize : 0);
|
|
||||||
|
|
||||||
this.next = fetchNext();
|
this.next = fetchNext();
|
||||||
}
|
}
|
||||||
|
@@ -997,6 +997,20 @@ public class WorkflowServiceImpl implements WorkflowService
|
|||||||
public WorkflowTask updateTask(String taskId, Map<QName, Serializable> properties, Map<QName, List<NodeRef>> add,
|
public WorkflowTask updateTask(String taskId, Map<QName, Serializable> properties, Map<QName, List<NodeRef>> add,
|
||||||
Map<QName, List<NodeRef>> remove)
|
Map<QName, List<NodeRef>> remove)
|
||||||
{
|
{
|
||||||
|
if(properties.containsKey(WorkflowModel.PROP_STATUS)) {
|
||||||
|
|
||||||
|
LinkedList<String> validTaskStatus = new LinkedList<>();
|
||||||
|
validTaskStatus.add("Not Yet Started");
|
||||||
|
validTaskStatus.add("In Progress");
|
||||||
|
validTaskStatus.add("On Hold");
|
||||||
|
validTaskStatus.add("Cancelled");
|
||||||
|
validTaskStatus.add("Completed");
|
||||||
|
|
||||||
|
if (!validTaskStatus.contains(properties.get(WorkflowModel.PROP_STATUS))) {
|
||||||
|
throw new WorkflowException("Invalid Value is Passed for Task Status.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String engineId = BPMEngineRegistry.getEngineId(taskId);
|
String engineId = BPMEngineRegistry.getEngineId(taskId);
|
||||||
TaskComponent component = getTaskComponent(engineId);
|
TaskComponent component = getTaskComponent(engineId);
|
||||||
// get the current assignee before updating the task
|
// get the current assignee before updating the task
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
repository.name=Main Repository
|
repository.name=Main Repository
|
||||||
|
|
||||||
# Schema number
|
# Schema number
|
||||||
version.schema=18000
|
version.schema=18100
|
||||||
|
|
||||||
# Directory configuration
|
# Directory configuration
|
||||||
|
|
||||||
@@ -1349,7 +1349,7 @@ system.remove-alf_server-table-from-db.ignored=true
|
|||||||
allow.unsecure.callback.jsonp=false
|
allow.unsecure.callback.jsonp=false
|
||||||
|
|
||||||
# pre-configured allow list of media/mime types to allow inline instead of attachment (via Content-Disposition response header)
|
# pre-configured allow list of media/mime types to allow inline instead of attachment (via Content-Disposition response header)
|
||||||
content.nonAttach.mimetypes=application/pdf,image/jpeg,image/gif,image/png,image/tiff,image/bmp
|
content.nonAttach.mimetypes=application/pdf,image/jpeg,image/gif,image/png,image/tiff,image/bmp,application/octet-stream
|
||||||
|
|
||||||
# Zip file compression ratio threshold as a percentage, above which the zip file will be considered a "zip bomb" and the
|
# Zip file compression ratio threshold as a percentage, above which the zip file will be considered a "zip bomb" and the
|
||||||
# import extraction process cancelled.
|
# import extraction process cancelled.
|
||||||
|
Reference in New Issue
Block a user