From 998d0ec762fb4fca5c4a97e731c1133d0b3e75c8 Mon Sep 17 00:00:00 2001 From: MistyL Date: Mon, 8 Jan 2018 17:20:09 +0800 Subject: [PATCH 1/2] add chgm's api --- .../java/com/qiniu/storage/BucketManager.java | 19 ++++++++++++ .../test/com/qiniu/storage/BucketTest.java | 30 ++++++++++++++++--- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/qiniu/storage/BucketManager.java b/src/main/java/com/qiniu/storage/BucketManager.java index 39fd662b5..c33ff4f8d 100644 --- a/src/main/java/com/qiniu/storage/BucketManager.java +++ b/src/main/java/com/qiniu/storage/BucketManager.java @@ -13,6 +13,7 @@ import java.util.ArrayList; import java.util.Iterator; +import java.util.Map; /** * 主要涉及了空间资源管理及批量操作接口的实现,具体的接口规格可以参考 @@ -194,6 +195,24 @@ public Response changeMime(String bucket, String key, String mime) return rsPost(bucket, path, null); } + /** + * 修改文件的元数据 + * @param bucket 空间名称 + * @param key 文件名称 + * @param headers 需要修改的文件元数据 + * @throws QiniuException + * @link https://developer.qiniu.com/kodo/api/1252/chgm + */ + public Response changeHeaders(String bucket, String key, Map headers) throws QiniuException{ + String resource = encodedEntry(bucket, key); + String path = String.format("/chgm/%s", resource); + for (String k : headers.keySet()){ + String encodedMetaValue = UrlSafeBase64.encodeToString(headers.get(k)); + path = String.format("%s/%s/%s",path,k,encodedMetaValue); + } + return rsPost(bucket,path,null); + } + //存储类型 public enum StorageType { diff --git a/src/test/java/test/com/qiniu/storage/BucketTest.java b/src/test/java/test/com/qiniu/storage/BucketTest.java index 10ff12c29..8e0334e5c 100644 --- a/src/test/java/test/com/qiniu/storage/BucketTest.java +++ b/src/test/java/test/com/qiniu/storage/BucketTest.java @@ -13,10 +13,8 @@ import org.junit.Assert; import org.junit.Test; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; @SuppressWarnings("ConstantConditions") public class BucketTest extends TestCase { @@ -267,6 +265,30 @@ public void testChangeMime() { } } + @Test + public void testChangeHeaders(){ + List cases = new ArrayList(); + cases.add(new String[]{TestConfig.testBucket_z0, TestConfig.testKey_z0}); + cases.add(new String[]{TestConfig.testBucket_na0, TestConfig.testKey_na0}); + + for (String[] icase : cases) { + String bucket = icase[0]; + String key = icase[1]; + try { + Map headers = new HashMap<>(); + Date d = new Date(); + SimpleDateFormat dateFm = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'",Locale.ENGLISH); + System.out.println(dateFm.format(d)); + headers.put("x-qn-meta-!Content-Type","image/png"); + headers.put("x-qn-meta-!Last-Modifie",dateFm.format(d)); + bucketManager.changeHeaders(bucket,key,headers); + } catch (QiniuException e) { + fail(bucket + ":" + key + "==> " + e.response.toString()); + } + } + } + + @Test public void testPrefetch() { String[] buckets = new String[]{TestConfig.testBucket_z0, TestConfig.testBucket_na0}; From 45fe6fb4a7d868b575b7ab1afde24b7bbc56e3fe Mon Sep 17 00:00:00 2001 From: MistyL Date: Mon, 8 Jan 2018 19:32:03 +0800 Subject: [PATCH 2/2] format code --- src/main/java/com/qiniu/storage/BucketManager.java | 14 ++++++++------ .../java/test/com/qiniu/storage/BucketTest.java | 12 ++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/qiniu/storage/BucketManager.java b/src/main/java/com/qiniu/storage/BucketManager.java index c33ff4f8d..c8734c6f1 100644 --- a/src/main/java/com/qiniu/storage/BucketManager.java +++ b/src/main/java/com/qiniu/storage/BucketManager.java @@ -197,20 +197,22 @@ public Response changeMime(String bucket, String key, String mime) /** * 修改文件的元数据 - * @param bucket 空间名称 - * @param key 文件名称 + * + * @param bucket 空间名称 + * @param key 文件名称 * @param headers 需要修改的文件元数据 * @throws QiniuException * @link https://developer.qiniu.com/kodo/api/1252/chgm */ - public Response changeHeaders(String bucket, String key, Map headers) throws QiniuException{ + public Response changeHeaders(String bucket, String key, Map headers) + throws QiniuException { String resource = encodedEntry(bucket, key); String path = String.format("/chgm/%s", resource); - for (String k : headers.keySet()){ + for (String k : headers.keySet()) { String encodedMetaValue = UrlSafeBase64.encodeToString(headers.get(k)); - path = String.format("%s/%s/%s",path,k,encodedMetaValue); + path = String.format("%s/%s/%s", path, k, encodedMetaValue); } - return rsPost(bucket,path,null); + return rsPost(bucket, path, null); } diff --git a/src/test/java/test/com/qiniu/storage/BucketTest.java b/src/test/java/test/com/qiniu/storage/BucketTest.java index 8e0334e5c..101e79e6f 100644 --- a/src/test/java/test/com/qiniu/storage/BucketTest.java +++ b/src/test/java/test/com/qiniu/storage/BucketTest.java @@ -266,7 +266,7 @@ public void testChangeMime() { } @Test - public void testChangeHeaders(){ + public void testChangeHeaders() { List cases = new ArrayList(); cases.add(new String[]{TestConfig.testBucket_z0, TestConfig.testKey_z0}); cases.add(new String[]{TestConfig.testBucket_na0, TestConfig.testKey_na0}); @@ -275,13 +275,13 @@ public void testChangeHeaders(){ String bucket = icase[0]; String key = icase[1]; try { - Map headers = new HashMap<>(); + Map headers = new HashMap<>(); Date d = new Date(); - SimpleDateFormat dateFm = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'",Locale.ENGLISH); + SimpleDateFormat dateFm = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.ENGLISH); System.out.println(dateFm.format(d)); - headers.put("x-qn-meta-!Content-Type","image/png"); - headers.put("x-qn-meta-!Last-Modifie",dateFm.format(d)); - bucketManager.changeHeaders(bucket,key,headers); + headers.put("x-qn-meta-!Content-Type", "image/png"); + headers.put("x-qn-meta-!Last-Modifie", dateFm.format(d)); + bucketManager.changeHeaders(bucket, key, headers); } catch (QiniuException e) { fail(bucket + ":" + key + "==> " + e.response.toString()); }