Skip to content

Commit c0a9103

Browse files
authored
Add support for clear_invalid parameter
1 parent 4d5edd7 commit c0a9103

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

cloudinary-core/src/main/java/com/cloudinary/Util.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,12 @@ public static final void processWriteParameters(Map<String, Object> options, Map
172172
putObject("detection", options, params);
173173
putObject("similarity_search", options, params);
174174
putObject("background_removal", options, params);
175-
if (options.get("auto_tagging") != null)
175+
if (options.get("auto_tagging") != null) {
176176
params.put("auto_tagging", ObjectUtils.asFloat(options.get("auto_tagging")));
177+
}
178+
if (options.get("clear_invalid") != null) {
179+
params.put("clear_invalid", options.get("clear_invalid"));
180+
}
177181
}
178182

179183
protected static String encodeAccessControl(Object accessControl) {

cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractApiTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,16 @@ public void testDetectionUpdate() {
725725
}
726726
}
727727

728+
@Test
729+
public void testUpdateResourceClearInvalid() throws Exception {
730+
String fieldId = MetadataTestHelper.addFieldToAccount(api, MetadataTestHelper.newFieldInstance("some_field3" + SUFFIX)).get("external_id").toString();
731+
String fieldId2 = MetadataTestHelper.addFieldToAccount(api, MetadataTestHelper.newFieldInstance("some_field4" + SUFFIX)).get("external_id").toString();
732+
Map uploadResult = cloudinary.uploader().upload(SRC_TEST_IMAGE,
733+
ObjectUtils.asMap("tags", UPLOAD_TAGS, "metadata", ObjectUtils.asMap(fieldId, "test")));
734+
Map apiResult = api.update((String) uploadResult.get("public_id"), ObjectUtils.asMap("clear_invalid", true, "metadata", ObjectUtils.asMap(fieldId2, "test2")));
735+
assertNotNull(((Map)apiResult.get("metadata")).get(fieldId2));
736+
}
737+
728738
@Test
729739
public void testUpdateCustomCoordinates() throws IOException, Exception {
730740
// should update custom coordinates

cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractStructuredMetadataTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.cloudinary.api.exceptions.BadRequest;
77
import com.cloudinary.metadata.*;
88

9+
import com.cloudinary.utils.ObjectUtils;
910
import org.hamcrest.Matchers;
1011
import org.junit.*;
1112
import org.junit.rules.TestName;
@@ -268,6 +269,15 @@ public void testUploaderUpdateMetadata() throws Exception {
268269
assertEquals(PRIVATE_PUBLIC_ID, ((List) result2.get("public_ids")).get(0).toString());
269270
}
270271

272+
@Test
273+
public void testUploaderUpdateMetadataClearInvalid() throws Exception {
274+
StringMetadataField field = newFieldInstance("testUploaderUpdateMetadata1");
275+
ApiResponse fieldResult = addFieldToAccount(field);
276+
String fieldId = fieldResult.get("external_id").toString();
277+
Map result = cloudinary.uploader().updateMetadata(Collections.<String, Object>singletonMap(fieldId, "123456"), new String[]{PUBLIC_ID}, ObjectUtils.asMap("clear_invalid", true));
278+
assertNotNull(result);
279+
}
280+
271281
@Test
272282
public void testSetField() throws Exception {
273283
SetMetadataField field = createSetField("test123");

0 commit comments

Comments
 (0)