diff --git a/source/java/org/alfresco/rest/api/nodes/NodeRenditionsRelation.java b/source/java/org/alfresco/rest/api/nodes/NodeRenditionsRelation.java index cd53519fe3..6dfa61b2da 100644 --- a/source/java/org/alfresco/rest/api/nodes/NodeRenditionsRelation.java +++ b/source/java/org/alfresco/rest/api/nodes/NodeRenditionsRelation.java @@ -23,6 +23,7 @@ import org.alfresco.rest.api.Renditions; import org.alfresco.rest.api.model.Rendition; import org.alfresco.rest.framework.BinaryProperties; import org.alfresco.rest.framework.WebApiDescription; +import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException; import org.alfresco.rest.framework.resource.RelationshipResource; import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction; import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceBinaryAction; @@ -77,6 +78,13 @@ public class NodeRenditionsRelation implements RelationshipResourceAction.Read create(String nodeId, List entity, Parameters parameters) { + // Temporary - pending future improvements to thumbnail service to minimise chance of + // missing/failed thumbnails (when requested/generated 'concurrently') + if (entity.size() > 1) + { + throw new InvalidArgumentException("Please specify one rendition entity id only"); + } + for (Rendition rendition : entity) { renditions.createRendition(nodeId, rendition, parameters); diff --git a/source/test-java/org/alfresco/rest/api/tests/RenditionsTest.java b/source/test-java/org/alfresco/rest/api/tests/RenditionsTest.java index 3b851d65b3..2e583d63f2 100644 --- a/source/test-java/org/alfresco/rest/api/tests/RenditionsTest.java +++ b/source/test-java/org/alfresco/rest/api/tests/RenditionsTest.java @@ -57,6 +57,7 @@ import org.junit.Test; import java.io.ByteArrayInputStream; import java.io.File; import java.io.InputStream; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -396,8 +397,15 @@ public class RenditionsTest extends AbstractBaseApiTest // renditionId is empty post(getNodeRenditionsUrl(contentNodeId), userOneN1.getId(), toJsonAsString(new Rendition().setId("")), 400); + // -ve test - we do not currently accept multiple create entities + List request = new ArrayList<>(2); + request .add(new Rendition().setId("doclib")); + request .add(new Rendition().setId("imgpreview")); + post(getNodeRenditionsUrl(contentNodeId), userOneN1.getId(), toJsonAsString(request), 400); + // Create a node without any content String emptyContentNodeId = addToDocumentLibrary(userOneN1Site, "emptyDoc.txt", ContentModel.TYPE_CONTENT, userOneN1.getId()); + // The source node has no content post(getNodeRenditionsUrl(emptyContentNodeId), userOneN1.getId(), toJsonAsString(renditionRequest), 400);