aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Zajc <marko@zajc.eu.org>2021-02-10 11:55:38 +0100
committerMarko Zajc <marko@zajc.eu.org>2021-02-10 11:55:38 +0100
commit7902fd85dfcb0e499db93f879191b8c69affd200 (patch)
treec7c61db71f1b0adf45c464c23da2df884c27b744
parent9cd0345c19478e347295c0838d2de5118c8e0f83 (diff)
parentd15884fe81b14663efa7627d4023800b099c963a (diff)
Merge branch 'development'v1.5.1
-rw-r--r--example/src/main/java/com/markozajc/akiwrapper/example/AkinatorExample.java14
-rw-r--r--pom.xml12
-rw-r--r--src/main/java/com/markozajc/akiwrapper/Akiwrapper.java7
-rw-r--r--src/main/java/com/markozajc/akiwrapper/AkiwrapperBuilder.java17
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/Route.java21
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/AkiwrapperMetadata.java6
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/Guess.java3
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/Identifiable.java3
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/Question.java3
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/Server.java3
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ApiKey.java3
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/GuessImpl.java12
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ImmutableAkiwrapperMetadata.java11
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/QuestionImpl.java12
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImpl.java12
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImpl.java3
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/entities/impl/mutable/MutableAkiwrapperMetadata.java14
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/exceptions/MissingQuestionException.java1
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerNotFoundException.java4
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerUnavailableException.java3
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/utils/JSONUtils.java7
-rw-r--r--src/main/java/com/markozajc/akiwrapper/core/utils/Servers.java12
-rw-r--r--src/test/java/com/markozajc/akiwrapper/IntegrationTest.java20
-rw-r--r--src/test/java/com/markozajc/akiwrapper/core/RouteTest.java6
-rw-r--r--src/test/java/com/markozajc/akiwrapper/core/entities/IdentifiableTest.java4
-rw-r--r--src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImplTest.java15
-rw-r--r--src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImplTest.java7
-rw-r--r--src/test/java/com/markozajc/akiwrapper/core/utils/JSONUtilsTest.java4
28 files changed, 77 insertions, 162 deletions
diff --git a/example/src/main/java/com/markozajc/akiwrapper/example/AkinatorExample.java b/example/src/main/java/com/markozajc/akiwrapper/example/AkinatorExample.java
index 3bfb3f4..5715aa5 100644
--- a/example/src/main/java/com/markozajc/akiwrapper/example/AkinatorExample.java
+++ b/example/src/main/java/com/markozajc/akiwrapper/example/AkinatorExample.java
@@ -1,20 +1,14 @@
1package com.markozajc.akiwrapper.example; 1package com.markozajc.akiwrapper.example;
2 2
3import java.util.ArrayList; 3import java.util.*;
4import java.util.EnumSet;
5import java.util.List;
6import java.util.Scanner;
7import java.util.stream.Collectors; 4import java.util.stream.Collectors;
8 5
9import javax.annotation.Nonnull; 6import javax.annotation.Nonnull;
10 7
11import com.markozajc.akiwrapper.Akiwrapper; 8import com.markozajc.akiwrapper.*;
12import com.markozajc.akiwrapper.Akiwrapper.Answer; 9import com.markozajc.akiwrapper.Akiwrapper.Answer;
13import com.markozajc.akiwrapper.AkiwrapperBuilder; 10import com.markozajc.akiwrapper.core.entities.*;
14import com.markozajc.akiwrapper.core.entities.Guess; 11import com.markozajc.akiwrapper.core.entities.Server.*;
15import com.markozajc.akiwrapper.core.entities.Question;
16import com.markozajc.akiwrapper.core.entities.Server.GuessType;
17import com.markozajc.akiwrapper.core.entities.Server.Language;
18import com.markozajc.akiwrapper.core.entities.impl.immutable.ApiKey; 12import com.markozajc.akiwrapper.core.entities.impl.immutable.ApiKey;
19import com.markozajc.akiwrapper.core.exceptions.ServerNotFoundException; 13import com.markozajc.akiwrapper.core.exceptions.ServerNotFoundException;
20 14
diff --git a/pom.xml b/pom.xml
index cc3593b..91f82d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
5 5
6 <groupId>com.github.markozajc</groupId> 6 <groupId>com.github.markozajc</groupId>
7 <artifactId>akiwrapper</artifactId> 7 <artifactId>akiwrapper</artifactId>
8 <version>1.5</version> 8 <version>1.5.1</version>
9 9
10 <name>Akiwrapper</name> 10 <name>Akiwrapper</name>
11 <description>A Java API wrapper for Akinator</description> 11 <description>A Java API wrapper for Akinator</description>
@@ -41,7 +41,7 @@
41 <properties> 41 <properties>
42 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 42 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
43 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 43 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
44 <junit.version>5.6.2</junit.version> 44 <junit.version>5.7.1</junit.version>
45 <slf4j.version>1.7.30</slf4j.version> 45 <slf4j.version>1.7.30</slf4j.version>
46 </properties> 46 </properties>
47 47
@@ -57,7 +57,7 @@
57 <dependency> 57 <dependency>
58 <groupId>org.json</groupId> 58 <groupId>org.json</groupId>
59 <artifactId>json</artifactId> 59 <artifactId>json</artifactId>
60 <version>20190722</version> 60 <version>20201115</version>
61 </dependency> 61 </dependency>
62 62
63 <!-- Unit tests --> 63 <!-- Unit tests -->
@@ -84,14 +84,14 @@
84 <dependency> 84 <dependency>
85 <groupId>com.konghq</groupId> 85 <groupId>com.konghq</groupId>
86 <artifactId>unirest-java</artifactId> 86 <artifactId>unirest-java</artifactId>
87 <version>3.7.04</version> 87 <version>3.11.11</version>
88 </dependency> 88 </dependency>
89 89
90 <!-- Cache --> 90 <!-- Cache -->
91 <dependency> 91 <dependency>
92 <groupId>com.google.guava</groupId> 92 <groupId>com.google.guava</groupId>
93 <artifactId>guava</artifactId> 93 <artifactId>guava</artifactId>
94 <version>29.0-jre</version> 94 <version>30.1-jre</version>
95 </dependency> 95 </dependency>
96 96
97 <!-- Logging --> 97 <!-- Logging -->
@@ -111,7 +111,7 @@
111 <dependency> 111 <dependency>
112 <groupId>com.github.spotbugs</groupId> 112 <groupId>com.github.spotbugs</groupId>
113 <artifactId>spotbugs-annotations</artifactId> 113 <artifactId>spotbugs-annotations</artifactId>
114 <version>4.0.0</version> 114 <version>4.2.1</version>
115 </dependency> 115 </dependency>
116 116
117 <dependency> 117 <dependency>
diff --git a/src/main/java/com/markozajc/akiwrapper/Akiwrapper.java b/src/main/java/com/markozajc/akiwrapper/Akiwrapper.java
index 90f2876..24c1f39 100644
--- a/src/main/java/com/markozajc/akiwrapper/Akiwrapper.java
+++ b/src/main/java/com/markozajc/akiwrapper/Akiwrapper.java
@@ -3,12 +3,9 @@ package com.markozajc.akiwrapper;
3import java.util.List; 3import java.util.List;
4import java.util.stream.Collectors; 4import java.util.stream.Collectors;
5 5
6import javax.annotation.Nonnull; 6import javax.annotation.*;
7import javax.annotation.Nullable;
8 7
9import com.markozajc.akiwrapper.core.entities.Guess; 8import com.markozajc.akiwrapper.core.entities.*;
10import com.markozajc.akiwrapper.core.entities.Question;
11import com.markozajc.akiwrapper.core.entities.Server;
12 9
13/** 10/**
14 * The "core" of interaction with the Akinator's API. Contains all methods required 11 * The "core" of interaction with the Akinator's API. Contains all methods required
diff --git a/src/main/java/com/markozajc/akiwrapper/AkiwrapperBuilder.java b/src/main/java/com/markozajc/akiwrapper/AkiwrapperBuilder.java
index e658135..170cc35 100644
--- a/src/main/java/com/markozajc/akiwrapper/AkiwrapperBuilder.java
+++ b/src/main/java/com/markozajc/akiwrapper/AkiwrapperBuilder.java
@@ -2,17 +2,12 @@ package com.markozajc.akiwrapper;
2 2
3import javax.annotation.Nonnull; 3import javax.annotation.Nonnull;
4 4
5import org.slf4j.Logger; 5import org.slf4j.*;
6import org.slf4j.LoggerFactory; 6
7 7import com.markozajc.akiwrapper.core.entities.*;
8import com.markozajc.akiwrapper.core.entities.AkiwrapperMetadata; 8import com.markozajc.akiwrapper.core.entities.Server.*;
9import com.markozajc.akiwrapper.core.entities.Server;
10import com.markozajc.akiwrapper.core.entities.Server.GuessType;
11import com.markozajc.akiwrapper.core.entities.Server.Language;
12import com.markozajc.akiwrapper.core.entities.ServerList;
13import com.markozajc.akiwrapper.core.entities.impl.mutable.MutableAkiwrapperMetadata; 9import com.markozajc.akiwrapper.core.entities.impl.mutable.MutableAkiwrapperMetadata;
14import com.markozajc.akiwrapper.core.exceptions.ServerNotFoundException; 10import com.markozajc.akiwrapper.core.exceptions.*;
15import com.markozajc.akiwrapper.core.exceptions.ServerUnavailableException;
16import com.markozajc.akiwrapper.core.impl.AkiwrapperImpl; 11import com.markozajc.akiwrapper.core.impl.AkiwrapperImpl;
17import com.markozajc.akiwrapper.core.utils.Servers; 12import com.markozajc.akiwrapper.core.utils.Servers;
18 13
@@ -88,7 +83,7 @@ public class AkiwrapperBuilder extends MutableAkiwrapperMetadata {
88 LOG.warn("Failed to construct an instance, trying the next available server", e); 83 LOG.warn("Failed to construct an instance, trying the next available server", e);
89 } 84 }
90 } while (serverList.next()); 85 } while (serverList.next());
91 throw new ServerUnavailableException("AW-KO MULTIPLE FAILS"); 86 throw new ServerUnavailableException("KO - NO SERVER AVAILABLE");
92 } else { 87 } else {
93 LOG.debug("Given Server is not a ServerList, only attempting to build once."); 88 LOG.debug("Given Server is not a ServerList, only attempting to build once.");
94 return new AkiwrapperImpl(server, this.filterProfanity); 89 return new AkiwrapperImpl(server, this.filterProfanity);
diff --git a/src/main/java/com/markozajc/akiwrapper/core/Route.java b/src/main/java/com/markozajc/akiwrapper/core/Route.java
index 2b9ecfb..a2db855 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/Route.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/Route.java
@@ -2,28 +2,21 @@ package com.markozajc.akiwrapper.core;
2 2
3import java.io.UnsupportedEncodingException; 3import java.io.UnsupportedEncodingException;
4import java.net.URLEncoder; 4import java.net.URLEncoder;
5import java.util.regex.Matcher; 5import java.util.regex.*;
6import java.util.regex.Pattern;
7 6
8import javax.annotation.Nonnull; 7import javax.annotation.*;
9import javax.annotation.Nullable;
10 8
11import org.json.JSONException; 9import org.json.*;
12import org.json.JSONObject; 10import org.slf4j.*;
13import org.slf4j.Logger;
14import org.slf4j.LoggerFactory;
15 11
16import com.markozajc.akiwrapper.core.entities.Status; 12import com.markozajc.akiwrapper.core.entities.Status;
17import com.markozajc.akiwrapper.core.entities.Status.Level; 13import com.markozajc.akiwrapper.core.entities.Status.Level;
18import com.markozajc.akiwrapper.core.entities.impl.immutable.ApiKey; 14import com.markozajc.akiwrapper.core.entities.impl.immutable.*;
19import com.markozajc.akiwrapper.core.entities.impl.immutable.StatusImpl; 15import com.markozajc.akiwrapper.core.exceptions.*;
20import com.markozajc.akiwrapper.core.exceptions.ServerUnavailableException;
21import com.markozajc.akiwrapper.core.exceptions.StatusException;
22import com.markozajc.akiwrapper.core.impl.AkiwrapperImpl.Token; 16import com.markozajc.akiwrapper.core.impl.AkiwrapperImpl.Token;
23 17
24import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; 18import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
25import kong.unirest.Unirest; 19import kong.unirest.*;
26import kong.unirest.UnirestInstance;
27 20
28/** 21/**
29 * A class defining various API endpoints. It is capable of building such 22 * A class defining various API endpoints. It is capable of building such
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/AkiwrapperMetadata.java b/src/main/java/com/markozajc/akiwrapper/core/entities/AkiwrapperMetadata.java
index d9ab7f4..3b2c1ea 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/AkiwrapperMetadata.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/AkiwrapperMetadata.java
@@ -1,11 +1,9 @@
1package com.markozajc.akiwrapper.core.entities; 1package com.markozajc.akiwrapper.core.entities;
2 2
3import javax.annotation.Nonnull; 3import javax.annotation.*;
4import javax.annotation.Nullable;
5 4
6import com.markozajc.akiwrapper.Akiwrapper; 5import com.markozajc.akiwrapper.Akiwrapper;
7import com.markozajc.akiwrapper.core.entities.Server.GuessType; 6import com.markozajc.akiwrapper.core.entities.Server.*;
8import com.markozajc.akiwrapper.core.entities.Server.Language;
9 7
10/** 8/**
11 * A class holding configuration for an {@link Akiwrapper} instance. Note that 9 * A class holding configuration for an {@link Akiwrapper} instance. Note that
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/Guess.java b/src/main/java/com/markozajc/akiwrapper/core/entities/Guess.java
index 9cb886c..eb011ac 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/Guess.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/Guess.java
@@ -2,8 +2,7 @@ package com.markozajc.akiwrapper.core.entities;
2 2
3import java.net.URL; 3import java.net.URL;
4 4
5import javax.annotation.Nonnull; 5import javax.annotation.*;
6import javax.annotation.Nullable;
7 6
8import com.markozajc.akiwrapper.AkiwrapperBuilder; 7import com.markozajc.akiwrapper.AkiwrapperBuilder;
9import com.markozajc.akiwrapper.core.entities.Server.GuessType; 8import com.markozajc.akiwrapper.core.entities.Server.GuessType;
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/Identifiable.java b/src/main/java/com/markozajc/akiwrapper/core/entities/Identifiable.java
index 57a5bfb..60ee44a 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/Identifiable.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/Identifiable.java
@@ -1,7 +1,6 @@
1package com.markozajc.akiwrapper.core.entities; 1package com.markozajc.akiwrapper.core.entities;
2 2
3import javax.annotation.Nonnegative; 3import javax.annotation.*;
4import javax.annotation.Nonnull;
5 4
6/** 5/**
7 * A representation of an object with a numeric identifier. Some objects in the API 6 * A representation of an object with a numeric identifier. Some objects in the API
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/Question.java b/src/main/java/com/markozajc/akiwrapper/core/entities/Question.java
index 55dafdd..bfb9c0f 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/Question.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/Question.java
@@ -1,7 +1,6 @@
1package com.markozajc.akiwrapper.core.entities; 1package com.markozajc.akiwrapper.core.entities;
2 2
3import javax.annotation.Nonnegative; 3import javax.annotation.*;
4import javax.annotation.Nonnull;
5 4
6import com.markozajc.akiwrapper.Akiwrapper.Answer; 5import com.markozajc.akiwrapper.Akiwrapper.Answer;
7import com.markozajc.akiwrapper.AkiwrapperBuilder; 6import com.markozajc.akiwrapper.AkiwrapperBuilder;
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/Server.java b/src/main/java/com/markozajc/akiwrapper/core/entities/Server.java
index 3c98f96..461dc75 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/Server.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/Server.java
@@ -1,7 +1,6 @@
1package com.markozajc.akiwrapper.core.entities; 1package com.markozajc.akiwrapper.core.entities;
2 2
3import javax.annotation.Nonnull; 3import javax.annotation.*;
4import javax.annotation.Nullable;
5 4
6import com.markozajc.akiwrapper.core.Route; 5import com.markozajc.akiwrapper.core.Route;
7import com.markozajc.akiwrapper.core.exceptions.ServerNotFoundException; 6import com.markozajc.akiwrapper.core.exceptions.ServerNotFoundException;
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ApiKey.java b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ApiKey.java
index f513cfa..fd0b105 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ApiKey.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ApiKey.java
@@ -2,8 +2,7 @@ package com.markozajc.akiwrapper.core.entities.impl.immutable;
2 2
3import java.io.UnsupportedEncodingException; 3import java.io.UnsupportedEncodingException;
4import java.net.URLEncoder; 4import java.net.URLEncoder;
5import java.util.regex.Matcher; 5import java.util.regex.*;
6import java.util.regex.Pattern;
7 6
8import javax.annotation.Nonnull; 7import javax.annotation.Nonnull;
9 8
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/GuessImpl.java b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/GuessImpl.java
index e5c9420..9acbe19 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/GuessImpl.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/GuessImpl.java
@@ -1,14 +1,10 @@
1package com.markozajc.akiwrapper.core.entities.impl.immutable; 1package com.markozajc.akiwrapper.core.entities.impl.immutable;
2 2
3import java.net.MalformedURLException; 3import java.net.*;
4import java.net.URL;
5 4
6import javax.annotation.Nonnegative; 5import javax.annotation.*;
7import javax.annotation.Nonnull;
8import javax.annotation.Nullable;
9 6
10import org.json.JSONArray; 7import org.json.*;
11import org.json.JSONObject;
12 8
13import com.markozajc.akiwrapper.core.Route; 9import com.markozajc.akiwrapper.core.Route;
14import com.markozajc.akiwrapper.core.entities.Guess; 10import com.markozajc.akiwrapper.core.entities.Guess;
@@ -61,7 +57,7 @@ public class GuessImpl implements Guess {
61 @SuppressWarnings("null") 57 @SuppressWarnings("null")
62 public GuessImpl(@Nonnull JSONObject json) { 58 public GuessImpl(@Nonnull JSONObject json) {
63 this(json.getString("id"), json.getString("name"), getDescription(json), getImage(json), 59 this(json.getString("id"), json.getString("name"), getDescription(json), getImage(json),
64 JSONUtils.getDouble(json, "proba").get().doubleValue()); 60 JSONUtils.getDouble(json, "proba").get());
65 } 61 }
66 62
67 @Nullable 63 @Nullable
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ImmutableAkiwrapperMetadata.java b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ImmutableAkiwrapperMetadata.java
index cec7d3a..d7e813f 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ImmutableAkiwrapperMetadata.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ImmutableAkiwrapperMetadata.java
@@ -1,14 +1,9 @@
1package com.markozajc.akiwrapper.core.entities.impl.immutable; 1package com.markozajc.akiwrapper.core.entities.impl.immutable;
2 2
3import javax.annotation.Nonnull; 3import javax.annotation.*;
4import javax.annotation.Nullable;
5 4
6import com.markozajc.akiwrapper.core.entities.AkiwrapperMetadata; 5import com.markozajc.akiwrapper.core.entities.*;
7import com.markozajc.akiwrapper.core.entities.Guess; 6import com.markozajc.akiwrapper.core.entities.Server.*;
8import com.markozajc.akiwrapper.core.entities.Question;
9import com.markozajc.akiwrapper.core.entities.Server;
10import com.markozajc.akiwrapper.core.entities.Server.GuessType;
11import com.markozajc.akiwrapper.core.entities.Server.Language;
12 7
13/** 8/**
14 * An immutable implementation of {@link AkiwrapperMetadata}. 9 * An immutable implementation of {@link AkiwrapperMetadata}.
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/QuestionImpl.java b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/QuestionImpl.java
index 1787fd2..60cc203 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/QuestionImpl.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/QuestionImpl.java
@@ -1,12 +1,10 @@
1package com.markozajc.akiwrapper.core.entities.impl.immutable; 1package com.markozajc.akiwrapper.core.entities.impl.immutable;
2 2
3import javax.annotation.Nonnegative; 3import javax.annotation.*;
4import javax.annotation.Nonnull;
5 4
6import org.json.JSONObject; 5import org.json.JSONObject;
7 6
8import com.markozajc.akiwrapper.core.entities.Question; 7import com.markozajc.akiwrapper.core.entities.*;
9import com.markozajc.akiwrapper.core.entities.Status;
10import com.markozajc.akiwrapper.core.entities.Status.Level; 8import com.markozajc.akiwrapper.core.entities.Status.Level;
11import com.markozajc.akiwrapper.core.exceptions.MissingQuestionException; 9import com.markozajc.akiwrapper.core.exceptions.MissingQuestionException;
12import com.markozajc.akiwrapper.core.utils.JSONUtils; 10import com.markozajc.akiwrapper.core.utils.JSONUtils;
@@ -67,9 +65,9 @@ public class QuestionImpl implements Question {
67 checkMissingQuestion(status); 65 checkMissingQuestion(status);
68 this.id = json.getString("questionid"); 66 this.id = json.getString("questionid");
69 this.question = json.getString("question"); 67 this.question = json.getString("question");
70 this.step = JSONUtils.getInteger(json, "step").get().intValue(); 68 this.step = JSONUtils.getInteger(json, "step").get();
71 this.gain = JSONUtils.getDouble(json, "infogain").get().doubleValue(); 69 this.gain = JSONUtils.getDouble(json, "infogain").get();
72 this.progression = JSONUtils.getDouble(json, "progression").get().doubleValue(); 70 this.progression = JSONUtils.getDouble(json, "progression").get();
73 } 71 }
74 72
75 private static void checkMissingQuestion(@Nonnull Status status) { 73 private static void checkMissingQuestion(@Nonnull Status status) {
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImpl.java b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImpl.java
index c70fe8e..26703b8 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImpl.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImpl.java
@@ -1,18 +1,12 @@
1package com.markozajc.akiwrapper.core.entities.impl.immutable; 1package com.markozajc.akiwrapper.core.entities.impl.immutable;
2 2
3import java.util.ArrayList; 3import java.util.*;
4import java.util.Arrays;
5import java.util.Collection;
6import java.util.List;
7import java.util.Queue;
8import java.util.concurrent.ConcurrentLinkedQueue; 4import java.util.concurrent.ConcurrentLinkedQueue;
9import java.util.stream.Collectors; 5import java.util.stream.*;
10import java.util.stream.Stream;
11 6
12import javax.annotation.Nonnull; 7import javax.annotation.Nonnull;
13 8
14import com.markozajc.akiwrapper.core.entities.Server; 9import com.markozajc.akiwrapper.core.entities.*;
15import com.markozajc.akiwrapper.core.entities.ServerList;
16 10
17public class ServerListImpl implements ServerList { 11public class ServerListImpl implements ServerList {
18 12
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImpl.java b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImpl.java
index 390878c..731def1 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImpl.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImpl.java
@@ -1,7 +1,6 @@
1package com.markozajc.akiwrapper.core.entities.impl.immutable; 1package com.markozajc.akiwrapper.core.entities.impl.immutable;
2 2
3import javax.annotation.Nonnull; 3import javax.annotation.*;
4import javax.annotation.Nullable;
5 4
6import org.json.JSONObject; 5import org.json.JSONObject;
7 6
diff --git a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/mutable/MutableAkiwrapperMetadata.java b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/mutable/MutableAkiwrapperMetadata.java
index 8476ff5..e286616 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/entities/impl/mutable/MutableAkiwrapperMetadata.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/entities/impl/mutable/MutableAkiwrapperMetadata.java
@@ -1,15 +1,9 @@
1package com.markozajc.akiwrapper.core.entities.impl.mutable; 1package com.markozajc.akiwrapper.core.entities.impl.mutable;
2 2
3import javax.annotation.Nonnull; 3import javax.annotation.*;
4import javax.annotation.Nullable; 4
5 5import com.markozajc.akiwrapper.core.entities.*;
6import com.markozajc.akiwrapper.core.entities.AkiwrapperMetadata; 6import com.markozajc.akiwrapper.core.entities.Server.*;
7import com.markozajc.akiwrapper.core.entities.Guess;
8import com.markozajc.akiwrapper.core.entities.Question;
9import com.markozajc.akiwrapper.core.entities.Server;
10import com.markozajc.akiwrapper.core.entities.Server.GuessType;
11import com.markozajc.akiwrapper.core.entities.Server.Language;
12import com.markozajc.akiwrapper.core.entities.ServerList;
13import com.markozajc.akiwrapper.core.entities.impl.immutable.ImmutableAkiwrapperMetadata; 7import com.markozajc.akiwrapper.core.entities.impl.immutable.ImmutableAkiwrapperMetadata;
14import com.markozajc.akiwrapper.core.utils.Servers; 8import com.markozajc.akiwrapper.core.utils.Servers;
15 9
diff --git a/src/main/java/com/markozajc/akiwrapper/core/exceptions/MissingQuestionException.java b/src/main/java/com/markozajc/akiwrapper/core/exceptions/MissingQuestionException.java
index 09cb5b5..1c5725a 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/exceptions/MissingQuestionException.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/exceptions/MissingQuestionException.java
@@ -11,7 +11,6 @@ public class MissingQuestionException extends RuntimeException {
11 * Constructs a new {@link MissingQuestionException} instance. 11 * Constructs a new {@link MissingQuestionException} instance.
12 */ 12 */
13 public MissingQuestionException() { 13 public MissingQuestionException() {
14 super();
15 } 14 }
16 15
17} 16}
diff --git a/src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerNotFoundException.java b/src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerNotFoundException.java
index 8f339a4..e5dcc41 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerNotFoundException.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerNotFoundException.java
@@ -1,8 +1,7 @@
1package com.markozajc.akiwrapper.core.exceptions; 1package com.markozajc.akiwrapper.core.exceptions;
2 2
3import com.markozajc.akiwrapper.core.entities.Server; 3import com.markozajc.akiwrapper.core.entities.Server;
4import com.markozajc.akiwrapper.core.entities.Server.GuessType; 4import com.markozajc.akiwrapper.core.entities.Server.*;
5import com.markozajc.akiwrapper.core.entities.Server.Language;
6 5
7/** 6/**
8 * An exception indicating that no {@link Server} could be found for the given 7 * An exception indicating that no {@link Server} could be found for the given
@@ -16,7 +15,6 @@ public class ServerNotFoundException extends Exception {
16 * Constructs a new {@link ServerNotFoundException}. 15 * Constructs a new {@link ServerNotFoundException}.
17 */ 16 */
18 public ServerNotFoundException() { 17 public ServerNotFoundException() {
19 super();
20 } 18 }
21 19
22} 20}
diff --git a/src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerUnavailableException.java b/src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerUnavailableException.java
index 2eadabe..77a4855 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerUnavailableException.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/exceptions/ServerUnavailableException.java
@@ -2,8 +2,7 @@ package com.markozajc.akiwrapper.core.exceptions;
2 2
3import javax.annotation.Nonnull; 3import javax.annotation.Nonnull;
4 4
5import com.markozajc.akiwrapper.core.entities.Server; 5import com.markozajc.akiwrapper.core.entities.*;
6import com.markozajc.akiwrapper.core.entities.Status;
7import com.markozajc.akiwrapper.core.entities.impl.immutable.StatusImpl; 6import com.markozajc.akiwrapper.core.entities.impl.immutable.StatusImpl;
8 7
9/** 8/**
diff --git a/src/main/java/com/markozajc/akiwrapper/core/utils/JSONUtils.java b/src/main/java/com/markozajc/akiwrapper/core/utils/JSONUtils.java
index e2dbe27..f6f90e3 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/utils/JSONUtils.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/utils/JSONUtils.java
@@ -4,8 +4,7 @@ import java.util.Optional;
4 4
5import javax.annotation.Nonnull; 5import javax.annotation.Nonnull;
6 6
7import org.json.JSONException; 7import org.json.*;
8import org.json.JSONObject;
9 8
10/** 9/**
11 * A set of utilities for JSON that prevent type errors. 10 * A set of utilities for JSON that prevent type errors.
@@ -31,7 +30,7 @@ public final class JSONUtils {
31 Object object = json.get(key); 30 Object object = json.get(key);
32 Integer value; 31 Integer value;
33 if (object instanceof Number) 32 if (object instanceof Number)
34 value = Integer.valueOf(((Number) object).intValue()); 33 value = ((Number) object).intValue();
35 else if (object instanceof String) 34 else if (object instanceof String)
36 value = Integer.valueOf((String) object); 35 value = Integer.valueOf((String) object);
37 else 36 else
@@ -62,7 +61,7 @@ public final class JSONUtils {
62 Object object = json.get(key); 61 Object object = json.get(key);
63 Double value; 62 Double value;
64 if (object instanceof Number) 63 if (object instanceof Number)
65 value = Double.valueOf(((Number) object).doubleValue()); 64 value = ((Number) object).doubleValue();
66 else if (object instanceof String) 65 else if (object instanceof String)
67 value = Double.valueOf((String) object); 66 value = Double.valueOf((String) object);
68 else 67 else
diff --git a/src/main/java/com/markozajc/akiwrapper/core/utils/Servers.java b/src/main/java/com/markozajc/akiwrapper/core/utils/Servers.java
index 3aa0fc2..bc5b7ed 100644
--- a/src/main/java/com/markozajc/akiwrapper/core/utils/Servers.java
+++ b/src/main/java/com/markozajc/akiwrapper/core/utils/Servers.java
@@ -1,19 +1,15 @@
1package com.markozajc.akiwrapper.core.utils; 1package com.markozajc.akiwrapper.core.utils;
2 2
3import java.util.List; 3import java.util.List;
4import java.util.stream.Collectors; 4import java.util.stream.*;
5import java.util.stream.Stream;
6 5
7import javax.annotation.Nonnull; 6import javax.annotation.Nonnull;
8 7
9import com.jcabi.xml.XMLDocument; 8import com.jcabi.xml.XMLDocument;
10import com.markozajc.akiwrapper.core.Route; 9import com.markozajc.akiwrapper.core.Route;
11import com.markozajc.akiwrapper.core.entities.Server; 10import com.markozajc.akiwrapper.core.entities.*;
12import com.markozajc.akiwrapper.core.entities.Server.GuessType; 11import com.markozajc.akiwrapper.core.entities.Server.*;
13import com.markozajc.akiwrapper.core.entities.Server.Language; 12import com.markozajc.akiwrapper.core.entities.impl.immutable.*;
14import com.markozajc.akiwrapper.core.entities.ServerList;
15import com.markozajc.akiwrapper.core.entities.impl.immutable.ServerImpl;
16import com.markozajc.akiwrapper.core.entities.impl.immutable.ServerListImpl;
17import com.markozajc.akiwrapper.core.exceptions.ServerNotFoundException; 13import com.markozajc.akiwrapper.core.exceptions.ServerNotFoundException;
18 14
19import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; 15import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
diff --git a/src/test/java/com/markozajc/akiwrapper/IntegrationTest.java b/src/test/java/com/markozajc/akiwrapper/IntegrationTest.java
index 94dc3a5..39d6c32 100644
--- a/src/test/java/com/markozajc/akiwrapper/IntegrationTest.java
+++ b/src/test/java/com/markozajc/akiwrapper/IntegrationTest.java
@@ -3,26 +3,18 @@ package com.markozajc.akiwrapper;
3import java.util.List; 3import java.util.List;
4import java.util.stream.Stream; 4import java.util.stream.Stream;
5 5
6import javax.annotation.Nonnull; 6import javax.annotation.*;
7import javax.annotation.Nullable;
8 7
9import org.junit.jupiter.params.ParameterizedTest; 8import org.junit.jupiter.params.ParameterizedTest;
10import org.junit.jupiter.params.provider.Arguments; 9import org.junit.jupiter.params.provider.*;
11import org.junit.jupiter.params.provider.MethodSource; 10import org.slf4j.*;
12import org.slf4j.Logger;
13import org.slf4j.LoggerFactory;
14 11
15import com.markozajc.akiwrapper.Akiwrapper.Answer; 12import com.markozajc.akiwrapper.Akiwrapper.Answer;
16import com.markozajc.akiwrapper.core.entities.Guess; 13import com.markozajc.akiwrapper.core.entities.*;
17import com.markozajc.akiwrapper.core.entities.Question; 14import com.markozajc.akiwrapper.core.entities.Server.*;
18import com.markozajc.akiwrapper.core.entities.Server.GuessType;
19import com.markozajc.akiwrapper.core.entities.Server.Language;
20import com.markozajc.akiwrapper.core.exceptions.ServerNotFoundException; 15import com.markozajc.akiwrapper.core.exceptions.ServerNotFoundException;
21 16
22import static org.junit.jupiter.api.Assertions.assertEquals; 17import static org.junit.jupiter.api.Assertions.*;
23import static org.junit.jupiter.api.Assertions.assertFalse;
24import static org.junit.jupiter.api.Assertions.assertNull;
25import static org.junit.jupiter.api.Assertions.fail;
26 18
27class IntegrationTest { 19class IntegrationTest {
28 20
diff --git a/src/test/java/com/markozajc/akiwrapper/core/RouteTest.java b/src/test/java/com/markozajc/akiwrapper/core/RouteTest.java
index 1b3b7b2..a38d0b6 100644
--- a/src/test/java/com/markozajc/akiwrapper/core/RouteTest.java
+++ b/src/test/java/com/markozajc/akiwrapper/core/RouteTest.java
@@ -3,11 +3,9 @@ package com.markozajc.akiwrapper.core;
3import org.json.JSONObject; 3import org.json.JSONObject;
4import org.junit.jupiter.api.Test; 4import org.junit.jupiter.api.Test;
5 5
6import com.markozajc.akiwrapper.core.exceptions.ServerUnavailableException; 6import com.markozajc.akiwrapper.core.exceptions.*;
7import com.markozajc.akiwrapper.core.exceptions.StatusException;
8 7
9import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; 8import static org.junit.jupiter.api.Assertions.*;
10import static org.junit.jupiter.api.Assertions.assertThrows;
11 9
12class RouteTest { 10class RouteTest {
13 11
diff --git a/src/test/java/com/markozajc/akiwrapper/core/entities/IdentifiableTest.java b/src/test/java/com/markozajc/akiwrapper/core/entities/IdentifiableTest.java
index bbb987f..5626e9c 100644
--- a/src/test/java/com/markozajc/akiwrapper/core/entities/IdentifiableTest.java
+++ b/src/test/java/com/markozajc/akiwrapper/core/entities/IdentifiableTest.java
@@ -2,9 +2,7 @@ package com.markozajc.akiwrapper.core.entities;
2 2
3import org.junit.jupiter.api.Test; 3import org.junit.jupiter.api.Test;
4 4
5import static org.junit.jupiter.api.Assertions.assertEquals; 5import static org.junit.jupiter.api.Assertions.*;
6import static org.junit.jupiter.api.Assertions.assertThrows;
7import static org.junit.jupiter.api.Assertions.fail;
8 6
9class IdentifiableTest { 7class IdentifiableTest {
10 8
diff --git a/src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImplTest.java b/src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImplTest.java
index 4740187..0ab7731 100644
--- a/src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImplTest.java
+++ b/src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/ServerListImplTest.java
@@ -2,21 +2,14 @@ package com.markozajc.akiwrapper.core.entities.impl.immutable;
2 2
3import static java.util.Arrays.asList; 3import static java.util.Arrays.asList;
4 4
5import java.util.Arrays; 5import java.util.*;
6import java.util.Collections;
7import java.util.List;
8 6
9import org.junit.jupiter.api.Test; 7import org.junit.jupiter.api.Test;
10 8
11import com.markozajc.akiwrapper.core.entities.Server; 9import com.markozajc.akiwrapper.core.entities.*;
12import com.markozajc.akiwrapper.core.entities.Server.GuessType; 10import com.markozajc.akiwrapper.core.entities.Server.*;
13import com.markozajc.akiwrapper.core.entities.Server.Language;
14import com.markozajc.akiwrapper.core.entities.ServerList;
15 11
16import static org.junit.jupiter.api.Assertions.assertEquals; 12import static org.junit.jupiter.api.Assertions.*;
17import static org.junit.jupiter.api.Assertions.assertFalse;
18import static org.junit.jupiter.api.Assertions.assertThrows;
19import static org.junit.jupiter.api.Assertions.assertTrue;
20 13
21class ServerListImplTest { 14class ServerListImplTest {
22 15
diff --git a/src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImplTest.java b/src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImplTest.java
index 95d4b56..a7545e6 100644
--- a/src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImplTest.java
+++ b/src/test/java/com/markozajc/akiwrapper/core/entities/impl/immutable/StatusImplTest.java
@@ -5,16 +5,13 @@ import java.util.stream.Stream;
5import javax.annotation.Nonnull; 5import javax.annotation.Nonnull;
6 6
7import org.junit.jupiter.params.ParameterizedTest; 7import org.junit.jupiter.params.ParameterizedTest;
8import org.junit.jupiter.params.provider.Arguments; 8import org.junit.jupiter.params.provider.*;
9import org.junit.jupiter.params.provider.EnumSource;
10import org.junit.jupiter.params.provider.EnumSource.Mode; 9import org.junit.jupiter.params.provider.EnumSource.Mode;
11import org.junit.jupiter.params.provider.MethodSource;
12 10
13import com.markozajc.akiwrapper.core.entities.Status; 11import com.markozajc.akiwrapper.core.entities.Status;
14import com.markozajc.akiwrapper.core.entities.Status.Level; 12import com.markozajc.akiwrapper.core.entities.Status.Level;
15 13
16import static org.junit.jupiter.api.Assertions.assertEquals; 14import static org.junit.jupiter.api.Assertions.*;
17import static org.junit.jupiter.api.Assertions.assertNull;
18 15
19class StatusImplTest { 16class StatusImplTest {
20 17
diff --git a/src/test/java/com/markozajc/akiwrapper/core/utils/JSONUtilsTest.java b/src/test/java/com/markozajc/akiwrapper/core/utils/JSONUtilsTest.java
index 4780f0c..ccf4535 100644
--- a/src/test/java/com/markozajc/akiwrapper/core/utils/JSONUtilsTest.java
+++ b/src/test/java/com/markozajc/akiwrapper/core/utils/JSONUtilsTest.java
@@ -3,9 +3,7 @@ package com.markozajc.akiwrapper.core.utils;
3import org.json.JSONObject; 3import org.json.JSONObject;
4import org.junit.jupiter.api.Test; 4import org.junit.jupiter.api.Test;
5 5
6import static org.junit.jupiter.api.Assertions.assertEquals; 6import static org.junit.jupiter.api.Assertions.*;
7import static org.junit.jupiter.api.Assertions.assertNull;
8import static org.junit.jupiter.api.Assertions.assertThrows;
9 7
10class JSONUtilsTest { 8class JSONUtilsTest {
11 9