mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-22 15:12:38 +00:00
Compare commits
17 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
bf2b7be430 | ||
|
cea58c4b5d | ||
|
62107a769e | ||
|
834e5f9a44 | ||
|
7579c8022b | ||
|
a75c506920 | ||
|
abb6228ca9 | ||
|
f757bd1ed8 | ||
|
79783ac909 | ||
|
7b7809c98d | ||
|
ef0ccb7115 | ||
|
a393c8a9ac | ||
|
5f09757360 | ||
|
cf799c881c | ||
|
d275b0dfdf | ||
|
d849d95411 | ||
|
60a7b98a5d |
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-amps</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-automation-community-repo</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-amps</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
@@ -9,6 +9,6 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
</project>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<organization>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
6
pom.xml
6
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>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>Alfresco Community Repo Parent</name>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<properties>
|
||||
<acs.version.major>23</acs.version.major>
|
||||
<acs.version.minor>2</acs.version.minor>
|
||||
<acs.version.revision>4</acs.version.revision>
|
||||
<acs.version.revision>8</acs.version.revision>
|
||||
<acs.version.label />
|
||||
<amp.min.version>${acs.version.major}.0.0</amp.min.version>
|
||||
|
||||
@@ -151,7 +151,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>23.2.4.2</tag>
|
||||
<tag>23.2.8.1</tag>
|
||||
</scm>
|
||||
|
||||
<distributionManagement>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.2.4.2</version>
|
||||
<version>23.2.8.1</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
@@ -859,9 +859,18 @@ public class DbNodeServiceImpl extends AbstractNodeServiceImpl implements Extens
|
||||
if (aspectDef != null)
|
||||
{
|
||||
// Remove default properties
|
||||
Map<QName, Serializable> propsBefore = nodeDAO.getNodeProperties(nodeId);
|
||||
Map<QName, PropertyDefinition> propertyDefs = aspectDef.getProperties();
|
||||
Set<QName> propertyToRemoveQNames = propertyDefs.keySet();
|
||||
nodeDAO.removeNodeProperties(nodeId, propertyToRemoveQNames);
|
||||
boolean propertiesRemoved = nodeDAO.removeNodeProperties(nodeId, propertyToRemoveQNames);
|
||||
|
||||
if (propertiesRemoved)
|
||||
{
|
||||
invokeOnUpdateProperties(
|
||||
nodeRef,
|
||||
propsBefore, // before
|
||||
nodeDAO.getNodeProperties(nodeId)); // after
|
||||
}
|
||||
|
||||
// Remove child associations
|
||||
// We have to iterate over the associations and remove all those between the parent and child
|
||||
|
@@ -26,6 +26,12 @@
|
||||
|
||||
package org.alfresco.repo.event2;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import static org.alfresco.model.ContentModel.PROP_DESCRIPTION;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -544,6 +550,49 @@ public class UpdateRepoEventIT extends AbstractContextAwareRepoEvent
|
||||
assertEquals(aspectsBeforeRemove, resourceBefore.getAspectNames());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveAspectPropertiesTest()
|
||||
{
|
||||
final NodeRef nodeRef = createNode(ContentModel.TYPE_CONTENT);
|
||||
NodeResource resource = getNodeResource(1);
|
||||
final Set<String> originalAspects = resource.getAspectNames();
|
||||
assertNotNull(originalAspects);
|
||||
|
||||
// Add cm:geographic aspect with properties
|
||||
retryingTransactionHelper.doInTransaction(() -> {
|
||||
Map<QName, Serializable> aspectProperties = new HashMap<>();
|
||||
aspectProperties.put(ContentModel.PROP_LATITUDE, "12.345678");
|
||||
aspectProperties.put(ContentModel.PROP_LONGITUDE, "12.345678");
|
||||
nodeService.addAspect(nodeRef, ContentModel.ASPECT_GEOGRAPHIC, aspectProperties);
|
||||
return null;
|
||||
});
|
||||
resource = getNodeResource(2);
|
||||
Set<String> aspectsBeforeRemove = resource.getAspectNames();
|
||||
assertNotNull(aspectsBeforeRemove);
|
||||
assertTrue(aspectsBeforeRemove.contains("cm:geographic"));
|
||||
|
||||
// Remove cm:geographic aspect - this automatically removes the properties from the node
|
||||
retryingTransactionHelper.doInTransaction(() -> {
|
||||
nodeService.removeAspect(nodeRef, ContentModel.ASPECT_GEOGRAPHIC);
|
||||
return null;
|
||||
});
|
||||
|
||||
resource = getNodeResource(3);
|
||||
assertEquals(originalAspects, resource.getAspectNames());
|
||||
|
||||
NodeResource resourceBefore = getNodeResourceBefore(3);
|
||||
assertNotNull(resourceBefore.getAspectNames());
|
||||
assertEquals(aspectsBeforeRemove, resourceBefore.getAspectNames());
|
||||
// Resource before should contain cm:latitude and cm:longitude properties
|
||||
assertNotNull(resourceBefore.getProperties());
|
||||
assertTrue(resourceBefore.getProperties().containsKey("cm:latitude"));
|
||||
assertTrue(resourceBefore.getProperties().containsKey("cm:longitude"));
|
||||
// Resource after should NOT contain cm:latitude and cm:longitude properties
|
||||
assertNotNull(resource.getProperties());
|
||||
assertFalse(resource.getProperties().containsKey("cm:latitude"));
|
||||
assertFalse(resource.getProperties().containsKey("cm:longitude"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateAndUpdateInTheSameTransaction()
|
||||
{
|
||||
|
Reference in New Issue
Block a user