Merged HEAD (5.2) to 5.2.N (5.2.1)

126535 jkaabimofrad: Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2)
      123185 jvonka: RA-706, ACE-5113: Revese merge 123162 & 123163 (needs more thought, re: impact on existing tests etc)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@126879 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Ancuta Morarasu
2016-05-11 12:03:25 +00:00
parent 9ad70d1a52
commit 3461cfe219
2 changed files with 18 additions and 1 deletions

View File

@@ -146,7 +146,6 @@
<entry key="org.alfresco.rest.framework.core.exceptions.DisabledServiceException" value="#{T(org.springframework.extensions.webscripts.Status).STATUS_NOT_IMPLEMENTED}" /> <entry key="org.alfresco.rest.framework.core.exceptions.DisabledServiceException" value="#{T(org.springframework.extensions.webscripts.Status).STATUS_NOT_IMPLEMENTED}" />
<entry key="org.alfresco.rest.framework.core.exceptions.InsufficientStorageException" value="507" /> <entry key="org.alfresco.rest.framework.core.exceptions.InsufficientStorageException" value="507" />
<entry key="org.alfresco.repo.node.integrity.IntegrityException" value="422" /> <entry key="org.alfresco.repo.node.integrity.IntegrityException" value="422" />
<entry key="org.alfresco.service.cmr.security.NoSuchPersonException" value="422" />
</map> </map>
</property> </property>
</bean> </bean>

View File

@@ -1273,6 +1273,8 @@ public class NodesImpl implements Nodes
} }
props.put(ContentModel.PROP_NAME, nodeName); props.put(ContentModel.PROP_NAME, nodeName);
validatePropValues(props);
QName assocQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, QName.createValidLocalName(nodeName)); QName assocQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, QName.createValidLocalName(nodeName));
try try
{ {
@@ -1299,6 +1301,20 @@ public class NodesImpl implements Nodes
} }
} }
// special cases: additional validation of property values (if not done by underlying foundation services)
private void validatePropValues(Map<QName, Serializable> props)
{
String newOwner = (String)props.get(ContentModel.PROP_OWNER);
if (newOwner != null)
{
// validate that user exists
if (! personService.personExists(newOwner))
{
throw new InvalidArgumentException("Unknown owner: "+newOwner);
}
}
}
@Override @Override
public Node updateNode(String nodeId, Node nodeInfo, Parameters parameters) public Node updateNode(String nodeId, Node nodeInfo, Parameters parameters)
{ {
@@ -1430,6 +1446,8 @@ public class NodesImpl implements Nodes
if (props.size() > 0) if (props.size() > 0)
{ {
validatePropValues(props);
try try
{ {
// update node properties - note: null will unset the specified property // update node properties - note: null will unset the specified property