From 627efc52c0a4a669c84bad26970417b01b9903f1 Mon Sep 17 00:00:00 2001 From: dmitry-fa Date: Mon, 29 Jun 2020 16:12:47 +0300 Subject: [PATCH 1/5] changes to PostPolicyV4 --- .../clirr-ignored-differences.xml | 10 ++++++ .../google/cloud/storage/PostPolicyV4.java | 34 ++++++++++++------- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/google-cloud-storage/clirr-ignored-differences.xml b/google-cloud-storage/clirr-ignored-differences.xml index bca2faaff..28b8ea728 100644 --- a/google-cloud-storage/clirr-ignored-differences.xml +++ b/google-cloud-storage/clirr-ignored-differences.xml @@ -21,4 +21,14 @@ com.google.cloud.storage.BucketInfo$Builder deleteLifecycleRules() 7013 + + 7002 + com/google/cloud/storage/PostPolicyV4$PostFieldsV4$Builder + *.PostPolicyV4$PostFieldsV4$Builder AddCustomMetadataField(java.lang.String, java.lang.String) + + + 7002 + com/google/cloud/storage/PostPolicyV4$PostFieldsV4$Builder + *.PostPolicyV4$PostFieldsV4$Builder Expires(java.lang.String) + diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java index df2936dc9..7cce0213f 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java @@ -31,8 +31,8 @@ * @see POST Object */ public final class PostPolicyV4 { - private String url; - private Map fields; + private final String url; + private final Map fields; private PostPolicyV4(String url, Map fields) { this.url = url; @@ -58,7 +58,7 @@ public Map getFields() { * Object Form fields */ public static final class PostFieldsV4 { - private Map fieldsMap; + private final Map fieldsMap; private PostFieldsV4(Builder builder) { this.fieldsMap = builder.fieldsMap; @@ -76,15 +76,23 @@ public static Builder newBuilder() { return new Builder(); } + public Builder toBuilder() { + return new Builder(fieldsMap); + } + public Map getFieldsMap() { return fieldsMap; } public static class Builder { - private Map fieldsMap; + private final Map fieldsMap; private Builder() { - fieldsMap = new HashMap<>(); + this(new HashMap()); + } + + private Builder(Map fieldsMap) { + this.fieldsMap = fieldsMap; } public PostFieldsV4 build() { @@ -121,7 +129,7 @@ public Builder setContentType(String contentType) { return this; } - public Builder Expires(String expires) { + public Builder setExpires(String expires) { fieldsMap.put("expires", expires); return this; } @@ -136,8 +144,8 @@ public Builder setSuccessActionStatus(int successActionStatus) { return this; } - public Builder AddCustomMetadataField(String field, String value) { - fieldsMap.put("x-goog-meta-" + field, value); + public Builder addCustomMetadataField(String field, String value) { + fieldsMap.put(field, value); return this; } } @@ -270,8 +278,8 @@ Builder addCustomCondition(ConditionV4Type type, String field, String value) { * Policy document */ public static final class PostPolicyV4Document { - private String expiration; - private PostConditionsV4 conditions; + private final String expiration; + private final PostConditionsV4 conditions; private PostPolicyV4Document(String expiration, PostConditionsV4 conditions) { this.expiration = expiration; @@ -363,9 +371,9 @@ public enum ConditionV4Type { * Policy document */ static final class ConditionV4 { - ConditionV4Type type; - String operand1; - String operand2; + final ConditionV4Type type; + final String operand1; + final String operand2; private ConditionV4(ConditionV4Type type, String operand1, String operand2) { this.type = type; From 5db00d784ebdc8b54d71129c9b33417b8fcde61d Mon Sep 17 00:00:00 2001 From: dmitry-fa Date: Mon, 29 Jun 2020 16:25:53 +0300 Subject: [PATCH 2/5] PostPolicyV4.addCustomMetadataField() allows to add prefixed an not prefixed custom fields --- .../src/main/java/com/google/cloud/storage/PostPolicyV4.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java index 7cce0213f..33e9b5f0d 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java @@ -85,6 +85,7 @@ public Map getFieldsMap() { } public static class Builder { + private static final String CUSTOM_FIELD_PREFIX = "x-goog-meta-"; private final Map fieldsMap; private Builder() { @@ -145,6 +146,9 @@ public Builder setSuccessActionStatus(int successActionStatus) { } public Builder addCustomMetadataField(String field, String value) { + if (!field.startsWith(CUSTOM_FIELD_PREFIX)) { + field = CUSTOM_FIELD_PREFIX + value; + } fieldsMap.put(field, value); return this; } From be07ecc74db117057d6abec9b5637817e6de68a0 Mon Sep 17 00:00:00 2001 From: dmitry-fa Date: Mon, 29 Jun 2020 19:04:58 +0300 Subject: [PATCH 3/5] deprecate incorrectly named method --- .../google/cloud/storage/PostPolicyV4.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java index 33e9b5f0d..d4402d86c 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java @@ -76,10 +76,6 @@ public static Builder newBuilder() { return new Builder(); } - public Builder toBuilder() { - return new Builder(fieldsMap); - } - public Map getFieldsMap() { return fieldsMap; } @@ -89,11 +85,7 @@ public static class Builder { private final Map fieldsMap; private Builder() { - this(new HashMap()); - } - - private Builder(Map fieldsMap) { - this.fieldsMap = fieldsMap; + this.fieldsMap = new HashMap<>(); } public PostFieldsV4 build() { @@ -130,6 +122,14 @@ public Builder setContentType(String contentType) { return this; } + /** + * @deprecated use {@link #setExpires(String)} + */ + @Deprecated + public Builder Expires(String expires) { + return setExpires(expires); + } + public Builder setExpires(String expires) { fieldsMap.put("expires", expires); return this; @@ -145,6 +145,14 @@ public Builder setSuccessActionStatus(int successActionStatus) { return this; } + /** + * @deprecated use {@link #addCustomMetadataField(String, String)} + */ + @Deprecated + public Builder AddCustomMetadataField(String field, String value) { + return addCustomMetadataField(field, value); + } + public Builder addCustomMetadataField(String field, String value) { if (!field.startsWith(CUSTOM_FIELD_PREFIX)) { field = CUSTOM_FIELD_PREFIX + value; From 72276b62e024beb68d9fe89dc8cf17caa4200510 Mon Sep 17 00:00:00 2001 From: dmitry-fa Date: Mon, 29 Jun 2020 20:02:41 +0300 Subject: [PATCH 4/5] fix format --- google-cloud-storage/clirr-ignored-differences.xml | 10 ---------- .../java/com/google/cloud/storage/PostPolicyV4.java | 8 ++------ 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/google-cloud-storage/clirr-ignored-differences.xml b/google-cloud-storage/clirr-ignored-differences.xml index 28b8ea728..bca2faaff 100644 --- a/google-cloud-storage/clirr-ignored-differences.xml +++ b/google-cloud-storage/clirr-ignored-differences.xml @@ -21,14 +21,4 @@ com.google.cloud.storage.BucketInfo$Builder deleteLifecycleRules() 7013 - - 7002 - com/google/cloud/storage/PostPolicyV4$PostFieldsV4$Builder - *.PostPolicyV4$PostFieldsV4$Builder AddCustomMetadataField(java.lang.String, java.lang.String) - - - 7002 - com/google/cloud/storage/PostPolicyV4$PostFieldsV4$Builder - *.PostPolicyV4$PostFieldsV4$Builder Expires(java.lang.String) - diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java index d4402d86c..de47b0b40 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java @@ -122,9 +122,7 @@ public Builder setContentType(String contentType) { return this; } - /** - * @deprecated use {@link #setExpires(String)} - */ + /** @deprecated use {@link #setExpires(String)} */ @Deprecated public Builder Expires(String expires) { return setExpires(expires); @@ -145,9 +143,7 @@ public Builder setSuccessActionStatus(int successActionStatus) { return this; } - /** - * @deprecated use {@link #addCustomMetadataField(String, String)} - */ + /** @deprecated use {@link #addCustomMetadataField(String, String)} */ @Deprecated public Builder AddCustomMetadataField(String field, String value) { return addCustomMetadataField(field, value); From d1bf59da4ed9fb93f17a965b9edb7a9adaa6528f Mon Sep 17 00:00:00 2001 From: dmitry-fa Date: Wed, 1 Jul 2020 22:12:06 +0300 Subject: [PATCH 5/5] addCustomMetadataField -> setCustomMetadataField --- .../main/java/com/google/cloud/storage/PostPolicyV4.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java index de47b0b40..cc9b413a2 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/PostPolicyV4.java @@ -143,13 +143,13 @@ public Builder setSuccessActionStatus(int successActionStatus) { return this; } - /** @deprecated use {@link #addCustomMetadataField(String, String)} */ + /** @deprecated use {@link #setCustomMetadataField(String, String)} */ @Deprecated public Builder AddCustomMetadataField(String field, String value) { - return addCustomMetadataField(field, value); + return setCustomMetadataField(field, value); } - public Builder addCustomMetadataField(String field, String value) { + public Builder setCustomMetadataField(String field, String value) { if (!field.startsWith(CUSTOM_FIELD_PREFIX)) { field = CUSTOM_FIELD_PREFIX + value; }