From a0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6 Mon Sep 17 00:00:00 2001 From: mdway Date: Thu, 8 Jun 2017 18:46:01 +0200 Subject: Initial Commit --- .idea/libraries/Maven__junit_junit_4_12.xml | 13 +++++++ .../Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 +++++++ pom.xml | 45 ++++++++++++---------- src/java/de/romjaki/icndbwrapper/ICNDB.java | 8 +++- .../de/romjaki/icndbwrapper/JokeSchematic.java | 14 +++++++ src/java/de/romjaki/icndbwrapper/RestAction.java | 8 ++-- .../romjaki/icndbwrapper/test/RandomJokeTest.java | 18 +++++++++ 7 files changed, 95 insertions(+), 24 deletions(-) create mode 100644 .idea/libraries/Maven__junit_junit_4_12.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml create mode 100644 src/java/de/romjaki/icndbwrapper/JokeSchematic.java create mode 100644 src/test/de/romjaki/icndbwrapper/test/RandomJokeTest.java diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml new file mode 100644 index 0000000..d411041 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..f58bbc1 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index b17b309..371a53e 100644 --- a/pom.xml +++ b/pom.xml @@ -1,30 +1,35 @@ - - 4.0.0 - icndb - icndb - 1.0.0 - jar - + 4.0.0 + icndb + icndb + 1.0.0 + jar + + 1.8 1.8 - + + + + + com.google.code.gson + gson + 2.8.1 + + + junit + junit + 4.12 + + - - - com.google.code.gson - gson - 2.8.1 - - - - + - + diff --git a/src/java/de/romjaki/icndbwrapper/ICNDB.java b/src/java/de/romjaki/icndbwrapper/ICNDB.java index 33a669c..8dbc748 100644 --- a/src/java/de/romjaki/icndbwrapper/ICNDB.java +++ b/src/java/de/romjaki/icndbwrapper/ICNDB.java @@ -1,12 +1,18 @@ package de.romjaki.icndbwrapper; +import java.util.HashMap; +import java.util.Map; + public class ICNDB { public ICNDB() { } - public RestAction getRandomJoke() { + public static final String API_URL = "api.icndb.com/"; + public RestAction getRandomJoke() { + Map map = new HashMap<>(); + return new RestAction<>(new JokeSchematic(), "jokes/random", map); } } diff --git a/src/java/de/romjaki/icndbwrapper/JokeSchematic.java b/src/java/de/romjaki/icndbwrapper/JokeSchematic.java new file mode 100644 index 0000000..d165f72 --- /dev/null +++ b/src/java/de/romjaki/icndbwrapper/JokeSchematic.java @@ -0,0 +1,14 @@ +package de.romjaki.icndbwrapper; + +/** + * Created by RGR on 08.06.2017. + */ +public class JokeSchematic extends GsonSchematic { + + public Joke value; + + @Override + public Joke result() { + return value; + } +} diff --git a/src/java/de/romjaki/icndbwrapper/RestAction.java b/src/java/de/romjaki/icndbwrapper/RestAction.java index 65150f9..ece8e1b 100644 --- a/src/java/de/romjaki/icndbwrapper/RestAction.java +++ b/src/java/de/romjaki/icndbwrapper/RestAction.java @@ -1,12 +1,12 @@ package de.romjaki.icndbwrapper; import com.google.gson.Gson; -import sun.misc.IOUtils; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; +import java.util.Scanner; import java.util.function.Consumer; @@ -23,11 +23,13 @@ public class RestAction { } public static String executeRequest(String url, Map parameters, String method) throws IOException { - HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection(); + HttpURLConnection con = (HttpURLConnection) new URL(ICNDB.API_URL + url).openConnection(); con.setRequestMethod(method); con.setUseCaches(false); parameters.forEach(con::addRequestProperty); - return String.valueOf(IOUtils.readFully(con.getInputStream(), -1, true)); + Scanner s = new Scanner(con.getInputStream()); + s.useDelimiter("\\A"); + return s.next(); } public Thread queue() { diff --git a/src/test/de/romjaki/icndbwrapper/test/RandomJokeTest.java b/src/test/de/romjaki/icndbwrapper/test/RandomJokeTest.java new file mode 100644 index 0000000..6cae958 --- /dev/null +++ b/src/test/de/romjaki/icndbwrapper/test/RandomJokeTest.java @@ -0,0 +1,18 @@ +package de.romjaki.icndbwrapper.test; + +import de.romjaki.icndbwrapper.ICNDB; +import org.junit.Test; + +/** + * Created by RGR on 08.06.2017. + */ +public class RandomJokeTest { + + @Test + public void downloadRandomJokeUsingQueue() { + ICNDB icndb = new ICNDB(); + icndb.getRandomJoke().queue(); + } + + +} -- cgit