Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2)

122834 jkaabimofrad: RA-678: Modified the response, to return 409 rather than 400 when the rendition requested already exists.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@126513 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jamal Kaabi-Mofrad
2016-05-10 11:17:52 +00:00
parent 3aaf414678
commit 262d23c3b2
2 changed files with 4 additions and 3 deletions

View File

@@ -32,6 +32,7 @@ import org.alfresco.rest.api.model.ContentInfo;
import org.alfresco.rest.api.model.Rendition; import org.alfresco.rest.api.model.Rendition;
import org.alfresco.rest.api.model.Rendition.RenditionStatus; import org.alfresco.rest.api.model.Rendition.RenditionStatus;
import org.alfresco.rest.framework.core.exceptions.ApiException; import org.alfresco.rest.framework.core.exceptions.ApiException;
import org.alfresco.rest.framework.core.exceptions.ConstraintViolatedException;
import org.alfresco.rest.framework.core.exceptions.DisabledServiceException; import org.alfresco.rest.framework.core.exceptions.DisabledServiceException;
import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException; import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException;
import org.alfresco.rest.framework.core.exceptions.NotFoundException; import org.alfresco.rest.framework.core.exceptions.NotFoundException;
@@ -257,7 +258,7 @@ public class RenditionsImpl implements Renditions, ResourceLoaderAware
final NodeRef renditionNodeRef = getRenditionByName(sourceNodeRef, rendition.getId(), parameters); final NodeRef renditionNodeRef = getRenditionByName(sourceNodeRef, rendition.getId(), parameters);
if (renditionNodeRef != null) if (renditionNodeRef != null)
{ {
throw new InvalidArgumentException(rendition.getId() + " rendition already exists."); throw new ConstraintViolatedException(rendition.getId() + " rendition already exists.");
} }
// Use the thumbnail registry to get the details of the thumbnail // Use the thumbnail registry to get the details of the thumbnail

View File

@@ -362,14 +362,14 @@ public class RenditionsTest extends AbstractBaseApiTest
// -ve Tests // -ve Tests
// The rendition requested already exists // The rendition requested already exists
response = post(getRenditionsUrl(contentNodeId), userOneN1.getId(), toJsonAsString(new Rendition().setId("imgpreview")), 400); response = post(getRenditionsUrl(contentNodeId), userOneN1.getId(), toJsonAsString(new Rendition().setId("imgpreview")), 409);
ExpectedErrorResponse errorResponse = RestApiUtil.parseErrorResponse(response.getJsonResponse()); ExpectedErrorResponse errorResponse = RestApiUtil.parseErrorResponse(response.getJsonResponse());
assertNotNull(errorResponse); assertNotNull(errorResponse);
assertNotNull(errorResponse.getErrorKey()); assertNotNull(errorResponse.getErrorKey());
assertNotNull(errorResponse.getBriefSummary()); assertNotNull(errorResponse.getBriefSummary());
assertNotNull(errorResponse.getStackTrace()); assertNotNull(errorResponse.getStackTrace());
assertNotNull(errorResponse.getDescriptionURL()); assertNotNull(errorResponse.getDescriptionURL());
assertEquals(400, errorResponse.getStatusCode()); assertEquals(409, errorResponse.getStatusCode());
// Create 'doclib' rendition request // Create 'doclib' rendition request
Rendition renditionRequest = new Rendition().setId("doclib"); Rendition renditionRequest = new Rendition().setId("doclib");