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

126552 jkaabimofrad: Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2)
      124205 jvonka: RA-881: Prevent the creation of multiple renditions


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@126898 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Ancuta Morarasu
2016-05-11 12:07:45 +00:00
parent f00f68fd2d
commit 32e88e8a12
2 changed files with 16 additions and 0 deletions

View File

@@ -23,6 +23,7 @@ import org.alfresco.rest.api.Renditions;
import org.alfresco.rest.api.model.Rendition; import org.alfresco.rest.api.model.Rendition;
import org.alfresco.rest.framework.BinaryProperties; import org.alfresco.rest.framework.BinaryProperties;
import org.alfresco.rest.framework.WebApiDescription; 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.RelationshipResource;
import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction; import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction;
import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceBinaryAction; import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceBinaryAction;
@@ -77,6 +78,13 @@ public class NodeRenditionsRelation implements RelationshipResourceAction.Read<R
@Override @Override
public List<Rendition> create(String nodeId, List<Rendition> entity, Parameters parameters) public List<Rendition> create(String nodeId, List<Rendition> 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) for (Rendition rendition : entity)
{ {
renditions.createRendition(nodeId, rendition, parameters); renditions.createRendition(nodeId, rendition, parameters);

View File

@@ -57,6 +57,7 @@ import org.junit.Test;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -396,8 +397,15 @@ public class RenditionsTest extends AbstractBaseApiTest
// renditionId is empty // renditionId is empty
post(getNodeRenditionsUrl(contentNodeId), userOneN1.getId(), toJsonAsString(new Rendition().setId("")), 400); post(getNodeRenditionsUrl(contentNodeId), userOneN1.getId(), toJsonAsString(new Rendition().setId("")), 400);
// -ve test - we do not currently accept multiple create entities
List<Rendition> 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 // Create a node without any content
String emptyContentNodeId = addToDocumentLibrary(userOneN1Site, "emptyDoc.txt", ContentModel.TYPE_CONTENT, userOneN1.getId()); String emptyContentNodeId = addToDocumentLibrary(userOneN1Site, "emptyDoc.txt", ContentModel.TYPE_CONTENT, userOneN1.getId());
// The source node has no content // The source node has no content
post(getNodeRenditionsUrl(emptyContentNodeId), userOneN1.getId(), toJsonAsString(renditionRequest), 400); post(getNodeRenditionsUrl(emptyContentNodeId), userOneN1.getId(), toJsonAsString(renditionRequest), 400);