mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
ACS-5506 Fix saving properties
This commit is contained in:
@@ -55,7 +55,6 @@ import org.alfresco.rest.api.Nodes;
|
|||||||
import org.alfresco.rest.api.People;
|
import org.alfresco.rest.api.People;
|
||||||
import org.alfresco.rest.api.model.Group;
|
import org.alfresco.rest.api.model.Group;
|
||||||
import org.alfresco.rest.api.model.GroupMember;
|
import org.alfresco.rest.api.model.GroupMember;
|
||||||
import org.alfresco.rest.api.model.Node;
|
|
||||||
import org.alfresco.rest.framework.core.exceptions.ConstraintViolatedException;
|
import org.alfresco.rest.framework.core.exceptions.ConstraintViolatedException;
|
||||||
import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException;
|
import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException;
|
||||||
import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException;
|
import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException;
|
||||||
@@ -71,9 +70,12 @@ import org.alfresco.rest.framework.resource.parameters.where.QueryHelper;
|
|||||||
import org.alfresco.rest.workflow.api.impl.MapBasedQueryWalker;
|
import org.alfresco.rest.workflow.api.impl.MapBasedQueryWalker;
|
||||||
import org.alfresco.rest.workflow.api.impl.MapBasedQueryWalkerOrSupported;
|
import org.alfresco.rest.workflow.api.impl.MapBasedQueryWalkerOrSupported;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.cmr.security.AuthorityService;
|
import org.alfresco.service.cmr.security.AuthorityService;
|
||||||
import org.alfresco.service.cmr.security.AuthorityType;
|
import org.alfresco.service.cmr.security.AuthorityType;
|
||||||
import org.alfresco.service.cmr.security.PermissionService;
|
import org.alfresco.service.cmr.security.PermissionService;
|
||||||
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.util.AlfrescoCollator;
|
import org.alfresco.util.AlfrescoCollator;
|
||||||
import org.alfresco.util.Pair;
|
import org.alfresco.util.Pair;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -92,6 +94,7 @@ public class GroupsImpl implements Groups
|
|||||||
private static final String ZONE = "zone";
|
private static final String ZONE = "zone";
|
||||||
private static final String AUTHORITY_NAME = "authorityName";
|
private static final String AUTHORITY_NAME = "authorityName";
|
||||||
private static final String ERR_MSG_MODIFY_FIXED_AUTHORITY = "Trying to modify a fixed authority";
|
private static final String ERR_MSG_MODIFY_FIXED_AUTHORITY = "Trying to modify a fixed authority";
|
||||||
|
private static final QName PROP_DESCRIPTION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "description");
|
||||||
|
|
||||||
private final static Map<String, String> SORT_PARAMS_TO_NAMES;
|
private final static Map<String, String> SORT_PARAMS_TO_NAMES;
|
||||||
static
|
static
|
||||||
@@ -109,6 +112,7 @@ public class GroupsImpl implements Groups
|
|||||||
private final static Set<String> LIST_GROUP_MEMBERS_QUERY_PROPERTIES = new HashSet<>(Arrays.asList(new String[] { PARAM_MEMBER_TYPE }));
|
private final static Set<String> LIST_GROUP_MEMBERS_QUERY_PROPERTIES = new HashSet<>(Arrays.asList(new String[] { PARAM_MEMBER_TYPE }));
|
||||||
|
|
||||||
protected AuthorityService authorityService;
|
protected AuthorityService authorityService;
|
||||||
|
protected NodeService nodeService;
|
||||||
private AuthorityDAO authorityDAO;
|
private AuthorityDAO authorityDAO;
|
||||||
|
|
||||||
protected People people;
|
protected People people;
|
||||||
@@ -124,6 +128,10 @@ public class GroupsImpl implements Groups
|
|||||||
this.authorityService = authorityService;
|
this.authorityService = authorityService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setNodeService(NodeService nodeService) {
|
||||||
|
this.nodeService = nodeService;
|
||||||
|
}
|
||||||
|
|
||||||
public void setAuthorityDAO(AuthorityDAO authorityDAO)
|
public void setAuthorityDAO(AuthorityDAO authorityDAO)
|
||||||
{
|
{
|
||||||
this.authorityDAO = authorityDAO;
|
this.authorityDAO = authorityDAO;
|
||||||
@@ -162,11 +170,7 @@ public class GroupsImpl implements Groups
|
|||||||
if (group.getDescription() != null && !group.getDescription().isEmpty())
|
if (group.getDescription() != null && !group.getDescription().isEmpty())
|
||||||
{
|
{
|
||||||
NodeRef groupNodeRef = authorityService.getAuthorityNodeRef(authority);
|
NodeRef groupNodeRef = authorityService.getAuthorityNodeRef(authority);
|
||||||
Node groupNode = nodes.getNode(groupNodeRef.getId());
|
nodeService.setProperty(groupNodeRef, PROP_DESCRIPTION, group.getDescription());
|
||||||
Map<String, Object> props = groupNode.getProperties();
|
|
||||||
props = props == null ? new HashMap<>() : props;
|
|
||||||
props.put("cm:description", group.getDescription());
|
|
||||||
groupNode.setProperties(props);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return getGroup(authority, parameters);
|
return getGroup(authority, parameters);
|
||||||
@@ -189,11 +193,7 @@ public class GroupsImpl implements Groups
|
|||||||
if (group.getDescription() != null && !group.getDescription().isEmpty())
|
if (group.getDescription() != null && !group.getDescription().isEmpty())
|
||||||
{
|
{
|
||||||
NodeRef groupNodeRef = authorityService.getAuthorityNodeRef(authorityService.getName(AuthorityType.GROUP, groupId));
|
NodeRef groupNodeRef = authorityService.getAuthorityNodeRef(authorityService.getName(AuthorityType.GROUP, groupId));
|
||||||
Node groupNode = nodes.getNode(groupNodeRef.getId());
|
nodeService.setProperty(groupNodeRef, PROP_DESCRIPTION, group.getDescription());
|
||||||
Map<String, Object> props = groupNode.getProperties();
|
|
||||||
props = props == null ? new HashMap<>() : props;
|
|
||||||
props.put("cm:description", group.getDescription());
|
|
||||||
groupNode.setProperties(props);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return getGroup(groupId, parameters);
|
return getGroup(groupId, parameters);
|
||||||
@@ -615,13 +615,9 @@ public class GroupsImpl implements Groups
|
|||||||
group.setHasSubgroups(!authorityService.getContainedAuthorities(AuthorityType.GROUP, authorityInfo.getAuthorityName(), true).isEmpty());
|
group.setHasSubgroups(!authorityService.getContainedAuthorities(AuthorityType.GROUP, authorityInfo.getAuthorityName(), true).isEmpty());
|
||||||
|
|
||||||
NodeRef groupNodeRef = authorityService.getAuthorityNodeRef(authorityInfo.getAuthorityName());
|
NodeRef groupNodeRef = authorityService.getAuthorityNodeRef(authorityInfo.getAuthorityName());
|
||||||
Node groupNode = nodes.getNode(groupNodeRef.getId());
|
String description = nodeService.getProperty(groupNodeRef, PROP_DESCRIPTION) != null ?
|
||||||
Map<String, Object> props = groupNode.getProperties();
|
nodeService.getProperty(groupNodeRef, PROP_DESCRIPTION).toString() :
|
||||||
String description = "";
|
"";
|
||||||
if (props != null)
|
|
||||||
{
|
|
||||||
description = props.get("cm:description") != null ? (String) props.get("cm:description") : "";
|
|
||||||
}
|
|
||||||
group.setDescription(description);
|
group.setDescription(description);
|
||||||
|
|
||||||
// Optionally include
|
// Optionally include
|
||||||
|
@@ -1694,6 +1694,7 @@
|
|||||||
<property name="authorityDAO" ref="authorityDAO" />
|
<property name="authorityDAO" ref="authorityDAO" />
|
||||||
<property name="people" ref="people"/>
|
<property name="people" ref="people"/>
|
||||||
<property name="nodes" ref="Nodes"/>
|
<property name="nodes" ref="Nodes"/>
|
||||||
|
<property name="nodeService" ref="NodeService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="Groups" class="org.springframework.aop.framework.ProxyFactoryBean">
|
<bean id="Groups" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||||
|
Reference in New Issue
Block a user