Switching to jensmemeslib
This commit is contained in:
parent
0ea846267f
commit
5a36834f38
6 changed files with 13 additions and 115 deletions
|
@ -5,16 +5,20 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
group 'ley.jmclient'
|
group 'ley.jmclient'
|
||||||
version '1.0-SNAPSHOT'
|
version '1.0'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
maven {
|
||||||
|
url "https://data.tilera.xyz/maven"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
|
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: 'httpclient', version: '4.5.12'
|
||||||
compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.3'
|
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'
|
testCompile group: 'junit', name: 'junit', version: '4.12'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,13 @@ import javafx.event.ActionEvent;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.stage.FileChooser;
|
import javafx.stage.FileChooser;
|
||||||
import ley.jmclient.model.Category;
|
import ley.jensmemes.HTTPClient;
|
||||||
import ley.jmclient.model.CategoryResponse;
|
import ley.jensmemes.model.Category;
|
||||||
import ley.jmclient.model.UploadResponse;
|
import ley.jensmemes.model.response.CategoriesResponse;
|
||||||
|
import ley.jensmemes.model.response.UploadResponse;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
|
|
||||||
public class Controller {
|
public class Controller {
|
||||||
public ChoiceBox<Category> boxCat;
|
public ChoiceBox<Category> boxCat;
|
||||||
|
@ -49,7 +51,7 @@ public class Controller {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
CategoryResponse res = HTTPClient.categories();
|
CategoriesResponse res = HTTPClient.categories();
|
||||||
Platform.runLater(new Runnable() {
|
Platform.runLater(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -60,7 +62,7 @@ public class Controller {
|
||||||
boxCat.setVisible(true);
|
boxCat.setVisible(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (IOException e) {
|
} catch (IOException | URISyntaxException e) {
|
||||||
Platform.runLater(new Runnable() {
|
Platform.runLater(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -112,7 +114,7 @@ public class Controller {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (IOException e) {
|
} catch (IOException | URISyntaxException e) {
|
||||||
showError(e.getLocalizedMessage());
|
showError(e.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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<Category> categories;
|
|
||||||
|
|
||||||
}
|
|
|
@ -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<String> files;
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in a new issue