From 5a36834f38b744a4fe3d072b74855a61d739ef50 Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Wed, 30 Sep 2020 21:55:22 +0200 Subject: [PATCH] Switching to jensmemeslib --- build.gradle | 6 ++- src/main/java/ley/jmclient/Controller.java | 14 ++++--- src/main/java/ley/jmclient/HTTPClient.java | 39 ------------------- .../java/ley/jmclient/model/Category.java | 18 --------- .../ley/jmclient/model/CategoryResponse.java | 24 ------------ .../ley/jmclient/model/UploadResponse.java | 27 ------------- 6 files changed, 13 insertions(+), 115 deletions(-) delete mode 100644 src/main/java/ley/jmclient/HTTPClient.java delete mode 100644 src/main/java/ley/jmclient/model/Category.java delete mode 100644 src/main/java/ley/jmclient/model/CategoryResponse.java delete mode 100644 src/main/java/ley/jmclient/model/UploadResponse.java diff --git a/build.gradle b/build.gradle index 14a44b6..1be2a01 100644 --- a/build.gradle +++ b/build.gradle @@ -5,16 +5,20 @@ plugins { } group 'ley.jmclient' -version '1.0-SNAPSHOT' +version '1.0' repositories { mavenCentral() + maven { + url "https://data.tilera.xyz/maven" + } } dependencies { compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6' compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.12' compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.3' + compile group: 'ley.jensmemes', name: 'jensmemeslib', version: '1.0-SNAPSHOT' testCompile group: 'junit', name: 'junit', version: '4.12' } diff --git a/src/main/java/ley/jmclient/Controller.java b/src/main/java/ley/jmclient/Controller.java index 4f3effb..aa633e9 100644 --- a/src/main/java/ley/jmclient/Controller.java +++ b/src/main/java/ley/jmclient/Controller.java @@ -6,11 +6,13 @@ import javafx.event.ActionEvent; import javafx.scene.Node; import javafx.scene.control.*; import javafx.stage.FileChooser; -import ley.jmclient.model.Category; -import ley.jmclient.model.CategoryResponse; -import ley.jmclient.model.UploadResponse; +import ley.jensmemes.HTTPClient; +import ley.jensmemes.model.Category; +import ley.jensmemes.model.response.CategoriesResponse; +import ley.jensmemes.model.response.UploadResponse; import java.io.*; +import java.net.URISyntaxException; public class Controller { public ChoiceBox boxCat; @@ -49,7 +51,7 @@ public class Controller { @Override public void run() { try { - CategoryResponse res = HTTPClient.categories(); + CategoriesResponse res = HTTPClient.categories(); Platform.runLater(new Runnable() { @Override public void run() { @@ -60,7 +62,7 @@ public class Controller { boxCat.setVisible(true); } }); - } catch (IOException e) { + } catch (IOException | URISyntaxException e) { Platform.runLater(new Runnable() { @Override public void run() { @@ -112,7 +114,7 @@ public class Controller { } } }); - } catch (IOException e) { + } catch (IOException | URISyntaxException e) { showError(e.getLocalizedMessage()); } } diff --git a/src/main/java/ley/jmclient/HTTPClient.java b/src/main/java/ley/jmclient/HTTPClient.java deleted file mode 100644 index 0461905..0000000 --- a/src/main/java/ley/jmclient/HTTPClient.java +++ /dev/null @@ -1,39 +0,0 @@ -package ley.jmclient; - -import ley.jmclient.model.CategoryResponse; -import ley.jmclient.model.UploadResponse; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.mime.MultipartEntityBuilder; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; - -import java.io.File; -import java.io.IOException; - -public class HTTPClient { - - public static String UploadURL = "https://data.tilera.xyz/api/jensmemes/upload"; - public static String CategoryURL = "https://data.tilera.xyz/api/jensmemes/categories"; - - public static UploadResponse upload(String token, String category, File image) throws IOException { - CloseableHttpClient client = HttpClients.createDefault(); - HttpPost request = new HttpPost(UploadURL); - MultipartEntityBuilder mpbuild = MultipartEntityBuilder.create(); - mpbuild.addTextBody("category", category); - mpbuild.addTextBody("token", token); - mpbuild.addBinaryBody("file", image); - request.setEntity(mpbuild.build()); - HttpEntity response = client.execute(request).getEntity(); - return UploadResponse.read(response.getContent()); - } - - public static CategoryResponse categories() throws IOException { - CloseableHttpClient client = HttpClients.createDefault(); - HttpGet request = new HttpGet(CategoryURL); - HttpEntity response = client.execute(request).getEntity(); - return CategoryResponse.read(response.getContent()); - } - -} diff --git a/src/main/java/ley/jmclient/model/Category.java b/src/main/java/ley/jmclient/model/Category.java deleted file mode 100644 index 6291903..0000000 --- a/src/main/java/ley/jmclient/model/Category.java +++ /dev/null @@ -1,18 +0,0 @@ -package ley.jmclient.model; - -import com.google.gson.annotations.Expose; - -public class Category { - - @Expose - public String id; - - @Expose - public String name; - - - @Override - public String toString() { - return name; - } -} diff --git a/src/main/java/ley/jmclient/model/CategoryResponse.java b/src/main/java/ley/jmclient/model/CategoryResponse.java deleted file mode 100644 index d41e329..0000000 --- a/src/main/java/ley/jmclient/model/CategoryResponse.java +++ /dev/null @@ -1,24 +0,0 @@ -package ley.jmclient.model; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.annotations.Expose; - -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.List; - -public class CategoryResponse { - - public static CategoryResponse read(InputStream json) { - Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - return gson.fromJson(new InputStreamReader(json), CategoryResponse.class); - } - - @Expose - public int status; - - @Expose - public List categories; - -} diff --git a/src/main/java/ley/jmclient/model/UploadResponse.java b/src/main/java/ley/jmclient/model/UploadResponse.java deleted file mode 100644 index 94e1362..0000000 --- a/src/main/java/ley/jmclient/model/UploadResponse.java +++ /dev/null @@ -1,27 +0,0 @@ -package ley.jmclient.model; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.annotations.Expose; - -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.List; - -public class UploadResponse { - - public static UploadResponse read(InputStream json) { - Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - return gson.fromJson(new InputStreamReader(json), UploadResponse.class); - } - - @Expose - public int status; - - @Expose - public String error; - - @Expose - public List files; - -}