From: Richard Millet Date: Thu, 12 Dec 2013 00:54:08 +0000 (-0800) Subject: CSPACE-6282: Updating a Media record to add or update its Blob should use PUT, not... X-Git-Url: https://git.aero2k.de/?a=commitdiff_plain;h=d14f5b3fdfca3897f617cb08da98965e5ef66081;p=tmp%2Fjakarta-migration.git CSPACE-6282: Updating a Media record to add or update its Blob should use PUT, not POST. --- diff --git a/services/media/service/src/main/java/org/collectionspace/services/media/MediaResource.java b/services/media/service/src/main/java/org/collectionspace/services/media/MediaResource.java index ad1dbede8..9580ff4dd 100644 --- a/services/media/service/src/main/java/org/collectionspace/services/media/MediaResource.java +++ b/services/media/service/src/main/java/org/collectionspace/services/media/MediaResource.java @@ -181,7 +181,7 @@ public class MediaResource extends ResourceBase { String blobCsid = CollectionSpaceClientUtils.extractId(blobresult); queryParams.add(BlobClient.BLOB_CSID_PARAM, blobCsid); // Add the new blob's csid as an artificial query param -the media doc handler will look for this } - return super.update(parentCtx, resourceMap, ui, csid, xmlPayload); // Now call the parent to finish the media resource POST request + return super.update(parentCtx, resourceMap, ui, csid, xmlPayload); // Now call the parent to finish the media resource PUT request } /* @@ -213,7 +213,17 @@ public class MediaResource extends ResourceBase { return response; } - + + @PUT + @Path("{csid}/blob") + @Consumes("multipart/form-data") + @Produces("application/xml") + public Response updateMediaByCreatingBlob(@Context HttpServletRequest req, + @PathParam("csid") String csid, + @QueryParam(BlobClient.BLOB_URI_PARAM) String blobUri) { + return this.createBlob(req, csid, blobUri); + } + /* * Creates a new blob (using the incoming multipart form data) and associates it with an existing media record/resource. * If a URL query param is passed in as well, we use the URL to create the new blob instead of the multipart form data. @@ -222,6 +232,7 @@ public class MediaResource extends ResourceBase { @Path("{csid}") @Consumes("multipart/form-data") @Produces("application/xml") + @Deprecated public Response createBlob(@Context HttpServletRequest req, @PathParam("csid") String csid, @QueryParam(BlobClient.BLOB_URI_PARAM) String blobUri) {