diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index 423c3ba9..7238d4ba 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -1446,6 +1446,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider public QueryDeparturesResult queryDepartures(final String stationId, final @Nullable Date time, final int maxDepartures, final boolean equivs) throws IOException { + checkNotNull(Strings.emptyToNull(stationId)); + return xsltDepartureMonitorRequest(stationId, time, maxDepartures, equivs); } diff --git a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java index 94f06264..d2587e4a 100644 --- a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java @@ -17,6 +17,8 @@ package de.schildbach.pte; +import static com.google.common.base.Preconditions.checkNotNull; + import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.DataInputStream; @@ -52,6 +54,7 @@ import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; import com.google.common.base.Charsets; +import com.google.common.base.Strings; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Line; @@ -451,6 +454,8 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider public QueryDeparturesResult queryDepartures(final String stationId, final @Nullable Date time, final int maxDepartures, final boolean equivs) throws IOException { + checkNotNull(Strings.emptyToNull(stationId)); + final StringBuilder uri = new StringBuilder(stationBoardEndpoint); appendXmlStationBoardParameters(uri, time, stationId, maxDepartures, equivs, "vs_java3"); diff --git a/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java b/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java index a14cc96d..ecb7c0a2 100644 --- a/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java @@ -38,6 +38,8 @@ import org.json.JSONException; import org.json.JSONObject; import org.json.JSONTokener; +import com.google.common.base.Strings; + import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Line; import de.schildbach.pte.dto.LineDestination; @@ -836,6 +838,8 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider public QueryDeparturesResult queryDepartures(final String stationId, final @Nullable Date time, final int maxDepartures, final boolean equivs) throws IOException { + checkNotNull(Strings.emptyToNull(stationId)); + final ResultHeader resultHeader = new ResultHeader(network, SERVER_PRODUCT, SERVER_VERSION, 0, null); try diff --git a/enabler/src/de/schildbach/pte/BayernProvider.java b/enabler/src/de/schildbach/pte/BayernProvider.java index 98f4170b..5cddcc0b 100644 --- a/enabler/src/de/schildbach/pte/BayernProvider.java +++ b/enabler/src/de/schildbach/pte/BayernProvider.java @@ -17,6 +17,8 @@ package de.schildbach.pte; +import static com.google.common.base.Preconditions.checkNotNull; + import java.io.IOException; import java.util.Date; import java.util.EnumSet; @@ -25,6 +27,7 @@ import java.util.Set; import javax.annotation.Nullable; import com.google.common.base.Charsets; +import com.google.common.base.Strings; import de.schildbach.pte.dto.Line; import de.schildbach.pte.dto.Location; @@ -117,6 +120,8 @@ public class BayernProvider extends AbstractEfaProvider public QueryDeparturesResult queryDepartures(final String stationId, final @Nullable Date time, final int maxDepartures, final boolean equivs) throws IOException { + checkNotNull(Strings.emptyToNull(stationId)); + return queryDeparturesMobile(stationId, time, maxDepartures, equivs); } diff --git a/enabler/src/de/schildbach/pte/InvgProvider.java b/enabler/src/de/schildbach/pte/InvgProvider.java index 1cb7c0a2..8394d1c1 100644 --- a/enabler/src/de/schildbach/pte/InvgProvider.java +++ b/enabler/src/de/schildbach/pte/InvgProvider.java @@ -17,6 +17,8 @@ package de.schildbach.pte; +import static com.google.common.base.Preconditions.checkNotNull; + import java.io.IOException; import java.util.ArrayList; import java.util.Calendar; @@ -34,6 +36,7 @@ import java.util.regex.Pattern; import javax.annotation.Nullable; import com.google.common.base.Charsets; +import com.google.common.base.Strings; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Line; @@ -175,6 +178,8 @@ public class InvgProvider extends AbstractHafasProvider public QueryDeparturesResult queryDepartures(final String stationId, final @Nullable Date time, final int maxDepartures, final boolean equivs) throws IOException { + checkNotNull(Strings.emptyToNull(stationId)); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT); final QueryDeparturesResult result = new QueryDeparturesResult(header); diff --git a/enabler/src/de/schildbach/pte/SeptaProvider.java b/enabler/src/de/schildbach/pte/SeptaProvider.java index edebca3a..98194878 100644 --- a/enabler/src/de/schildbach/pte/SeptaProvider.java +++ b/enabler/src/de/schildbach/pte/SeptaProvider.java @@ -17,6 +17,8 @@ package de.schildbach.pte; +import static com.google.common.base.Preconditions.checkNotNull; + import java.io.IOException; import java.util.ArrayList; import java.util.Calendar; @@ -32,6 +34,8 @@ import java.util.regex.Pattern; import javax.annotation.Nullable; +import com.google.common.base.Strings; + import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Line; import de.schildbach.pte.dto.Location; @@ -161,6 +165,8 @@ public class SeptaProvider extends AbstractHafasProvider public QueryDeparturesResult queryDepartures(final String stationId, final @Nullable Date time, final int maxDepartures, final boolean equivs) throws IOException { + checkNotNull(Strings.emptyToNull(stationId)); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT); final QueryDeparturesResult result = new QueryDeparturesResult(header); diff --git a/enabler/src/de/schildbach/pte/VrsProvider.java b/enabler/src/de/schildbach/pte/VrsProvider.java index 79d541e9..744d760f 100644 --- a/enabler/src/de/schildbach/pte/VrsProvider.java +++ b/enabler/src/de/schildbach/pte/VrsProvider.java @@ -17,6 +17,8 @@ package de.schildbach.pte; +import static com.google.common.base.Preconditions.checkNotNull; + import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -438,8 +440,10 @@ public class VrsProvider extends AbstractNetworkProvider // VRS does not show LongDistanceTrains departures. Parameter p for product // filter is supported, but LongDistanceTrains filter seems to be ignored. // equivs not supported. - public QueryDeparturesResult queryDepartures(String stationId, @Nullable Date time, int maxDepartures, boolean equivs) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, @Nullable Date time, int maxDepartures, boolean equivs) throws IOException { + checkNotNull(Strings.emptyToNull(stationId)); + // g=p means group by product; not used here // d=minutes overwrites c=count and returns departures for the next d minutes final StringBuilder uri = new StringBuilder(API_BASE);