Compare commits

...

29 Commits

Author SHA1 Message Date
alfresco-build
8d790ed1cb [maven-release-plugin][skip ci] prepare release 23.6.0.29 2025-10-06 13:25:16 +00:00
cezary-witkowski
87c7bd2877 [ACS-10454] Bump AOS to fix "Edit in Microsoft Office" error (#3602) 2025-10-06 14:16:10 +02:00
alfresco-build
9125f889b0 [maven-release-plugin][skip ci] prepare for next development iteration 2025-10-03 11:40:58 +00:00
alfresco-build
2fb74d2691 [maven-release-plugin][skip ci] prepare release 23.6.0.28 2025-10-03 11:40:56 +00:00
Gerard Olenski
d671162dae ACS-10427 Bump ATS 4.2.2 (#3601) 2025-10-03 12:54:03 +02:00
alfresco-build
bfaa629da7 [maven-release-plugin][skip ci] prepare for next development iteration 2025-09-26 17:19:48 +00:00
alfresco-build
719d73a558 [maven-release-plugin][skip ci] prepare release 23.6.0.27 2025-09-26 17:19:46 +00:00
Piotr Żurek
a2aa867f3f ACS-9665 Fix formatting 2025-09-26 18:34:04 +02:00
Piotr Żurek
8d745c536a Cherry pick ACS-9665 add event generation extensions (#3593) 280a873cb6 Piotr Żurek <Piotr.Zurek@hyland.com> 26 Sep 2025 at 10:25 2025-09-26 18:25:10 +02:00
alfresco-build
b0f4c21ae3 [maven-release-plugin][skip ci] prepare for next development iteration 2025-09-26 12:31:24 +00:00
alfresco-build
72494e34fa [maven-release-plugin][skip ci] prepare release 23.6.0.26 2025-09-26 12:31:22 +00:00
Tiago Salvado
792b7024ea [ACS-9940] Bump spring security version to 6.4.11 (#3592) (#3594) 2025-09-26 12:44:25 +01:00
alfresco-build
40a1371f0d [maven-release-plugin][skip ci] prepare for next development iteration 2025-09-25 20:52:06 +00:00
alfresco-build
c22c47e63f [maven-release-plugin][skip ci] prepare release 23.6.0.25 2025-09-25 20:52:03 +00:00
Tiago Salvado
232299d42d [ACS-10155] Bump spring version to 6.2.11 (#3589) (#3591) 2025-09-25 21:04:30 +01:00
alfresco-build
aca7969849 [maven-release-plugin][skip ci] prepare for next development iteration 2025-09-25 10:22:26 +00:00
alfresco-build
4ab2bbd3d6 [maven-release-plugin][skip ci] prepare release 23.6.0.24 2025-09-25 10:22:24 +00:00
Debjit Chattopadhyay
f68f02372d Merge pull request #3590 from Alfresco/fix/MNT-24776_revert
Revert MNT-24776 as this fix is affecting other scenarios.
2025-09-25 15:05:51 +05:30
Debjit Chattopadhyay
9b0eedc8c1 Revert MNT-24776 as this fix is affecting other scenarios. 2025-09-25 13:19:23 +05:30
alfresco-build
f164dedcee [maven-release-plugin][skip ci] prepare for next development iteration 2025-09-23 12:55:06 +00:00
alfresco-build
9cdaa0a265 [maven-release-plugin][skip ci] prepare release 23.6.0.23 2025-09-23 12:55:04 +00:00
cezary-witkowski
ef034e596b [ACS-10041] Repository - CPU spikes and OOM errors with SQL Server 2019 (#3588) 2025-09-23 14:10:29 +02:00
alfresco-build
1251081a69 [maven-release-plugin][skip ci] prepare for next development iteration 2025-09-23 11:20:49 +00:00
alfresco-build
2d16eb6f42 [maven-release-plugin][skip ci] prepare release 23.6.0.22 2025-09-23 11:20:47 +00:00
Gerard Olenski
e577134875 ACS-10195 Bump Tika and ATS (#3587) 2025-09-23 12:37:56 +02:00
alfresco-build
510eadd565 [maven-release-plugin][skip ci] prepare for next development iteration 2025-09-22 12:43:25 +00:00
alfresco-build
187646895c [maven-release-plugin][skip ci] prepare release 23.6.0.21 2025-09-22 12:43:22 +00:00
Tiago Salvado
f9515e336f [ACS-10166] Include qname and namespace in NodeIdsWhichReferenceContentUrl query (#3579) (#3582) 2025-09-22 12:57:36 +01:00
alfresco-build
828dd20576 [maven-release-plugin][skip ci] prepare for next development iteration 2025-09-22 09:21:07 +00:00
33 changed files with 6645 additions and 6515 deletions

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<modules> <modules>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<modules> <modules>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<build> <build>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<modules> <modules>

View File

@@ -15,6 +15,13 @@
<parameter property="end" jdbcType="BIGINT" javaType="java.lang.Long"/> <parameter property="end" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap> </parameterMap>
<parameterMap id="parameter_NodeIdsWhichReferenceContentUrl" type="map">
<parameter property="contentUrlShort" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="contentUrlCrc" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="localName" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="uri" jdbcType="VARCHAR" javaType="java.lang.String"/>
</parameterMap>
<resultMap id="result_NodeRefEntity" type="org.alfresco.module.org_alfresco_module_rm.query.NodeRefEntity"> <resultMap id="result_NodeRefEntity" type="org.alfresco.module.org_alfresco_module_rm.query.NodeRefEntity">
<result property="row" column="row" jdbcType="BIGINT" javaType="java.lang.Long"/> <result property="row" column="row" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="protocol" column="protocol" jdbcType="VARCHAR" javaType="java.lang.String"/> <result property="protocol" column="protocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
@@ -55,18 +62,21 @@
<!-- Get list of node ids which reference given content url --> <!-- Get list of node ids which reference given content url -->
<select id="select_NodeIdsWhichReferenceContentUrl" <select id="select_NodeIdsWhichReferenceContentUrl"
parameterType="ContentUrl" parameterMap="parameter_NodeIdsWhichReferenceContentUrl"
resultMap="result_NodeIds"> resultMap="result_NodeIds">
select select
p.node_id p.node_id
from from
alf_content_url cu alf_content_url cu
LEFT OUTER JOIN alf_content_data cd ON (cd.content_url_id = cu.id) left outer join alf_content_data cd ON (cd.content_url_id = cu.id)
LEFT OUTER JOIN alf_node_properties p ON (p.long_value = cd.id) left outer join alf_node_properties p ON (p.long_value = cd.id)
WHERE left outer join alf_qname q ON (q.id = p.qname_id)
content_url_short = #{contentUrlShort} and left outer join alf_namespace n ON (n.id = q.ns_id)
content_url_crc = #{contentUrlCrc} where
cu.content_url_short = ? and
cu.content_url_crc = ? and
q.local_name = ? and
n.uri = ?
</select> </select>
<select id="select_RecordFoldersWithSchedules" <select id="select_RecordFoldersWithSchedules"

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<properties> <properties>

View File

@@ -27,7 +27,6 @@
package org.alfresco.module.org_alfresco_module_rm.query; package org.alfresco.module.org_alfresco_module_rm.query;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
@@ -36,6 +35,11 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.repo.domain.contentdata.ContentUrlEntity; import org.alfresco.repo.domain.contentdata.ContentUrlEntity;
import org.alfresco.repo.domain.node.NodeDAO; import org.alfresco.repo.domain.node.NodeDAO;
@@ -47,9 +51,6 @@ import org.alfresco.service.cmr.repository.InvalidNodeRefException;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.util.Pair; import org.alfresco.util.Pair;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.mybatis.spring.SqlSessionTemplate;
/** /**
* Records management query DAO implementation * Records management query DAO implementation
@@ -89,7 +90,8 @@ public class RecordsManagementQueryDAOImpl implements RecordsManagementQueryDAO,
protected TenantService tenantService; protected TenantService tenantService;
/** /**
* @param sqlSessionTemplate SQL session template * @param sqlSessionTemplate
* SQL session template
*/ */
public final void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) public final void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate)
{ {
@@ -97,7 +99,8 @@ public class RecordsManagementQueryDAOImpl implements RecordsManagementQueryDAO,
} }
/** /**
* @param qnameDAO qname DAO * @param qnameDAO
* qname DAO
*/ */
public final void setQnameDAO(QNameDAO qnameDAO) public final void setQnameDAO(QNameDAO qnameDAO)
{ {
@@ -173,8 +176,9 @@ public class RecordsManagementQueryDAOImpl implements RecordsManagementQueryDAO,
/** /**
* Get a set of node reference which reference the provided content URL * Get a set of node reference which reference the provided content URL
* *
* @param String contentUrl content URL * @param String
* @return Set<NodeRef> set of nodes that reference the provided content URL * contentUrl content URL
* @return Set<NodeRef> set of nodes that reference the provided content URL
*/ */
@Override @Override
public Set<NodeRef> getNodeRefsWhichReferenceContentUrl(String contentUrl) public Set<NodeRef> getNodeRefsWhichReferenceContentUrl(String contentUrl)
@@ -188,13 +192,19 @@ public class RecordsManagementQueryDAOImpl implements RecordsManagementQueryDAO,
ContentUrlEntity contentUrlEntity = new ContentUrlEntity(); ContentUrlEntity contentUrlEntity = new ContentUrlEntity();
contentUrlEntity.setContentUrl(contentUrl.toLowerCase()); contentUrlEntity.setContentUrl(contentUrl.toLowerCase());
Map<String, Object> params = new HashMap<>(4);
params.put("contentUrlShort", contentUrlEntity.getContentUrlShort());
params.put("contentUrlCrc", contentUrlEntity.getContentUrlCrc());
params.put("localName", ContentModel.PROP_CONTENT.getLocalName());
params.put("uri", ContentModel.PROP_CONTENT.getNamespaceURI());
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
{ {
logger.debug("Executing query " + SELECT_NODE_IDS_WHICH_REFERENCE_CONTENT_URL); logger.debug("Executing query " + SELECT_NODE_IDS_WHICH_REFERENCE_CONTENT_URL);
} }
// Get all the node ids which reference the given content url // Get all the node ids which reference the given content url
List<Long> nodeIds = template.selectList(SELECT_NODE_IDS_WHICH_REFERENCE_CONTENT_URL, contentUrlEntity); List<Long> nodeIds = template.selectList(SELECT_NODE_IDS_WHICH_REFERENCE_CONTENT_URL, params);
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
{ {
@@ -224,7 +234,7 @@ public class RecordsManagementQueryDAOImpl implements RecordsManagementQueryDAO,
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
{ {
logMessage.append(nodeRefToAdd) logMessage.append(nodeRefToAdd)
.append(" (from version)"); .append(" (from version)");
} }
} }
@@ -232,7 +242,7 @@ public class RecordsManagementQueryDAOImpl implements RecordsManagementQueryDAO,
else else
{ {
nodeRefToAdd = nodeDAO.getNodeIdStatus(nodeId) nodeRefToAdd = nodeDAO.getNodeIdStatus(nodeId)
.getNodeRef(); .getNodeRef();
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
{ {
logMessage.append(nodeRefToAdd); logMessage.append(nodeRefToAdd);
@@ -266,9 +276,9 @@ public class RecordsManagementQueryDAOImpl implements RecordsManagementQueryDAO,
{ {
Map<String, Object> params = new HashMap<>(2); Map<String, Object> params = new HashMap<>(2);
params.put("processed", qnameDAO.getQName(ASPECT_DISPOSITION_PROCESSED) params.put("processed", qnameDAO.getQName(ASPECT_DISPOSITION_PROCESSED)
.getFirst()); .getFirst());
params.put("folderQnameId", qnameDAO.getQName(TYPE_RECORD_FOLDER) params.put("folderQnameId", qnameDAO.getQName(TYPE_RECORD_FOLDER)
.getFirst()); .getFirst());
params.put("start", start); params.put("start", start);
params.put("end", end); params.put("end", end);
@@ -280,7 +290,7 @@ public class RecordsManagementQueryDAOImpl implements RecordsManagementQueryDAO,
for (NodeRefEntity nodeRefEntity : entities) for (NodeRefEntity nodeRefEntity : entities)
{ {
results.add( results.add(
new NodeRef(nodeRefEntity.getProtocol(), nodeRefEntity.getIdentifier(), nodeRefEntity.getUuid())); new NodeRef(nodeRefEntity.getProtocol(), nodeRefEntity.getIdentifier(), nodeRefEntity.getUuid()));
} }
return results; return results;
@@ -289,7 +299,8 @@ public class RecordsManagementQueryDAOImpl implements RecordsManagementQueryDAO,
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.query.RecordsManagementQueryDAO#getPropertyStringValueEntity(String stringValue) * @see org.alfresco.module.org_alfresco_module_rm.query.RecordsManagementQueryDAO#getPropertyStringValueEntity(String stringValue)
*/ */
public PropertyStringValueEntity getPropertyStringValueEntity(String stringValue){ public PropertyStringValueEntity getPropertyStringValueEntity(String stringValue)
{
PropertyStringValueEntity propertyStringValueEntity = new PropertyStringValueEntity(); PropertyStringValueEntity propertyStringValueEntity = new PropertyStringValueEntity();
propertyStringValueEntity.setValue(stringValue); propertyStringValueEntity.setValue(stringValue);

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<build> <build>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<modules> <modules>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<properties> <properties>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<dependencies> <dependencies>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<properties> <properties>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<dependencies> <dependencies>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
</project> </project>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<properties> <properties>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<modules> <modules>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<modules> <modules>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<organization> <organization>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<developers> <developers>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<developers> <developers>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<properties> <properties>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<developers> <developers>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<properties> <properties>

30
pom.xml
View File

@@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <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>23.6.0.20</version> <version>23.6.0.29</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>Alfresco Community Repo Parent</name> <name>Alfresco Community Repo Parent</name>
@@ -51,14 +51,14 @@
<dependency.alfresco-server-root.version>7.0.1</dependency.alfresco-server-root.version> <dependency.alfresco-server-root.version>7.0.1</dependency.alfresco-server-root.version>
<dependency.activiti-engine.version>5.23.0</dependency.activiti-engine.version> <dependency.activiti-engine.version>5.23.0</dependency.activiti-engine.version>
<dependency.activiti.version>5.23.0</dependency.activiti.version> <dependency.activiti.version>5.23.0</dependency.activiti.version>
<dependency.alfresco-transform-core.version>5.2.2-A.1</dependency.alfresco-transform-core.version> <dependency.alfresco-transform-core.version>5.2.2</dependency.alfresco-transform-core.version>
<dependency.alfresco-transform-service.version>4.2.2-A.1</dependency.alfresco-transform-service.version> <dependency.alfresco-transform-service.version>4.2.2</dependency.alfresco-transform-service.version>
<dependency.alfresco-greenmail.version>7.0</dependency.alfresco-greenmail.version> <dependency.alfresco-greenmail.version>7.0</dependency.alfresco-greenmail.version>
<dependency.acs-event-model.version>0.0.33</dependency.acs-event-model.version> <dependency.acs-event-model.version>0.0.33</dependency.acs-event-model.version>
<dependency.aspectj.version>1.9.22.1</dependency.aspectj.version> <dependency.aspectj.version>1.9.22.1</dependency.aspectj.version>
<dependency.spring.version>6.2.8</dependency.spring.version> <dependency.spring.version>6.2.11</dependency.spring.version>
<dependency.spring-security.version>6.3.9</dependency.spring-security.version> <dependency.spring-security.version>6.4.11</dependency.spring-security.version>
<dependency.antlr.version>3.5.3</dependency.antlr.version> <dependency.antlr.version>3.5.3</dependency.antlr.version>
<dependency.jackson.version>2.17.2</dependency.jackson.version> <dependency.jackson.version>2.17.2</dependency.jackson.version>
<dependency.cxf.version>4.1.2</dependency.cxf.version> <dependency.cxf.version>4.1.2</dependency.cxf.version>
@@ -81,7 +81,7 @@
<dependency.slf4j.version>2.0.16</dependency.slf4j.version> <dependency.slf4j.version>2.0.16</dependency.slf4j.version>
<dependency.log4j.version>2.23.1</dependency.log4j.version> <dependency.log4j.version>2.23.1</dependency.log4j.version>
<dependency.groovy.version>3.0.22</dependency.groovy.version> <dependency.groovy.version>3.0.22</dependency.groovy.version>
<dependency.tika.version>2.9.2</dependency.tika.version> <dependency.tika.version>3.2.3</dependency.tika.version>
<dependency.truezip.version>7.7.10</dependency.truezip.version> <dependency.truezip.version>7.7.10</dependency.truezip.version>
<dependency.poi.version>5.4.1</dependency.poi.version> <dependency.poi.version>5.4.1</dependency.poi.version>
<dependency.jboss.logging.version>3.5.0.Final</dependency.jboss.logging.version> <dependency.jboss.logging.version>3.5.0.Final</dependency.jboss.logging.version>
@@ -113,7 +113,7 @@
<dependency.jakarta-json-path.version>2.9.0</dependency.jakarta-json-path.version> <dependency.jakarta-json-path.version>2.9.0</dependency.jakarta-json-path.version>
<dependency.json-smart.version>2.5.2</dependency.json-smart.version> <dependency.json-smart.version>2.5.2</dependency.json-smart.version>
<alfresco.googledrive.version>4.1.0</alfresco.googledrive.version> <alfresco.googledrive.version>4.1.0</alfresco.googledrive.version>
<alfresco.aos-module.version>3.3.0</alfresco.aos-module.version> <alfresco.aos-module.version>3.4.0-A.1</alfresco.aos-module.version>
<alfresco.api-explorer.version>23.4.0</alfresco.api-explorer.version> <!-- Also in alfresco-enterprise-share --> <alfresco.api-explorer.version>23.4.0</alfresco.api-explorer.version> <!-- Also in alfresco-enterprise-share -->
<alfresco.maven-plugin.version>2.2.0</alfresco.maven-plugin.version> <alfresco.maven-plugin.version>2.2.0</alfresco.maven-plugin.version>
@@ -154,7 +154,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>23.6.0.20</tag> <tag>23.6.0.29</tag>
</scm> </scm>
<distributionManagement> <distributionManagement>
@@ -170,6 +170,12 @@
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
<!-- v1.10 has 0BSD license it must be consulted with Legal -->
<dependency>
<groupId>org.tukaani</groupId>
<artifactId>xz</artifactId>
<version>1.9</version>
</dependency>
<!-- Jakarta... --> <!-- Jakarta... -->
<dependency> <dependency>
<groupId>jakarta.xml.bind</groupId> <groupId>jakarta.xml.bind</groupId>
@@ -1132,16 +1138,10 @@
<exclude>jakarta.xml.soap:jakarta.xml.soap-api:(, 2.0.1)</exclude> <exclude>jakarta.xml.soap:jakarta.xml.soap-api:(, 2.0.1)</exclude>
<exclude>jakarta.jws:jakarta.jws-api:(, 3.0.0)</exclude> <exclude>jakarta.jws:jakarta.jws-api:(, 3.0.0)</exclude>
<!-- Enforce ban bouncycastle dependencies other than specified under <includes> section--> <!-- Enforce ban bouncycastle dependencies other than specified under <includes> section-->
<exclude>org.bouncycastle</exclude> <exclude>org.bouncycastle:(,1.81)</exclude>
<!-- Enforce one version of Jaxb--> <!-- Enforce one version of Jaxb-->
<exclude>com.sun.xml.bind</exclude> <exclude>com.sun.xml.bind</exclude>
</excludes> </excludes>
<includes>
<include>org.bouncycastle:bcprov-jdk18on:[1.78.1,)</include>
<include>org.bouncycastle:bcmail-jdk18on:[1.78.1,)</include>
<include>org.bouncycastle:bcpkix-jdk18on:[1.78.1,)</include>
<include>org.bouncycastle:bcutil-jdk18on:[1.78.1,)</include>
</includes>
</bannedDependencies> </bannedDependencies>
</rules> </rules>
<fail>true</fail> <fail>true</fail>

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<dependencies> <dependencies>

View File

@@ -40,7 +40,6 @@
"items": "items":
[ [
<#list results as row> <#list results as row>
<#if row.item.hasPermission("Read")>
{ {
"type": "${row.item.typeShort}", "type": "${row.item.typeShort}",
"parentType": "${row.item.parentTypeShort!""}", "parentType": "${row.item.parentTypeShort!""}",
@@ -76,7 +75,6 @@
"nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>, "nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
"selectable" : ${row.selectable?string}</#if> "selectable" : ${row.selectable?string}</#if>
}<#if row_has_next>,</#if> }<#if row_has_next>,</#if>
</#if>
</#list> </#list>
] ]
} }

View File

@@ -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>23.6.0.20</version> <version>23.6.0.29</version>
</parent> </parent>
<dependencies> <dependencies>

View File

@@ -2,7 +2,7 @@
* #%L * #%L
* Alfresco Repository * Alfresco Repository
* %% * %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited * Copyright (C) 2005 - 2025 Alfresco Software Limited
* %% * %%
* This file is part of the Alfresco software. * This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of
@@ -23,105 +23,102 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>. * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L% * #L%
*/ */
package org.alfresco.repo.domain.node; package org.alfresco.repo.domain.node;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter; import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
/** /**
* Class holding properties associated with the <b>sys:referenceable</b> aspect. * Class holding properties associated with the <b>sys:referenceable</b> aspect. This aspect is common enough to warrant direct inclusion on the <b>Node</b> entity.
* This aspect is common enough to warrant direct inclusion on the <b>Node</b> entity. *
* * @author Derek Hulley
* @author Derek Hulley * @since 3.4
* @since 3.4 */
*/ public class ReferenceablePropertiesEntity
public class ReferenceablePropertiesEntity {
{ private static final Set<QName> REFERENCEABLE_PROP_QNAMES;
private static final Set<QName> REFERENCEABLE_PROP_QNAMES; static
static {
{ REFERENCEABLE_PROP_QNAMES = new HashSet<QName>(8);
REFERENCEABLE_PROP_QNAMES = new HashSet<QName>(8); REFERENCEABLE_PROP_QNAMES.add(ContentModel.PROP_STORE_PROTOCOL);
REFERENCEABLE_PROP_QNAMES.add(ContentModel.PROP_STORE_PROTOCOL); REFERENCEABLE_PROP_QNAMES.add(ContentModel.PROP_STORE_IDENTIFIER);
REFERENCEABLE_PROP_QNAMES.add(ContentModel.PROP_STORE_IDENTIFIER); REFERENCEABLE_PROP_QNAMES.add(ContentModel.PROP_NODE_UUID);
REFERENCEABLE_PROP_QNAMES.add(ContentModel.PROP_NODE_UUID); REFERENCEABLE_PROP_QNAMES.add(ContentModel.PROP_NODE_DBID);
REFERENCEABLE_PROP_QNAMES.add(ContentModel.PROP_NODE_DBID); }
}
/**
/** * @return Returns <tt>true</tt> if the property belongs to the <b>sys:referenceable</b> aspect
* @return Returns <tt>true</tt> if the property belongs to the <b>sys:referenceable</b> aspect */
*/ public static boolean isReferenceableProperty(QName qname)
public static boolean isReferenceableProperty(QName qname) {
{ return REFERENCEABLE_PROP_QNAMES.contains(qname);
return REFERENCEABLE_PROP_QNAMES.contains(qname); }
}
/**
/** * Remove all {@link ContentModel#ASPECT_REFERENCEABLE referencable} properties
* Remove all {@link ContentModel#ASPECT_REFERENCEABLE referencable} properties */
*/ public static void removeReferenceableProperties(Node node, Map<QName, Serializable> properties)
public static void removeReferenceableProperties(Node node, Map<QName, Serializable> properties) {
{ properties.keySet().removeAll(REFERENCEABLE_PROP_QNAMES);
properties.keySet().removeAll(REFERENCEABLE_PROP_QNAMES); String name = DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_NAME));
String name = DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_NAME)); if (name != null && name.equals(node.getUuid()))
if (name != null && name.equals(node.getUuid())) {
{ // The cm:name matches the UUID, so drop it
// The cm:name matches the UUID, so drop it properties.remove(ContentModel.PROP_NAME);
properties.remove(ContentModel.PROP_NAME); }
} }
}
/**
/** * Remove all {@link ContentModel#ASPECT_REFERENCEABLE referencable} properties
* Remove all {@link ContentModel#ASPECT_REFERENCEABLE referencable} properties */
*/ public static void removeReferenceableProperties(Set<QName> propertyQNames)
public static void removeReferenceableProperties(Set<QName> propertyQNames) {
{ propertyQNames.removeAll(REFERENCEABLE_PROP_QNAMES);
propertyQNames.removeAll(REFERENCEABLE_PROP_QNAMES); }
}
/**
/** * Adds all {@link ContentModel#ASPECT_REFERENCEABLE referencable} properties.
* Adds all {@link ContentModel#ASPECT_REFERENCEABLE referencable} properties. */
*/ public static void addReferenceableProperties(Long nodeId, NodeRef nodeRef, Map<QName, Serializable> properties)
public static void addReferenceableProperties(Node node, Map<QName, Serializable> properties) {
{ properties.put(ContentModel.PROP_STORE_PROTOCOL, nodeRef.getStoreRef().getProtocol());
Long nodeId = node.getId(); properties.put(ContentModel.PROP_STORE_IDENTIFIER, nodeRef.getStoreRef().getIdentifier());
NodeRef nodeRef = node.getNodeRef(); properties.put(ContentModel.PROP_NODE_UUID, nodeRef.getId());
properties.put(ContentModel.PROP_STORE_PROTOCOL, nodeRef.getStoreRef().getProtocol()); properties.put(ContentModel.PROP_NODE_DBID, nodeId);
properties.put(ContentModel.PROP_STORE_IDENTIFIER, nodeRef.getStoreRef().getIdentifier()); // add the ID as the name, if required
properties.put(ContentModel.PROP_NODE_UUID, nodeRef.getId()); String name = DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_NAME));
properties.put(ContentModel.PROP_NODE_DBID, nodeId); if (name == null)
// add the ID as the name, if required {
String name = DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_NAME)); properties.put(ContentModel.PROP_NAME, nodeRef.getId());
if (name == null) }
{ }
properties.put(ContentModel.PROP_NAME, nodeRef.getId());
} public static Serializable getReferenceableProperty(Node node, QName qname)
} {
NodeRef nodeRef = node.getNodeRef();
public static Serializable getReferenceableProperty(Node node, QName qname) if (qname.equals(ContentModel.PROP_STORE_PROTOCOL))
{ {
NodeRef nodeRef = node.getNodeRef(); return nodeRef.getStoreRef().getProtocol();
if (qname.equals(ContentModel.PROP_STORE_PROTOCOL)) }
{ else if (qname.equals(ContentModel.PROP_STORE_IDENTIFIER))
return nodeRef.getStoreRef().getProtocol(); {
} return nodeRef.getStoreRef().getIdentifier();
else if (qname.equals(ContentModel.PROP_STORE_IDENTIFIER)) }
{ else if (qname.equals(ContentModel.PROP_NODE_UUID))
return nodeRef.getStoreRef().getIdentifier(); {
} return nodeRef.getId();
else if (qname.equals(ContentModel.PROP_NODE_UUID)) }
{ else if (qname.equals(ContentModel.PROP_NODE_DBID))
return nodeRef.getId(); {
} return node.getId();
else if (qname.equals(ContentModel.PROP_NODE_DBID)) }
{ throw new IllegalArgumentException("Not sys:referenceable property: " + qname);
return node.getId(); }
} }
throw new IllegalArgumentException("Not sys:referenceable property: " + qname);
}
}

View File

@@ -2,7 +2,7 @@
* #%L * #%L
* Alfresco Repository * Alfresco Repository
* %% * %%
* Copyright (C) 2005 - 2023 Alfresco Software Limited * Copyright (C) 2005 - 2025 Alfresco Software Limited
* %% * %%
* This file is part of the Alfresco software. * This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of
@@ -39,8 +39,10 @@ import org.alfresco.service.namespace.QName;
/** /**
* Encapsulates events occurred in a single transaction. * Encapsulates events occurred in a single transaction.
* *
* @param <REF> entity (e.g. node, child association, peer association) reference type * @param <REF>
* @param <RES> entity resource type * entity (e.g. node, child association, peer association) reference type
* @param <RES>
* entity resource type
*/ */
public abstract class EventConsolidator<REF extends EntityRef, RES extends Resource> public abstract class EventConsolidator<REF extends EntityRef, RES extends Resource>
{ {
@@ -90,23 +92,31 @@ public abstract class EventConsolidator<REF extends EntityRef, RES extends Resou
/** /**
* Builds and returns the {@link RepoEvent} instance. * Builds and returns the {@link RepoEvent} instance.
* *
* @param eventInfo the object holding the event information * @param eventInfo
* the object holding the event information
* @return the {@link RepoEvent} instance * @return the {@link RepoEvent} instance
*/ */
public RepoEvent<DataAttributes<RES>> getRepoEvent(EventInfo eventInfo) public RepoEvent<DataAttributes<RES>> getRepoEvent(EventInfo eventInfo)
{
final RepoEvent.Builder<DataAttributes<RES>> builder = RepoEvent.builder();
configureRepoEventBuilder(builder, eventInfo);
return builder.build();
}
protected void configureRepoEventBuilder(RepoEvent.Builder<DataAttributes<RES>> builder, EventInfo eventInfo)
{ {
EventType eventType = getDerivedEvent(); EventType eventType = getDerivedEvent();
DataAttributes<RES> eventData = buildEventData(eventInfo, resource, eventType); DataAttributes<RES> eventData = buildEventData(eventInfo, resource, eventType);
return RepoEvent.<DataAttributes<RES>>builder() builder.setId(eventInfo.getId())
.setId(eventInfo.getId()) .setSource(eventInfo.getSource())
.setSource(eventInfo.getSource()) .setTime(eventInfo.getTimestamp())
.setTime(eventInfo.getTimestamp()) .setType(eventType.getType())
.setType(eventType.getType()) .setData(eventData)
.setData(eventData) .setDataschema(EventJSONSchema.getSchemaV1(eventType));
.setDataschema(EventJSONSchema.getSchemaV1(eventType))
.build();
} }
/** /**
@@ -114,9 +124,9 @@ public abstract class EventConsolidator<REF extends EntityRef, RES extends Resou
*/ */
protected DataAttributes<RES> buildEventData(EventInfo eventInfo, RES resource, EventType eventType) protected DataAttributes<RES> buildEventData(EventInfo eventInfo, RES resource, EventType eventType)
{ {
return EventData.<RES>builder() return EventData.<RES> builder()
.setEventGroupId(eventInfo.getTxnId()) .setEventGroupId(eventInfo.getTxnId())
.setResource(resource) .setResource(resource)
.build(); .build();
} }
} }

View File

@@ -2,7 +2,7 @@
* #%L * #%L
* Alfresco Repository * Alfresco Repository
* %% * %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited * Copyright (C) 2005 - 2025 Alfresco Software Limited
* %% * %%
* This file is part of the Alfresco software. * This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of
@@ -23,239 +23,290 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>. * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L% * #L%
*/ */
package org.alfresco.repo.node.getchildren; package org.alfresco.repo.node.getchildren;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import org.alfresco.repo.domain.node.NodeEntity; import org.alfresco.repo.domain.node.AuditablePropertiesEntity;
import org.alfresco.repo.domain.node.NodePropertyEntity; import org.alfresco.repo.domain.node.NodePropertyEntity;
import org.alfresco.service.cmr.repository.NodeRef;
/** import org.alfresco.service.cmr.repository.StoreRef;
* Filterable/Sortable Node Entity
* /**
* Can be optionally filtered/sorted by (up to) three properties - note: sort properties are applied in order * Filterable/Sortable Node Entity
* *
* @author jan * Can be optionally filtered/sorted by (up to) three properties - note: sort properties are applied in order
* @since 4.0 *
*/ * @author jan
public class FilterSortNodeEntity * @since 4.0
{ */
private Long id; // node id public class FilterSortNodeEntity
{
private NodeEntity node; private Long id; // node id
private NodePropertyEntity prop1; private String nodeUuid;
private NodePropertyEntity prop2; private Long typeQNameId;
private NodePropertyEntity prop3;
private AuditablePropertiesEntity auditablePropertiesEntity;
// Supplemental query-related parameters private NodePropertyEntity prop1;
private Long parentNodeId; private NodePropertyEntity prop2;
private Long prop1qnameId; private NodePropertyEntity prop3;
private Long prop2qnameId;
private Long prop3qnameId; private String storeProtocol;
private List<Long> childNodeTypeQNameIds; private String storeIdentifier;
private Set<Long> assocTypeQNameIds;
private String pattern; // Supplemental query-related parameters
private Long namePropertyQNameId; private Long parentNodeId;
private boolean auditableProps; private Long prop1qnameId;
private boolean nodeType; private Long prop2qnameId;
private Long prop3qnameId;
private Boolean isPrimary; private List<Long> childNodeTypeQNameIds;
private Set<Long> assocTypeQNameIds;
/** private String pattern;
* Default constructor private Long namePropertyQNameId;
*/ private boolean auditableProps;
public FilterSortNodeEntity() private boolean nodeType;
{
auditableProps = false; private Boolean isPrimary;
}
/**
public Long getId() * Default constructor
{ */
return id; public FilterSortNodeEntity()
} {
auditableProps = false;
public void setId(Long id) }
{
this.id = id; public Long getId()
} {
return id;
public String getPattern() }
{
return pattern; public void setId(Long id)
} {
this.id = id;
protected String escape(String s, char escapeChar) }
{
StringBuilder sb = new StringBuilder(); public String getNodeUuid()
int idx = -1; {
int offset = 0; return nodeUuid;
do }
{
idx = s.indexOf(escapeChar, offset); public void setNodeUuid(String nodeUuid)
if(idx != -1) {
{ this.nodeUuid = nodeUuid;
sb.append(s.substring(offset, idx)); }
sb.append("\\");
sb.append(escapeChar); public Long getTypeQNameId()
offset = idx + 1; {
} return typeQNameId;
} }
while(idx != -1);
sb.append(s.substring(offset)); public void setTypeQNameId(Long typeQNameId)
return sb.toString(); {
} this.typeQNameId = typeQNameId;
}
public void setPattern(String pattern)
{ public String getPattern()
if(pattern != null) {
{ return pattern;
// escape the '%' character with '\' (standard SQL escape character) }
pattern = escape(pattern, '%');
// replace the wildcard character '*' with the one used in database queries i.e. '%' protected String escape(String s, char escapeChar)
this.pattern = pattern.replace('*', '%'); {
} StringBuilder sb = new StringBuilder();
} int idx = -1;
int offset = 0;
public void setAssocTypeQNameIds(Set<Long> assocTypeQNameIds) do
{ {
this.assocTypeQNameIds = assocTypeQNameIds; idx = s.indexOf(escapeChar, offset);
} if (idx != -1)
{
public Set<Long> getAssocTypeQNameIds() sb.append(s.substring(offset, idx));
{ sb.append("\\");
return assocTypeQNameIds; sb.append(escapeChar);
} offset = idx + 1;
}
public Long getNamePropertyQNameId() } while (idx != -1);
{ sb.append(s.substring(offset));
return namePropertyQNameId; return sb.toString();
} }
public void setNamePropertyQNameId(Long namePropertyQNameId) public void setPattern(String pattern)
{ {
this.namePropertyQNameId = namePropertyQNameId; if (pattern != null)
} {
// escape the '%' character with '\' (standard SQL escape character)
public NodePropertyEntity getProp1() pattern = escape(pattern, '%');
{ // replace the wildcard character '*' with the one used in database queries i.e. '%'
return prop1; this.pattern = pattern.replace('*', '%');
} }
}
public void setProp1(NodePropertyEntity prop1)
{ public void setAssocTypeQNameIds(Set<Long> assocTypeQNameIds)
this.prop1 = prop1; {
} this.assocTypeQNameIds = assocTypeQNameIds;
}
public NodePropertyEntity getProp2()
{ public Set<Long> getAssocTypeQNameIds()
return prop2; {
} return assocTypeQNameIds;
}
public void setProp2(NodePropertyEntity prop2)
{ public Long getNamePropertyQNameId()
this.prop2 = prop2; {
} return namePropertyQNameId;
}
public NodePropertyEntity getProp3()
{ public void setNamePropertyQNameId(Long namePropertyQNameId)
return prop3; {
} this.namePropertyQNameId = namePropertyQNameId;
}
public void setProp3(NodePropertyEntity prop3)
{ public AuditablePropertiesEntity getAuditablePropertiesEntity()
this.prop3 = prop3; {
} return auditablePropertiesEntity;
}
public NodeEntity getNode()
{ public void setAuditablePropertiesEntity(AuditablePropertiesEntity auditablePropertiesEntity)
return node; {
} this.auditablePropertiesEntity = auditablePropertiesEntity;
}
public void setNode(NodeEntity childNode)
{ public NodePropertyEntity getProp1()
this.node = childNode; {
} return prop1;
}
// Supplemental query-related parameters
public void setProp1(NodePropertyEntity prop1)
public Long getParentNodeId() {
{ this.prop1 = prop1;
return parentNodeId; }
}
public NodePropertyEntity getProp2()
public void setParentNodeId(Long parentNodeId) {
{ return prop2;
this.parentNodeId = parentNodeId; }
}
public void setProp2(NodePropertyEntity prop2)
public Long getProp1qnameId() {
{ this.prop2 = prop2;
return prop1qnameId; }
}
public NodePropertyEntity getProp3()
public void setProp1qnameId(Long prop1qnameId) {
{ return prop3;
this.prop1qnameId = prop1qnameId; }
}
public void setProp3(NodePropertyEntity prop3)
public Long getProp2qnameId() {
{ this.prop3 = prop3;
return prop2qnameId; }
}
public String getStoreProtocol()
public void setProp2qnameId(Long prop2qnameId) {
{ return storeProtocol;
this.prop2qnameId = prop2qnameId; }
}
public void setStoreProtocol(String storeProtocol)
public Long getProp3qnameId() {
{ this.storeProtocol = storeProtocol;
return prop3qnameId; }
}
public String getStoreIdentifier()
public void setProp3qnameId(Long prop3qnameId) {
{ return storeIdentifier;
this.prop3qnameId = prop3qnameId; }
}
public void setStoreIdentifier(String storeIdentifier)
public List<Long> getChildNodeTypeQNameIds() {
{ this.storeIdentifier = storeIdentifier;
return childNodeTypeQNameIds; }
}
// Supplemental query-related parameters
public void setChildNodeTypeQNameIds(List<Long> childNodeTypeQNameIds)
{ public Long getParentNodeId()
this.childNodeTypeQNameIds = childNodeTypeQNameIds; {
} return parentNodeId;
}
public boolean isAuditableProps()
{ public void setParentNodeId(Long parentNodeId)
return auditableProps; {
} this.parentNodeId = parentNodeId;
}
public void setAuditableProps(boolean auditableProps)
{ public Long getProp1qnameId()
this.auditableProps = auditableProps; {
} return prop1qnameId;
}
public boolean isNodeType()
{ public void setProp1qnameId(Long prop1qnameId)
return nodeType; {
} this.prop1qnameId = prop1qnameId;
}
public void setNodeType(boolean nodeType)
{ public Long getProp2qnameId()
this.nodeType = nodeType; {
} return prop2qnameId;
}
public Boolean isPrimary()
{ public void setProp2qnameId(Long prop2qnameId)
return isPrimary; {
} this.prop2qnameId = prop2qnameId;
}
public void setIsPrimary(Boolean isPrimary)
{ public Long getProp3qnameId()
this.isPrimary = isPrimary; {
} return prop3qnameId;
} }
public void setProp3qnameId(Long prop3qnameId)
{
this.prop3qnameId = prop3qnameId;
}
public List<Long> getChildNodeTypeQNameIds()
{
return childNodeTypeQNameIds;
}
public void setChildNodeTypeQNameIds(List<Long> childNodeTypeQNameIds)
{
this.childNodeTypeQNameIds = childNodeTypeQNameIds;
}
public boolean isAuditableProps()
{
return auditableProps;
}
public void setAuditableProps(boolean auditableProps)
{
this.auditableProps = auditableProps;
}
public boolean isNodeType()
{
return nodeType;
}
public void setNodeType(boolean nodeType)
{
this.nodeType = nodeType;
}
public Boolean isPrimary()
{
return isPrimary;
}
public void setIsPrimary(Boolean isPrimary)
{
this.isPrimary = isPrimary;
}
public NodeRef createNodeRef()
{
return new NodeRef(new StoreRef(storeProtocol, storeIdentifier), nodeUuid);
}
}

View File

@@ -133,7 +133,15 @@
<resultMap id="result_FilterSortNode" type="FilterSortNode"> <resultMap id="result_FilterSortNode" type="FilterSortNode">
<id property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/> <id property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="nodeUuid" column="uuid" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="typeQNameId" column="type_qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="auditablePropertiesEntity.auditCreator" column="audit_creator" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="auditablePropertiesEntity.auditCreated" column="audit_created" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="auditablePropertiesEntity.auditModifier" column="audit_modifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="auditablePropertiesEntity.auditModified" column="audit_modified" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="auditablePropertiesEntity.auditAccessed" column="audit_accessed" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="prop1.nodeId" column="prop1_node_id" jdbcType="BIGINT" javaType="java.lang.Long"/> <result property="prop1.nodeId" column="prop1_node_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="prop1.key.qnameId" column="prop1_qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/> <result property="prop1.key.qnameId" column="prop1_qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="prop1.key.localeId" column="prop1_locale_id" jdbcType="BIGINT" javaType="java.lang.Long"/> <result property="prop1.key.localeId" column="prop1_locale_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
@@ -169,8 +177,9 @@
<result property="prop3.value.floatValue" column="prop3_float_value" jdbcType="FLOAT" javaType="java.lang.Float"/> <result property="prop3.value.floatValue" column="prop3_float_value" jdbcType="FLOAT" javaType="java.lang.Float"/>
<result property="prop3.value.doubleValue" column="prop3_double_value" jdbcType="FLOAT" javaType="java.lang.Double"/> <result property="prop3.value.doubleValue" column="prop3_double_value" jdbcType="FLOAT" javaType="java.lang.Double"/>
<result property="prop3.value.stringValue" column="prop3_string_value" jdbcType="VARCHAR" javaType="java.lang.String"/> <result property="prop3.value.stringValue" column="prop3_string_value" jdbcType="VARCHAR" javaType="java.lang.String"/>
<association property="node" resultMap="alfresco.node.result_Node"/> <result property="storeProtocol" column="protocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="storeIdentifier" column="identifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
</resultMap> </resultMap>
@@ -972,8 +981,8 @@
</select> </select>
<!-- GetChildren - with explicit prop filtering and/or sorting --> <!-- GetChildren - with explicit prop filtering and/or sorting -->
<select id="select_GetChildrenCannedQueryWithProps" parameterType="FilterSortNode" resultMap="result_FilterSortNode"> <select id="select_GetChildrenCannedQueryWithProps" parameterType="FilterSortNode" resultMap="result_FilterSortNode" flushCache="true">
select select distinct
childNode.id as id, childNode.id as id,
childNode.version as version, childNode.version as version,
childStore.id as store_id, childStore.id as store_id,
@@ -989,7 +998,7 @@
childNode.audit_created as audit_created, childNode.audit_created as audit_created,
childNode.audit_modifier as audit_modifier, childNode.audit_modifier as audit_modifier,
childNode.audit_modified as audit_modified, childNode.audit_modified as audit_modified,
childNode.audit_accessed as audit_accessed childNode.audit_accessed as audit_accessed
<if test="prop1qnameId != null"> <if test="prop1qnameId != null">
, prop1.node_id as prop1_node_id, , prop1.node_id as prop1_node_id,
prop1.qname_id as prop1_qname_id, prop1.qname_id as prop1_qname_id,
@@ -1067,9 +1076,6 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="prop1qnameId == null and auditableProps == false">
<include refid="alfresco.node.select_ChildAssoc_OrderBy"/>
</if>
</select> </select>
<!-- GetChildren - with no explicit sorting (or prop filtering) - note: still filtered by child type (and optionally primary or secondary) --> <!-- GetChildren - with no explicit sorting (or prop filtering) - note: still filtered by child type (and optionally primary or secondary) -->