From fab3271a94a18cf1b0cd703efefa3c5456879c62 Mon Sep 17 00:00:00 2001 From: Nayeon Kim Date: Thu, 31 Mar 2022 17:47:20 +0900 Subject: [PATCH] feat : update ApiUrl - add API URL - generate method for `request url & method` --- .gitignore | 2 + pom.xml | 15 ++++- .../com/pallycon/sample/config/ApiUrl.java | 59 ++++++++++++++++--- .../sample/watermark/WatermarkApiImpl.java | 2 +- .../pallycon/sample/WatermarkApiImplTest.java | 22 +++---- 5 files changed, 78 insertions(+), 22 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5f92e59 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea/** +/target \ No newline at end of file diff --git a/pom.xml b/pom.xml index f70128f..9cc4c89 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.pallycon sample - 1.0.0 + 1.1.0 sample PallyCon Java Sample Project for Watermark API @@ -42,6 +42,19 @@ json-simple 1.1.1 + + + org.apache.commons + commons-lang3 + 3.12.0 + + + org.jetbrains + annotations + RELEASE + compile + + diff --git a/src/main/java/com/pallycon/sample/config/ApiUrl.java b/src/main/java/com/pallycon/sample/config/ApiUrl.java index 91308af..0961788 100644 --- a/src/main/java/com/pallycon/sample/config/ApiUrl.java +++ b/src/main/java/com/pallycon/sample/config/ApiUrl.java @@ -1,31 +1,76 @@ package com.pallycon.sample.config; +import com.pallycon.sample.watermark.WatermarkApi; +import org.apache.commons.lang3.StringUtils; + /** * Enum Class for API URL and METHOD */ public enum ApiUrl { PACK_JOB_REGISTER("https://api.pallycon.com/api/v2/pack/", "POST"), PACK_JOB_LIST("https://api.pallycon.com/api/v2/pack/", "GET"), - SESSION_WATERMARK_URL("https://watermark.pallycon.com/api/v2/session/watermarkUrl/", "GET"), - SESSION_WATERMARK_URL_AKAMAI("https://watermark.pallycon.com/api/v2/session/watermarkUrl/akamai/", "GET"), + + SESSION_WATERMARK_URL_GENERATE("https://watermark.pallycon.com/api/v2/session/watermarkUrl/", "GET"), + SESSION_WATERMARK_TOKEN_GENERATE("https://watermark.pallycon.com/api/v2/session/watermarkData/", "GET"), + SESSION_LIST("https://watermark.pallycon.com/api/v2/session/list/", "GET"), + STORAGE_REGISTER("https://api.pallycon.com/api/v2/storage/", "POST"), STORAGE_UPDATE("https://api.pallycon.com/api/v2/storage/", "PUT"), - STORAGE_LIST("https://api.pallycon.com/api/v2/storage/", "GET") + STORAGE_LIST("https://api.pallycon.com/api/v2/storage/", "GET"), + + DETECT_REGISTER("https://api.pallycon.com/api/v2/detect/", "POST", "url"), + DETECT_LIST("https://api.pallycon.com/api/v2/detect/", "GET", "list"), + DETECT_DETAIL("https://api.pallycon.com/api/v2/detect/", "GET", "detail") ; private String url; private String method; + private String subUrl; ApiUrl(String url, String method) { - this.url = url; - this.method = method; + this(url, method, null); } - public String getUrl() { - return url; + ApiUrl(String url, String method, String subUrl) { + this.url = url; + this.method = method; + this.subUrl = subUrl; } public String getMethod() { return method; } + + + public String makeRequestUrl(String apiDataString, WatermarkApi watermarkApi) { + String siteId = watermarkApi.getSiteId(); + + StringBuffer url = new StringBuffer(); + url.append(generateBaseUrl(siteId)); + url.append(generateQueryString(apiDataString)); + + return url.toString(); + } + + // generate base url for Request url + private String generateBaseUrl(String siteId) { + StringBuffer baseUrl = new StringBuffer(this.url); + baseUrl.append(siteId); + baseUrl.append(generateSubUrl()); + + return baseUrl.toString(); + } + + private String generateSubUrl() { + if (StringUtils.isEmpty(this.subUrl)) { + return ""; + } + + return "/" + this.subUrl; + } + + // generate queryString to get added on base url + private String generateQueryString(String apiDataString) { + return "?pallycon-apidata=" + apiDataString; + } } diff --git a/src/main/java/com/pallycon/sample/watermark/WatermarkApiImpl.java b/src/main/java/com/pallycon/sample/watermark/WatermarkApiImpl.java index 76a8c9a..98000d5 100644 --- a/src/main/java/com/pallycon/sample/watermark/WatermarkApiImpl.java +++ b/src/main/java/com/pallycon/sample/watermark/WatermarkApiImpl.java @@ -1,7 +1,7 @@ package com.pallycon.sample.watermark; import com.pallycon.sample.util.StringEncrypter; -import com.sun.istack.internal.NotNull; +import org.jetbrains.annotations.NotNull; import org.json.simple.JSONObject; import java.nio.charset.StandardCharsets; diff --git a/src/test/java/com/pallycon/sample/WatermarkApiImplTest.java b/src/test/java/com/pallycon/sample/WatermarkApiImplTest.java index de9dfe9..9a0a84d 100644 --- a/src/test/java/com/pallycon/sample/WatermarkApiImplTest.java +++ b/src/test/java/com/pallycon/sample/WatermarkApiImplTest.java @@ -54,29 +54,25 @@ public void execute() throws Exception { */ // makeUrl(result, ApiUrl.PACK_JOB_LIST); // makeUrl(result, ApiUrl.PACK_JOB_REGISTER); -// makeUrl(result, ApiUrl.SESSION_WATERMARK_URL); -// makeUrl(result, ApiUrl.SESSION_WATERMARK_URL_AKAMAI); +// makeUrl(result, ApiUrl.SESSION_WATERMARK_URL_GENERATE); +// makeUrl(result, ApiUrl.SESSION_WATERMARK_TOKEN_GENERATE); +// makeUrl(result, ApiUrl.SESSION_LIST); // makeUrl(result, ApiUrl.STORAGE_LIST); // makeUrl(result, ApiUrl.STORAGE_REGISTER); // makeUrl(result, ApiUrl.STORAGE_UPDATE); +// makeUrl(result, ApiUrl.DETECT_REGISTER); +// makeUrl(result, ApiUrl.DETECT_LIST); +// makeUrl(result, ApiUrl.DETECT_DETAIL); } // can get the result as a type of JSON private void makeUrl(String result, ApiUrl apiUrl) { - String url = apiUrl.getUrl(); + String url = apiUrl.makeRequestUrl(result, watermarkApi); String method = apiUrl.getMethod(); - StringBuffer sb = new StringBuffer(); - sb.append(url); - sb.append(watermarkApi.getSiteId()); - sb.append("?"); - sb.append("pallycon-apidata"); - sb.append("="); - sb.append(result); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("url", sb.toString()); + jsonObject.put("url", url); jsonObject.put("method", method); logger.info("url : " + jsonObject.toJSONString()); } -} \ No newline at end of file +}