diff --git a/.drone.yml b/.drone.yml index 940703b..b7ac8ab 100644 --- a/.drone.yml +++ b/.drone.yml @@ -11,7 +11,7 @@ steps: --- kind: pipeline type: docker -name: java13 +name: java14 steps: - name: test diff --git a/src/main/java/de/stklcode/pubtrans/ura/UraClient.java b/src/main/java/de/stklcode/pubtrans/ura/UraClient.java index 114f8cd..2700799 100644 --- a/src/main/java/de/stklcode/pubtrans/ura/UraClient.java +++ b/src/main/java/de/stklcode/pubtrans/ura/UraClient.java @@ -248,7 +248,7 @@ public class UraClient implements Serializable { String version = null; String line = br.readLine(); while (line != null && (limit == null || trips.size() < limit)) { - List l = mapper.readValue(line, List.class); + List l = mapper.readValue(line, mapper.getTypeFactory().constructCollectionType(List.class, Serializable.class)); /* Check if result exists and has correct response type */ if (l != null && !l.isEmpty()) { if (l.get(0).equals(RES_TYPE_URA_VERSION)) { @@ -323,7 +323,7 @@ public class UraClient implements Serializable { BufferedReader br = new BufferedReader(new InputStreamReader(is))) { String line; while ((line = br.readLine()) != null) { - List l = mapper.readValue(line, List.class); + List l = mapper.readValue(line, mapper.getTypeFactory().constructCollectionType(List.class, Serializable.class)); /* Check if result exists and has correct response type */ if (l != null && !l.isEmpty() && l.get(0).equals(RES_TYPE_STOP)) { stops.add(new Stop(l)); @@ -373,7 +373,7 @@ public class UraClient implements Serializable { String version = null; String line = br.readLine(); while (line != null && (limit == null || messages.size() < limit)) { - List l = mapper.readValue(line, List.class); + List l = mapper.readValue(line, mapper.getTypeFactory().constructCollectionType(List.class, Serializable.class)); /* Check if result exists and has correct response type */ if (l != null && !l.isEmpty()) { if (l.get(0).equals(RES_TYPE_URA_VERSION)) { diff --git a/src/main/java/de/stklcode/pubtrans/ura/model/Message.java b/src/main/java/de/stklcode/pubtrans/ura/model/Message.java index 1e35068..fe5f707 100644 --- a/src/main/java/de/stklcode/pubtrans/ura/model/Message.java +++ b/src/main/java/de/stklcode/pubtrans/ura/model/Message.java @@ -1,6 +1,7 @@ package de.stklcode.pubtrans.ura.model; import java.io.IOException; +import java.io.Serializable; import java.util.List; /** @@ -87,7 +88,7 @@ public class Message implements Model { * @param raw List of attributes from JSON line * @throws IOException Thrown on invalid line format. */ - public Message(final List raw) throws IOException { + public Message(final List raw) throws IOException { this(raw, null); } @@ -98,7 +99,7 @@ public class Message implements Model { * @param version API version * @throws IOException Thrown on invalid line format. */ - public Message(final List raw, final String version) throws IOException { + public Message(final List raw, final String version) throws IOException { if (raw == null || raw.size() < NUM_OF_FIELDS) { throw new IOException("Invalid number of fields"); } diff --git a/src/main/java/de/stklcode/pubtrans/ura/model/Model.java b/src/main/java/de/stklcode/pubtrans/ura/model/Model.java index 11019f1..91d0858 100644 --- a/src/main/java/de/stklcode/pubtrans/ura/model/Model.java +++ b/src/main/java/de/stklcode/pubtrans/ura/model/Model.java @@ -33,7 +33,7 @@ interface Model extends Serializable { * @param actual Actual class. * @return The Exception. */ - static IOException typeErrorString(int field, Class actual) { + static IOException typeErrorString(int field, Class actual) { return typeError(field, actual, "String"); } @@ -45,7 +45,7 @@ interface Model extends Serializable { * @param expected Expected type. * @return The Exception. */ - static IOException typeError(int field, Class actual, String expected) { + static IOException typeError(int field, Class actual, String expected) { return new IOException(String.format("Field %d not of expected type %s, found %s", field, expected, actual.getSimpleName())); } diff --git a/src/main/java/de/stklcode/pubtrans/ura/model/Stop.java b/src/main/java/de/stklcode/pubtrans/ura/model/Stop.java index 1ff9618..de0998b 100644 --- a/src/main/java/de/stklcode/pubtrans/ura/model/Stop.java +++ b/src/main/java/de/stklcode/pubtrans/ura/model/Stop.java @@ -17,6 +17,7 @@ package de.stklcode.pubtrans.ura.model; import java.io.IOException; +import java.io.Serializable; import java.util.List; /** @@ -72,7 +73,7 @@ public final class Stop implements Model { * @param raw List of attributes from JSON line * @throws IOException Thrown on invalid line format. */ - public Stop(final List raw) throws IOException { + public Stop(final List raw) throws IOException { if (raw == null || raw.size() < F_NUM_OF_FIELDS) { throw new IOException("Invalid number of fields"); } diff --git a/src/main/java/de/stklcode/pubtrans/ura/model/Trip.java b/src/main/java/de/stklcode/pubtrans/ura/model/Trip.java index 7bc174e..cdc262c 100644 --- a/src/main/java/de/stklcode/pubtrans/ura/model/Trip.java +++ b/src/main/java/de/stklcode/pubtrans/ura/model/Trip.java @@ -17,6 +17,7 @@ package de.stklcode.pubtrans.ura.model; import java.io.IOException; +import java.io.Serializable; import java.util.List; /** @@ -142,7 +143,7 @@ public final class Trip implements Model { * @param raw List of attributes from JSON line * @throws IOException Thrown on invalid line format. */ - public Trip(final List raw) throws IOException { + public Trip(final List raw) throws IOException { this(raw, null); } @@ -153,7 +154,7 @@ public final class Trip implements Model { * @param version API version * @throws IOException Thrown on invalid line format. */ - public Trip(final List raw, final String version) throws IOException { + public Trip(final List raw, final String version) throws IOException { if (raw == null || raw.size() < NUM_OF_FIELDS) { throw new IOException("Invalid number of fields"); } diff --git a/src/main/java/de/stklcode/pubtrans/ura/reader/AsyncUraTripReader.java b/src/main/java/de/stklcode/pubtrans/ura/reader/AsyncUraTripReader.java index 2fc132a..c808876 100644 --- a/src/main/java/de/stklcode/pubtrans/ura/reader/AsyncUraTripReader.java +++ b/src/main/java/de/stklcode/pubtrans/ura/reader/AsyncUraTripReader.java @@ -19,10 +19,7 @@ package de.stklcode.pubtrans.ura.reader; import com.fasterxml.jackson.databind.ObjectMapper; import de.stklcode.pubtrans.ura.model.Trip; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; +import java.io.*; import java.net.URI; import java.net.URL; import java.net.http.HttpClient; @@ -90,7 +87,7 @@ public class AsyncUraTripReader implements AutoCloseable { String version = null; String line = br.readLine(); while (line != null && !this.canceled) { - List l = mapper.readValue(line, List.class); + List l = mapper.readValue(line, mapper.getTypeFactory().constructCollectionType(List.class, Serializable.class)); // Check if result exists and has correct response type. if (l != null && !l.isEmpty()) { if (l.get(0).equals(RES_TYPE_URA_VERSION)) { diff --git a/src/test/java/de/stklcode/pubtrans/ura/model/MessageTest.java b/src/test/java/de/stklcode/pubtrans/ura/model/MessageTest.java index ae9fc09..821ca34 100644 --- a/src/test/java/de/stklcode/pubtrans/ura/model/MessageTest.java +++ b/src/test/java/de/stklcode/pubtrans/ura/model/MessageTest.java @@ -19,6 +19,7 @@ package de.stklcode.pubtrans.ura.model; import org.junit.jupiter.api.Test; import java.io.IOException; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -61,7 +62,7 @@ public class MessageTest { @Test public void listConstructorTest() { /* Create valid raw data list */ - List raw = new ArrayList<>(); + List raw = new ArrayList<>(); raw.add(1); raw.add("stopName"); raw.add("stopId"); @@ -101,7 +102,7 @@ public class MessageTest { } /* Test exceptions on invalid data */ - List invalid = new ArrayList<>(raw); + List invalid = new ArrayList<>(raw); invalid.remove(7); invalid.add(7, 123L); try { diff --git a/src/test/java/de/stklcode/pubtrans/ura/model/StopTest.java b/src/test/java/de/stklcode/pubtrans/ura/model/StopTest.java index 1adb772..5597aec 100644 --- a/src/test/java/de/stklcode/pubtrans/ura/model/StopTest.java +++ b/src/test/java/de/stklcode/pubtrans/ura/model/StopTest.java @@ -19,6 +19,7 @@ package de.stklcode.pubtrans.ura.model; import org.junit.jupiter.api.Test; import java.io.IOException; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -48,7 +49,7 @@ public class StopTest { @Test public void listConstructorTest() { /* Create valid raw data list */ - List raw = new ArrayList<>(); + List raw = new ArrayList<>(); raw.add(1); raw.add("stopName"); raw.add("stopId"); @@ -80,7 +81,7 @@ public class StopTest { } /* Test exceptions on invalid data */ - List invalid = new ArrayList<>(raw); + List invalid = new ArrayList<>(raw); invalid.remove(1); invalid.add(1, 5); try { diff --git a/src/test/java/de/stklcode/pubtrans/ura/model/TripTest.java b/src/test/java/de/stklcode/pubtrans/ura/model/TripTest.java index 29b9920..4043e47 100644 --- a/src/test/java/de/stklcode/pubtrans/ura/model/TripTest.java +++ b/src/test/java/de/stklcode/pubtrans/ura/model/TripTest.java @@ -19,6 +19,7 @@ package de.stklcode.pubtrans.ura.model; import org.junit.jupiter.api.Test; import java.io.IOException; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -71,7 +72,7 @@ public class TripTest { @Test public void listConstructorTest() { /* Create valid raw data list */ - List raw = new ArrayList<>(); + List raw = new ArrayList<>(); raw.add(1); raw.add("stopName"); raw.add("stopId"); @@ -151,7 +152,7 @@ public class TripTest { } /* Test exceptions on invalid data */ - List invalid = new ArrayList<>(raw); + List invalid = new ArrayList<>(raw); invalid.remove(7); invalid.add(7, "123"); try {