aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormdway <romangraef@gmail.com>2017-06-08 18:46:01 +0200
committermdway <romangraef@gmail.com>2017-06-08 18:46:01 +0200
commita0dbd91ae4b44f8b313cbb1edc8bb3a056892fe6 (patch)
tree9ae5a56bf3a4e1dff2c38ac27648ddf649340edc
parent2ca153797939ba5429b02905fb77d85ed38be9af (diff)
downloadicndbwrapper-master.tar.gz
icndbwrapper-master.tar.bz2
icndbwrapper-master.zip
Initial CommitHEADmaster
-rw-r--r--.idea/libraries/Maven__junit_junit_4_12.xml13
-rw-r--r--.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml13
-rw-r--r--pom.xml45
-rw-r--r--src/java/de/romjaki/icndbwrapper/ICNDB.java8
-rw-r--r--src/java/de/romjaki/icndbwrapper/JokeSchematic.java14
-rw-r--r--src/java/de/romjaki/icndbwrapper/RestAction.java8
-rw-r--r--src/test/de/romjaki/icndbwrapper/test/RandomJokeTest.java18
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
diff --git a/pom.xml b/pom.xml
index b17b309..371a53e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -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();
+ }
+
+
+}