public Url version(Object version) { this.version = Cloudinary.asString(version); return this; }
public String cloudinaryApiUrl(String action, Map options) { String cloudinary = asString(options.get("upload_prefix"), asString(this.config.get("upload_prefix"), "https://api.cloudinary.com")); String cloud_name = asString(options.get("cloud_name"), asString(this.config.get("cloud_name"))); if (cloud_name == null) throw new IllegalArgumentException("Must supply cloud_name in tag or in configuration"); String resource_type = asString(options.get("resource_type"), "image"); return StringUtils.join(new String[] { cloudinary, "v1_1", cloud_name, resource_type, action }, "/"); }
public String getStringConfig(String key) { return asString(this.config.get(key)); }
public String getStringConfig(String key, String default_value) { return asString(this.config.get(key), default_value); }
public ApiResponse resources(Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); String type = Cloudinary.asString(options.get("type")); List<String> uri = new ArrayList<String>(); uri.add("resources"); uri.add(resourceType); if (type != null) uri.add(type); return callApi(HttpMethod.GET, uri, Cloudinary.only(options, "next_cursor", "direction", "max_results", "prefix", "tags", "context", "moderations", "start_at"), options); }
public ApiResponse update(String public_id, Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); String type = Cloudinary.asString(options.get("type"), "upload"); Map params = new HashMap<String, Object>(); Util.processWriteParameters(options, params); params.put("moderation_status", options.get("moderation_status")); return callApi(HttpMethod.POST, Arrays.asList("resources", resourceType, type, public_id), params, options); }
public ApiResponse deleteResourcesByPrefix(String prefix, Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); String type = Cloudinary.asString(options.get("type"), "upload"); Map params = Cloudinary.only(options, "keep_original", "next_cursor"); params.put("prefix", prefix); return callApi(HttpMethod.DELETE, Arrays.asList("resources", resourceType, type), params, options); }
public ApiResponse deleteAllResources(Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); String type = Cloudinary.asString(options.get("type"), "upload"); Map filtered = Cloudinary.only(options, "keep_original", "next_cursor"); filtered.put("all", true); return callApi(HttpMethod.DELETE, Arrays.asList("resources", resourceType, type), filtered, options); }
public ApiResponse resourcesByIds(Iterable<String> publicIds, Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); String type = Cloudinary.asString(options.get("type"), "upload"); Map params = Cloudinary.only(options, "tags", "context", "moderations"); params.put("public_ids", publicIds); return callApi(HttpMethod.GET, Arrays.asList("resources", resourceType, type), params, options); }
public ApiResponse deleteResources(Iterable<String> publicIds, Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); String type = Cloudinary.asString(options.get("type"), "upload"); Map params = Cloudinary.only(options, "keep_original", "next_cursor"); params.put("public_ids", publicIds); return callApi(HttpMethod.DELETE, Arrays.asList("resources", resourceType, type), params, options); }
public Map text(String text, Map options) throws IOException { if (options == null) options = Cloudinary.emptyMap(); Map<String, Object> params = new HashMap<String, Object>(); params.put("text", text); for (String param : TEXT_PARAMS) { params.put(param, Cloudinary.asString(options.get(param))); } return callApi("text", params, options, null); }
public ApiResponse resource(String public_id, Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); String type = Cloudinary.asString(options.get("type"), "upload"); return callApi(HttpMethod.GET, Arrays.asList("resources", resourceType, type, public_id), Cloudinary.only(options, "exif", "colors", "faces", "coordinates", "image_metadata", "pages", "phash", "max_results"), options); }
public void signRequest(Map<String, Object> params, Map<String, Object> options) { String apiKey = Cloudinary.asString(options.get("api_key"), this.getStringConfig("api_key")); if (apiKey == null) throw new IllegalArgumentException("Must supply api_key"); String apiSecret = Cloudinary.asString(options.get("api_secret"), this.getStringConfig("api_secret")); if (apiSecret == null) throw new IllegalArgumentException("Must supply api_secret"); Util.clearEmpty(params); params.put("signature", this.apiSignRequest(params, apiSecret)); params.put("api_key", apiKey); }
public String imageUploadTag(String field, Map options, Map<String, Object> htmlOptions) { if (htmlOptions == null) htmlOptions = Cloudinary.emptyMap(); String tagParams = StringEscapeUtils.escapeHtml(uploadTagParams(options)); String cloudinaryUploadUrl = getUploadUrl(options); StringBuilder builder = new StringBuilder(); builder.append("<input type='file' name='file' data-url='").append(cloudinaryUploadUrl). append("' data-form-data='").append(tagParams). append("' data-cloudinary-field='").append(field). append("' class='cloudinary-fileupload"); if (htmlOptions.containsKey("class")) { builder.append(" ").append(htmlOptions.get("class")); } for (Map.Entry<String, Object> htmlOption : htmlOptions.entrySet()) { if (htmlOption.getKey().equals("class")) continue; builder.append("' "). append(htmlOption.getKey()). append("='"). append(StringEscapeUtils.escapeHtml(Cloudinary.asString(htmlOption.getValue()))); } builder.append("'/>"); return builder.toString(); }
public ApiResponse resourcesByModeration(String kind, String status, Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); return callApi(HttpMethod.GET, Arrays.asList("resources", resourceType, "moderations", kind, status), Cloudinary.only(options, "next_cursor", "direction", "max_results", "tags", "context", "moderations"), options); }
public ApiResponse resourcesByTag(String tag, Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); return callApi(HttpMethod.GET, Arrays.asList("resources", resourceType, "tags", tag), Cloudinary.only(options, "next_cursor", "direction", "max_results", "tags", "context", "moderations"), options); }
public ApiResponse tags(Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); return callApi(HttpMethod.GET, Arrays.asList("tags", resourceType), Cloudinary.only(options, "next_cursor", "max_results", "prefix"), options); }
public ApiResponse deleteResourcesByTag(String tag, Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String resourceType = Cloudinary.asString(options.get("resource_type"), "image"); return callApi(HttpMethod.DELETE, Arrays.asList("resources", resourceType, "tags", tag), Cloudinary.only(options, "keep_original", "next_cursor"), options); }
public String uploadTagParams(Map options) { if (options == null) options = new HashMap(); if (options.get("resource_type") == null) { options = new HashMap(options); options.put("resource_type", "auto"); } String callback = Cloudinary.asString(options.get("callback"), this.cloudinary.getStringConfig("callback")); if (callback == null) { throw new IllegalArgumentException("Must supply callback"); } options.put("callback", callback); Map<String, Object> params = this.buildUploadParams(options); if (options.get("unsigned") == null || Boolean.FALSE.equals(options.get("unsigned"))) { signRequestParams(params, options); } else { Util.clearEmpty(params); } return JSONObject.toJSONString(params); }
protected ApiResponse callApi(HttpMethod method, Iterable<String> uri, Map<String, ? extends Object> params, Map options) throws Exception { if (options == null) options = Cloudinary.emptyMap(); String prefix = Cloudinary.asString(options.get("upload_prefix"), this.cloudinary.getStringConfig("upload_prefix", "https://api.cloudinary.com")); String cloudName = Cloudinary.asString(options.get("cloud_name"), this.cloudinary.getStringConfig("cloud_name")); if (cloudName == null) throw new IllegalArgumentException("Must supply cloud_name"); String apiKey = Cloudinary.asString(options.get("api_key"), this.cloudinary.getStringConfig("api_key")); if (apiKey == null) throw new IllegalArgumentException("Must supply api_key"); String apiSecret = Cloudinary.asString(options.get("api_secret"), this.cloudinary.getStringConfig("api_secret")); if (apiSecret == null) throw new IllegalArgumentException("Must supply api_secret"); apiUrlBuilder.addParameter(param.getKey(), Cloudinary.asString(param.getValue()));