diff --git a/source/java/org/alfresco/rest/api/PublicApiDeclarativeRegistry.java b/source/java/org/alfresco/rest/api/PublicApiDeclarativeRegistry.java index 07f5c2848f..73f5d419ff 100644 --- a/source/java/org/alfresco/rest/api/PublicApiDeclarativeRegistry.java +++ b/source/java/org/alfresco/rest/api/PublicApiDeclarativeRegistry.java @@ -125,6 +125,8 @@ public class PublicApiDeclarativeRegistry extends DeclarativeRegistry Class resAction = null; String entityId = templateVars.get(ResourceLocator.ENTITY_ID); + String relationshipId = templateVars.get(ResourceLocator.RELATIONSHIP_ID); + switch (rwm.getMetaData().getType()) { case ENTITY: @@ -156,6 +158,22 @@ public class PublicApiDeclarativeRegistry extends DeclarativeRegistry } } break; + case RELATIONSHIP: + if (StringUtils.isNotBlank(relationshipId)) + { + if (RelationshipResourceAction.ReadById.class.isAssignableFrom(rwm.getResource().getClass())) + { + resAction = RelationshipResourceAction.ReadById.class; + } + } + else + { + if (RelationshipResourceAction.Read.class.isAssignableFrom(rwm.getResource().getClass())) + { + resAction = RelationshipResourceAction.Read.class; + } + } + break; default: break; } diff --git a/source/java/org/alfresco/rest/api/impl/QuickShareLinksImpl.java b/source/java/org/alfresco/rest/api/impl/QuickShareLinksImpl.java index ceeca7ace6..1aa38d5d63 100644 --- a/source/java/org/alfresco/rest/api/impl/QuickShareLinksImpl.java +++ b/source/java/org/alfresco/rest/api/impl/QuickShareLinksImpl.java @@ -51,11 +51,14 @@ import org.alfresco.rest.framework.core.exceptions.DisabledServiceException; import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException; import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException; import org.alfresco.rest.framework.core.exceptions.PermissionDeniedException; +import org.alfresco.rest.framework.jacksonextensions.BeanPropertiesFilter; +import org.alfresco.rest.framework.resource.content.BasicContentInfo; import org.alfresco.rest.framework.resource.content.BinaryResource; import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo; import org.alfresco.rest.framework.resource.parameters.Paging; import org.alfresco.rest.framework.resource.parameters.Parameters; import org.alfresco.rest.framework.resource.parameters.Params; +import org.alfresco.rest.framework.resource.parameters.SortColumn; import org.alfresco.rest.framework.resource.parameters.where.Query; import org.alfresco.rest.framework.resource.parameters.where.QueryHelper; import org.alfresco.rest.framework.webscripts.ResourceWebScriptHelper; @@ -88,8 +91,10 @@ import org.alfresco.util.SearchLanguageConversion; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.InitializingBean; import org.springframework.extensions.surf.util.I18NUtil; +import org.springframework.extensions.webscripts.WebScriptRequest; import java.io.Serializable; import java.util.ArrayList; @@ -237,13 +242,15 @@ public class QuickShareLinksImpl implements QuickShareLinks, InitializingBean throw new InvalidNodeRefException(nodeRef); } + String nodeId = nodeRef.getId(); + if (renditionId != null) { - return renditions.getContent(nodeRef, renditionId, parameters); + return renditions.getContent(nodeId, renditionId, parameters); } else { - return nodes.getContent(nodeRef, parameters, false); + return nodes.getContent(nodeId, parameters, false); } } }, networkTenantDomain); diff --git a/source/java/org/alfresco/rest/api/quicksharelinks/QuickShareLinkRenditionsRelation.java b/source/java/org/alfresco/rest/api/quicksharelinks/QuickShareLinkRenditionsRelation.java index 425033dfe3..a8db973e8a 100644 --- a/source/java/org/alfresco/rest/api/quicksharelinks/QuickShareLinkRenditionsRelation.java +++ b/source/java/org/alfresco/rest/api/quicksharelinks/QuickShareLinkRenditionsRelation.java @@ -26,7 +26,9 @@ package org.alfresco.rest.api.quicksharelinks; import org.alfresco.rest.api.QuickShareLinks; +import org.alfresco.rest.api.Renditions; import org.alfresco.rest.api.model.Rendition; +import org.alfresco.rest.api.nodes.NodesEntityResource; import org.alfresco.rest.framework.BinaryProperties; import org.alfresco.rest.framework.WebApiDescription; import org.alfresco.rest.framework.WebApiNoAuth;