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

127606 jkaabimofrad: Merged API-STRIKES-BACK (5.2.0) to HEAD (5.2)
      127419 jvonka: Node Associations - 1st cut for creating/listing primary child assoc type other than cm:contains
      - TODO sanity tests, api spec tweaks
      RA-1092


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@127713 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2016-06-03 15:18:22 +00:00
parent 3f0bba6779
commit 22d91cb857
6 changed files with 67 additions and 26 deletions

View File

@@ -58,13 +58,11 @@ import java.util.Set;
*/
public class AbstractNodeRelation implements InitializingBean
{
public final static String PARAM_ASSOC_TYPE = "assocType";
// excluded namespaces (assoc types)
protected static final List<String> EXCLUDED_NS = Arrays.asList(NamespaceService.SYSTEM_MODEL_1_0_URI);
private final static Set<String> WHERE_PARAMS_ASSOC_TYPE =
new HashSet<>(Arrays.asList(new String[] {PARAM_ASSOC_TYPE}));
new HashSet<>(Arrays.asList(new String[] {Nodes.PARAM_ASSOC_TYPE}));
protected ServiceRegistry sr;
protected NodeService nodeService;
@@ -110,7 +108,7 @@ public class AbstractNodeRelation implements InitializingBean
MapBasedQueryWalker propertyWalker = new MapBasedQueryWalker(WHERE_PARAMS_ASSOC_TYPE, null);
QueryHelper.walk(q, propertyWalker);
String assocTypeQNameStr = propertyWalker.getProperty(PARAM_ASSOC_TYPE, WhereClauseParser.EQUALS, String.class);
String assocTypeQNameStr = propertyWalker.getProperty(Nodes.PARAM_ASSOC_TYPE, WhereClauseParser.EQUALS, String.class);
if (assocTypeQNameStr != null)
{
assocTypeQNamePattern = nodes.getAssocType(assocTypeQNameStr);

View File

@@ -47,10 +47,8 @@ import java.util.Set;
@RelationshipResource(name = "parents", entityResource = NodesEntityResource.class, title = "Node Parents")
public class NodeParentsRelation extends AbstractNodeRelation implements RelationshipResourceAction.Read<Node>
{
public final static String PARAM_IS_PRIMARY = Nodes.PARAM_ISPRIMARY;
private final static Set<String> WHERE_PARAMS_PARENTS =
new HashSet<>(Arrays.asList(new String[] {PARAM_ASSOC_TYPE, PARAM_IS_PRIMARY}));
new HashSet<>(Arrays.asList(new String[] {Nodes.PARAM_ASSOC_TYPE, Nodes.PARAM_ISPRIMARY}));
/**
* List child node's parent(s) based on (parent ->) child associations.
@@ -74,9 +72,9 @@ public class NodeParentsRelation extends AbstractNodeRelation implements Relatio
MapBasedQueryWalker propertyWalker = new MapBasedQueryWalker(WHERE_PARAMS_PARENTS, null);
QueryHelper.walk(q, propertyWalker);
isPrimary = propertyWalker.getProperty(PARAM_IS_PRIMARY, WhereClauseParser.EQUALS, Boolean.class);
isPrimary = propertyWalker.getProperty(Nodes.PARAM_ISPRIMARY, WhereClauseParser.EQUALS, Boolean.class);
String assocTypeQNameStr = propertyWalker.getProperty(PARAM_ASSOC_TYPE, WhereClauseParser.EQUALS, String.class);
String assocTypeQNameStr = propertyWalker.getProperty(Nodes.PARAM_ASSOC_TYPE, WhereClauseParser.EQUALS, String.class);
if (assocTypeQNameStr != null)
{
assocTypeQNameParam = nodes.getAssocType(assocTypeQNameStr);

View File

@@ -18,6 +18,7 @@
*/
package org.alfresco.rest.api.nodes;
import org.alfresco.rest.api.Nodes;
import org.alfresco.rest.api.model.AssocChild;
import org.alfresco.rest.api.model.Node;
import org.alfresco.rest.framework.WebApiDescription;
@@ -94,7 +95,7 @@ public class NodeSecondaryChildrenRelation extends AbstractNodeRelation implemen
NodeRef parentNodeRef = nodes.validateNode(parentNodeId);
NodeRef childNodeRef = nodes.validateNode(childNodeId);
String assocTypeStr = parameters.getParameter(PARAM_ASSOC_TYPE);
String assocTypeStr = parameters.getParameter(Nodes.PARAM_ASSOC_TYPE);
QName assocTypeQName = nodes.getAssocType(assocTypeStr, false);
List<ChildAssociationRef> assocRefs = nodeService.getChildAssocs(parentNodeRef);

View File

@@ -18,6 +18,7 @@
*/
package org.alfresco.rest.api.nodes;
import org.alfresco.rest.api.Nodes;
import org.alfresco.rest.api.model.AssocTarget;
import org.alfresco.rest.api.model.Node;
import org.alfresco.rest.framework.WebApiDescription;
@@ -79,7 +80,7 @@ public class NodeTargetsRelation extends AbstractNodeRelation implements
NodeRef srcNodeRef = nodes.validateNode(sourceNodeId);
NodeRef tgtNodeRef = nodes.validateNode(targetNodeId);
String assocTypeStr = parameters.getParameter(PARAM_ASSOC_TYPE);
String assocTypeStr = parameters.getParameter(Nodes.PARAM_ASSOC_TYPE);
QNamePattern assocTypeQName = nodes.getAssocType(assocTypeStr, false);
if (assocTypeQName == null)