diff options
author | mdway <romangraef@gmail.com> | 2017-06-08 18:46:01 +0200 |
---|---|---|
committer | mdway <romangraef@gmail.com> | 2017-06-08 18:46:01 +0200 |
commit | a0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6 (patch) | |
tree | 9ae5a56bf3a4e1dff2c38ac27648ddf649340edc | |
parent | 2ca153797939ba5429b02905fb77d85ed38be9af (diff) | |
download | icndbwrapper-master.tar.gz icndbwrapper-master.tar.bz2 icndbwrapper-master.zip |
-rw-r--r-- | .idea/libraries/Maven__junit_junit_4_12.xml | 13 | ||||
-rw-r--r-- | .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 | ||||
-rw-r--r-- | pom.xml | 45 | ||||
-rw-r--r-- | src/java/de/romjaki/icndbwrapper/ICNDB.java | 8 | ||||
-rw-r--r-- | src/java/de/romjaki/icndbwrapper/JokeSchematic.java | 14 | ||||
-rw-r--r-- | src/java/de/romjaki/icndbwrapper/RestAction.java | 8 | ||||
-rw-r--r-- | src/test/de/romjaki/icndbwrapper/test/RandomJokeTest.java | 18 |
7 files changed, 95 insertions, 24 deletions
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 @@ +<component name="libraryTable"> + <library name="Maven: junit:junit:4.12"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ 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 @@ +<component name="libraryTable"> + <library name="Maven: org.hamcrest:hamcrest-core:1.3"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file @@ -1,30 +1,35 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - - <modelVersion>4.0.0</modelVersion> - <groupId>icndb</groupId> - <artifactId>icndb</artifactId> - <version>1.0.0</version> - <packaging>jar</packaging> - <properties> + <modelVersion>4.0.0</modelVersion> + <groupId>icndb</groupId> + <artifactId>icndb</artifactId> + <version>1.0.0</version> + <packaging>jar</packaging> + + <properties> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.source>1.8</maven.compiler.source> - </properties> + </properties> + + <dependencies> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + <version>2.8.1</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.12</version> + </dependency> + </dependencies> - <dependencies> - <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> - <version>2.8.1</version> - </dependency> - </dependencies> - - <repositories> + <repositories> - </repositories> + </repositories> </project> 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<Joke> getRandomJoke() { + public static final String API_URL = "api.icndb.com/"; + public RestAction<Joke> getRandomJoke() { + Map<String, String> 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<Joke> { + + 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<T> { } public static String executeRequest(String url, Map<String, String> 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(); + } + + +} |