]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-5564: Ensured that all /content requests were returning the correct file names.
authorRichard Millet <richard.millet@berkeley.edu>
Sat, 26 Jan 2013 19:28:43 +0000 (11:28 -0800)
committerRichard Millet <richard.millet@berkeley.edu>
Sat, 26 Jan 2013 19:28:43 +0000 (11:28 -0800)
services/blob/service/src/main/java/org/collectionspace/services/blob/BlobResource.java
services/common/src/main/java/org/collectionspace/services/common/article/ArticleResource.java

index 441baff01b575db6ec9d8f054a6ae80c7d55ffaa..edd22d65c4e4807ac8f3f0a4d99b180a7d763b8a 100644 (file)
@@ -251,11 +251,13 @@ public class BlobResource extends ResourceBase {
        
        try {
                ctx = createServiceContext();
-               
+                       BlobsCommon blobsCommon = getBlobsCommon(csid);
                StringBuffer mimeType = new StringBuffer();
                InputStream contentStream = getBlobContent(ctx, csid, null /*derivative term*/, mimeType /*will get set*/);
                    
                Response.ResponseBuilder responseBuilder = Response.ok(contentStream, mimeType.toString());
+               responseBuilder = responseBuilder.header("Content-Disposition","inline;filename=\""
+                               + blobsCommon.getName() +"\"");
                result = responseBuilder.build();
        } catch (Exception e) {
                throw bigReThrow(e, ServiceMessages.CREATE_FAILED);
@@ -288,8 +290,7 @@ public class BlobResource extends ResourceBase {
        ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx = null;
        
        try {
-                       ctx = createServiceContext();
-                       
+                       ctx = createServiceContext();                   
                        BlobsCommon blobsCommon = getBlobsCommon(csid);
                StringBuffer mimeType = new StringBuffer();
                InputStream contentStream = getBlobContent(ctx, csid, null /*derivative term*/, mimeType /*will get set*/);             
@@ -314,11 +315,11 @@ public class BlobResource extends ResourceBase {
        
                try {
                        ctx = createServiceContext();
-
+                               BlobsCommon blobsCommon = getBlobsCommon(csid);
                        StringBuffer mimeType = new StringBuffer();
                        InputStream contentStream = getBlobContent(ctx, csid, derivativeTerm, mimeType);
                        result = ArticleUtil.publishToRepository((ArticlesCommon)null, resourceMap, uriInfo, 
-                                       getRepositoryClient(ctx), ctx, contentStream, csid);
+                                       getRepositoryClient(ctx), ctx, contentStream, blobsCommon.getName());
                } catch (Exception e) {
                        throw bigReThrow(e, ServiceMessages.CREATE_FAILED);
                }
@@ -332,15 +333,16 @@ public class BlobResource extends ResourceBase {
                @PathParam("csid") String csid,
                @PathParam("derivativeTerm") String derivativeTerm) {
        Response result = null;
-       ServiceContext ctx = null;
+       ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx = null;
        
                try {
                        ctx = createServiceContext();
-
+                               BlobsCommon blobsCommon = getBlobsCommon(csid);
                        StringBuffer mimeType = new StringBuffer();
                        InputStream contentStream = getBlobContent(ctx, csid, derivativeTerm, mimeType);
                            Response.ResponseBuilder responseBuilder = Response.ok(contentStream, mimeType.toString());
-                           
+                       responseBuilder = responseBuilder.header("Content-Disposition","inline;filename=\""
+                                       + blobsCommon.getName() +"\"");
                        result = responseBuilder.build();
                } catch (Exception e) {
                        throw bigReThrow(e, ServiceMessages.CREATE_FAILED);
index b61e736ddce352ffcdab0775f788d675af695a1d..ae25c8e1098a0b2c71610476290d49bf28630bcb 100644 (file)
@@ -107,6 +107,8 @@ public class ArticleResource extends ResourceBase {
                        // Return the content stream in the response
                        //
                Response.ResponseBuilder responseBuilder = Response.ok(contentStream, outMimeType.toString());
+               responseBuilder = responseBuilder.header("Content-Disposition","inline;filename=\""
+                               + articlesCommon.getArticleContentName() +"\"");
                result = responseBuilder.build();
                } catch (Exception e) {
             throw bigReThrow(e, ServiceMessages.READ_FAILED, csid);