diff --git a/src/de/schildbach/pte/AvvProvider.java b/src/de/schildbach/pte/AvvProvider.java
index cff924d9..b5e26c94 100644
--- a/src/de/schildbach/pte/AvvProvider.java
+++ b/src/de/schildbach/pte/AvvProvider.java
@@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
+
package de.schildbach.pte;
import java.text.DateFormat;
@@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class AvvProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "efa.avv-augsburg.de";
+ public static final NetworkId NETWORK_ID = NetworkId.AVV;
+ public static final String OLD_NETWORK_ID = "efa.avv-augsburg.de";
private final static String API_BASE = "http://efa.avv-augsburg.de/avv/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java
index 41ad657b..b65abd96 100644
--- a/src/de/schildbach/pte/BahnProvider.java
+++ b/src/de/schildbach/pte/BahnProvider.java
@@ -45,7 +45,8 @@ import de.schildbach.pte.util.ParserUtils;
*/
public final class BahnProvider extends AbstractHafasProvider
{
- public static final String NETWORK_ID = "mobile.bahn.de";
+ public static final NetworkId NETWORK_ID = NetworkId.DB;
+ public static final String OLD_NETWORK_ID = "mobile.bahn.de";
private static final String API_BASE = "http://mobile.bahn.de/bin/mobil/";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000;
@@ -55,6 +56,11 @@ public final class BahnProvider extends AbstractHafasProvider
super(null, null);
}
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
return true;
diff --git a/src/de/schildbach/pte/BsvagProvider.java b/src/de/schildbach/pte/BsvagProvider.java
index ae3cf13a..da6e122c 100644
--- a/src/de/schildbach/pte/BsvagProvider.java
+++ b/src/de/schildbach/pte/BsvagProvider.java
@@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
+
package de.schildbach.pte;
import java.text.DateFormat;
@@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class BsvagProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "212.68.73.240";
+ public static final NetworkId NETWORK_ID = NetworkId.BSVAG;
+ public static final String OLD_NETWORK_ID = "212.68.73.240";
private final static String API_BASE = "http://212.68.73.240/bsvag/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/BvbProvider.java b/src/de/schildbach/pte/BvbProvider.java
index 6a6959a8..b8da8b0f 100644
--- a/src/de/schildbach/pte/BvbProvider.java
+++ b/src/de/schildbach/pte/BvbProvider.java
@@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
+
package de.schildbach.pte;
import java.text.DateFormat;
@@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class BvbProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "www.efa-bvb.ch";
+ public static final NetworkId NETWORK_ID = NetworkId.BVB;
+ public static final String OLD_NETWORK_ID = "www.efa-bvb.ch";
private final static String API_BASE = "http://www.efa-bvb.ch/bvb/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/BvgProvider.java b/src/de/schildbach/pte/BvgProvider.java
index 5707fc4c..d0a66d15 100644
--- a/src/de/schildbach/pte/BvgProvider.java
+++ b/src/de/schildbach/pte/BvgProvider.java
@@ -23,8 +23,6 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
@@ -52,7 +50,8 @@ import de.schildbach.pte.util.ParserUtils;
*/
public final class BvgProvider extends AbstractHafasProvider
{
- public static final String NETWORK_ID = "mobil.bvg.de";
+ public static final NetworkId NETWORK_ID = NetworkId.BVG;
+ public static final String OLD_NETWORK_ID = "mobil.bvg.de";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000;
private static final long PARSER_DAY_ROLLDOWN_THRESHOLD_MS = 6 * 60 * 60 * 1000;
@@ -65,6 +64,11 @@ public final class BvgProvider extends AbstractHafasProvider
super(null, null);
}
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/DingProvider.java b/src/de/schildbach/pte/DingProvider.java
index ed01e4a9..cb10d33c 100644
--- a/src/de/schildbach/pte/DingProvider.java
+++ b/src/de/schildbach/pte/DingProvider.java
@@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
+
package de.schildbach.pte;
import java.text.DateFormat;
@@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class DingProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "www.ding-ulm.de";
+ public static final NetworkId NETWORK_ID = NetworkId.DING;
+ public static final String OLD_NETWORK_ID = "www.ding-ulm.de";
private final static String API_BASE = "http://www.ding-ulm.de/ding2/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/DubProvider.java b/src/de/schildbach/pte/DubProvider.java
index 9ee08097..d4315567 100644
--- a/src/de/schildbach/pte/DubProvider.java
+++ b/src/de/schildbach/pte/DubProvider.java
@@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
+
package de.schildbach.pte;
import java.text.DateFormat;
@@ -29,9 +30,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class DubProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "wojhati.rta.ae";
+ public static final NetworkId NETWORK_ID = NetworkId.DUB;
+ public static final String OLD_NETWORK_ID = "wojhati.rta.ae";
private final static String API_BASE = "http://wojhati.rta.ae/dub/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
@Override
protected TimeZone timeZone()
{
diff --git a/src/de/schildbach/pte/GvhProvider.java b/src/de/schildbach/pte/GvhProvider.java
index d0ac7878..137ccb4e 100644
--- a/src/de/schildbach/pte/GvhProvider.java
+++ b/src/de/schildbach/pte/GvhProvider.java
@@ -32,9 +32,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class GvhProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "mobil.gvh.de";
+ public static final NetworkId NETWORK_ID = NetworkId.GVH;
+ public static final String OLD_NETWORK_ID = "mobil.gvh.de";
private static final String API_BASE = "http://mobil.gvh.de/mobile2/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/IvbProvider.java b/src/de/schildbach/pte/IvbProvider.java
index 53c98b3b..2f5b7d3e 100644
--- a/src/de/schildbach/pte/IvbProvider.java
+++ b/src/de/schildbach/pte/IvbProvider.java
@@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
+
package de.schildbach.pte;
import java.text.DateFormat;
@@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class IvbProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "efa.ivb.at";
+ public static final NetworkId NETWORK_ID = NetworkId.IVB;
+ public static final String OLD_NETWORK_ID = "efa.ivb.at";
private final static String API_BASE = "http://efa.ivb.at/ivb/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/KvvProvider.java b/src/de/schildbach/pte/KvvProvider.java
index 74c85516..3c5bc94e 100644
--- a/src/de/schildbach/pte/KvvProvider.java
+++ b/src/de/schildbach/pte/KvvProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class KvvProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "213.144.24.66";
+ public static final NetworkId NETWORK_ID = NetworkId.KVV;
+ public static final String OLD_NETWORK_ID = "213.144.24.66";
private final static String API_BASE = "http://213.144.24.66/kvv/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/LinzProvider.java b/src/de/schildbach/pte/LinzProvider.java
index 7e321467..a056aa93 100644
--- a/src/de/schildbach/pte/LinzProvider.java
+++ b/src/de/schildbach/pte/LinzProvider.java
@@ -30,9 +30,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class LinzProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "www.linzag.at";
+ public static final NetworkId NETWORK_ID = NetworkId.LINZ;
+ public static final String OLD_NETWORK_ID = "www.linzag.at";
public static final String API_BASE = "http://www.linzag.at/linz/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/MariborProvider.java b/src/de/schildbach/pte/MariborProvider.java
index be43b959..4239b587 100644
--- a/src/de/schildbach/pte/MariborProvider.java
+++ b/src/de/schildbach/pte/MariborProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class MariborProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "164.8.32.183";
+ public static final NetworkId NETWORK_ID = NetworkId.MARIBOR;
+ public static final String OLD_NETWORK_ID = "164.8.32.183";
private final static String API_BASE = "http://164.8.32.183/slo/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/MvvProvider.java b/src/de/schildbach/pte/MvvProvider.java
index 13b8f1c5..be95fa2b 100644
--- a/src/de/schildbach/pte/MvvProvider.java
+++ b/src/de/schildbach/pte/MvvProvider.java
@@ -32,9 +32,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class MvvProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "efa.mvv-muenchen.de";
+ public static final NetworkId NETWORK_ID = NetworkId.MVV;
+ public static final String OLD_NETWORK_ID = "efa.mvv-muenchen.de";
private static final String API_BASE = "http://efa.mvv-muenchen.de/mobile/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/NaldoProvider.java b/src/de/schildbach/pte/NaldoProvider.java
index 472eef48..a7a2c5b8 100644
--- a/src/de/schildbach/pte/NaldoProvider.java
+++ b/src/de/schildbach/pte/NaldoProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class NaldoProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "efa.naldo.de";
+ public static final NetworkId NETWORK_ID = NetworkId.NALDO;
+ public static final String OLD_NETWORK_ID = "efa.naldo.de";
private final static String API_BASE = "http://efa.naldo.de/naldo/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/NasaProvider.java b/src/de/schildbach/pte/NasaProvider.java
index d1b542ca..9f727387 100644
--- a/src/de/schildbach/pte/NasaProvider.java
+++ b/src/de/schildbach/pte/NasaProvider.java
@@ -42,7 +42,8 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class NasaProvider extends AbstractHafasProvider
{
- public static final String NETWORK_ID = "www.nasa.de";
+ public static final NetworkId NETWORK_ID = NetworkId.NASA;
+ public static final String OLD_NETWORK_ID = "www.nasa.de";
private static final String API_BASE = "http://www.nasa.de/delfi52/";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000;
@@ -52,6 +53,11 @@ public class NasaProvider extends AbstractHafasProvider
super(null, null);
}
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/NetworkId.java b/src/de/schildbach/pte/NetworkId.java
new file mode 100644
index 00000000..8d89d4bf
--- /dev/null
+++ b/src/de/schildbach/pte/NetworkId.java
@@ -0,0 +1,28 @@
+package de.schildbach.pte;
+
+public enum NetworkId
+{
+ // Germany
+ DB, BVG, RMV, MVV, AVV, VMV, GVH, BSVAG, NASA, VVO, VMS, VGS, VRR, VRN, VVS, NALDO, DING, KVV,
+
+ // Austria
+ OEBB, VOR, LINZ, SVV, IVB, STV,
+
+ // Switzerland
+ SBB, BVB, VBL,
+
+ // Belgium
+ SNCB,
+
+ // Netherlands
+ NS,
+
+ // U.K.
+ TFL, TLEM, TLEA, TLSE, TLSW,
+
+ //
+ MARIBOR,
+
+ // UAE
+ DUB
+}
diff --git a/src/de/schildbach/pte/NetworkProvider.java b/src/de/schildbach/pte/NetworkProvider.java
index ff4d1afd..e38b200b 100644
--- a/src/de/schildbach/pte/NetworkProvider.java
+++ b/src/de/schildbach/pte/NetworkProvider.java
@@ -44,6 +44,8 @@ public interface NetworkProvider
SLOW, NORMAL, FAST
}
+ NetworkId id();
+
boolean hasCapabilities(Capability... capabilities);
/**
diff --git a/src/de/schildbach/pte/NsProvider.java b/src/de/schildbach/pte/NsProvider.java
index 6abd0b99..10dc0dd0 100644
--- a/src/de/schildbach/pte/NsProvider.java
+++ b/src/de/schildbach/pte/NsProvider.java
@@ -38,17 +38,22 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class NsProvider extends AbstractHafasProvider
{
- public static final String NETWORK_ID = "hafas.bene-system.com";
+ public static final NetworkId NETWORK_ID = NetworkId.NS;
+ public static final String OLD_NETWORK_ID = "hafas.bene-system.com";
+ private static final String API_URI = "http://hafas.bene-system.com/bin/extxml.exe";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000;
- private static final String API_URI = "http://hafas.bene-system.com/bin/extxml.exe";
-
public NsProvider()
{
super(API_URI, null);
}
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
@@ -86,7 +91,7 @@ public class NsProvider extends AbstractHafasProvider
+ "(.*?)\r\n" // departures
+ "|(Eingabe kann nicht interpretiert)|(Verbindung zum Server konnte leider nicht hergestellt werden))" //
+ ".*?", Pattern.DOTALL);
- private static final Pattern P_DEPARTURES_HEAD_FINE = Pattern.compile("" //
+ private static final Pattern P_DEPARTURES_HEAD_FINE = Pattern.compile("" //
+ "(.*?)
\r\n" // location
+ "Abfahrt (\\d{1,2}:\\d{2}),\r\n" // time
+ "(\\d{2}/\\d{2}/\\d{2})" // date
@@ -119,8 +124,8 @@ public class NsProvider extends AbstractHafasProvider
if (mHeadFine.matches())
{
final String location = ParserUtils.resolveEntities(mHeadFine.group(1));
- final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDateSlash(mHeadFine.group(3)), ParserUtils.parseTime(mHeadFine
- .group(2)));
+ final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDateSlash(mHeadFine.group(3)),
+ ParserUtils.parseTime(mHeadFine.group(2)));
final List departures = new ArrayList(8);
final Matcher mDepCoarse = P_DEPARTURES_COARSE.matcher(mHeadCoarse.group(2));
diff --git a/src/de/schildbach/pte/OebbProvider.java b/src/de/schildbach/pte/OebbProvider.java
index 45f4cba6..b5f4db8e 100644
--- a/src/de/schildbach/pte/OebbProvider.java
+++ b/src/de/schildbach/pte/OebbProvider.java
@@ -45,7 +45,8 @@ import de.schildbach.pte.util.ParserUtils;
public class OebbProvider extends AbstractHafasProvider
{
- public static final String NETWORK_ID = "fahrplan.oebb.at";
+ public static final NetworkId NETWORK_ID = NetworkId.OEBB;
+ public static final String OLD_NETWORK_ID = "fahrplan.oebb.at";
private static final String API_BASE = "http://fahrplan.oebb.at/bin/";
public OebbProvider()
@@ -53,6 +54,11 @@ public class OebbProvider extends AbstractHafasProvider
super(null, null);
}
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/RmvProvider.java b/src/de/schildbach/pte/RmvProvider.java
index 3b8e961d..fb968083 100644
--- a/src/de/schildbach/pte/RmvProvider.java
+++ b/src/de/schildbach/pte/RmvProvider.java
@@ -45,8 +45,8 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class RmvProvider extends AbstractHafasProvider
{
- public static final String NETWORK_ID = "mobil.rmv.de";
- public static final String NETWORK_ID_ALT = "www.rmv.de";
+ public static final NetworkId NETWORK_ID = NetworkId.RMV;
+ public static final String OLD_NETWORK_ID = "mobil.rmv.de";
private static final String API_BASE = "http://www.rmv.de/auskunft/bin/jp/";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000;
@@ -56,6 +56,11 @@ public class RmvProvider extends AbstractHafasProvider
super(null, null);
}
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/SbbProvider.java b/src/de/schildbach/pte/SbbProvider.java
index 13a72234..c93fa71e 100644
--- a/src/de/schildbach/pte/SbbProvider.java
+++ b/src/de/schildbach/pte/SbbProvider.java
@@ -38,7 +38,8 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class SbbProvider extends AbstractHafasProvider
{
- public static final String NETWORK_ID = "fahrplan.sbb.ch";
+ public static final NetworkId NETWORK_ID = NetworkId.SBB;
+ public static final String OLD_NETWORK_ID = "fahrplan.sbb.ch";
private static final String API_BASE = "http://fahrplan.sbb.ch/bin/";
private static final String API_URI = "http://fahrplan.sbb.ch/bin/extxml.exe";
@@ -49,6 +50,11 @@ public class SbbProvider extends AbstractHafasProvider
super(API_URI, accessId);
}
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/SncbProvider.java b/src/de/schildbach/pte/SncbProvider.java
index 9e7fe046..f74127fc 100644
--- a/src/de/schildbach/pte/SncbProvider.java
+++ b/src/de/schildbach/pte/SncbProvider.java
@@ -38,17 +38,22 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class SncbProvider extends AbstractHafasProvider
{
- public static final String NETWORK_ID = "hari.b-rail.be";
+ public static final NetworkId NETWORK_ID = NetworkId.SNCB;
+ public static final String OLD_NETWORK_ID = "hari.b-rail.be";
+ private static final String API_URI = "http://hari.b-rail.be/Hafas/bin/extxml.exe";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000;
- private static final String API_URI = "http://hari.b-rail.be/Hafas/bin/extxml.exe";
-
public SncbProvider()
{
super(API_URI, null);
}
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
@@ -86,7 +91,7 @@ public class SncbProvider extends AbstractHafasProvider
+ "(.*?)\r\n" // departures
+ "|(Eingabe kann nicht interpretiert)|(Verbindung zum Server konnte leider nicht hergestellt werden))" //
+ ".*?", Pattern.DOTALL);
- private static final Pattern P_DEPARTURES_HEAD_FINE = Pattern.compile("" //
+ private static final Pattern P_DEPARTURES_HEAD_FINE = Pattern.compile("" //
+ "(.*?)
\r\n" // location
+ "Abfahrt (\\d{1,2}:\\d{2}),\r\n" // time
+ "(\\d{2}/\\d{2}/\\d{2})" // date
@@ -119,8 +124,8 @@ public class SncbProvider extends AbstractHafasProvider
if (mHeadFine.matches())
{
final String location = ParserUtils.resolveEntities(mHeadFine.group(1));
- final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDateSlash(mHeadFine.group(3)), ParserUtils.parseTime(mHeadFine
- .group(2)));
+ final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDateSlash(mHeadFine.group(3)),
+ ParserUtils.parseTime(mHeadFine.group(2)));
final List departures = new ArrayList(8);
final Matcher mDepCoarse = P_DEPARTURES_COARSE.matcher(mHeadCoarse.group(2));
diff --git a/src/de/schildbach/pte/StvProvider.java b/src/de/schildbach/pte/StvProvider.java
index 212bc307..151bd546 100644
--- a/src/de/schildbach/pte/StvProvider.java
+++ b/src/de/schildbach/pte/StvProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class StvProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "fahrplan.verbundlinie.at";
+ public static final NetworkId NETWORK_ID = NetworkId.STV;
+ public static final String OLD_NETWORK_ID = "fahrplan.verbundlinie.at";
private final static String API_BASE = "http://fahrplan.verbundlinie.at/stv/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/SvvProvider.java b/src/de/schildbach/pte/SvvProvider.java
index 68045cae..1788c11f 100644
--- a/src/de/schildbach/pte/SvvProvider.java
+++ b/src/de/schildbach/pte/SvvProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class SvvProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "efa.svv-info.at";
+ public static final NetworkId NETWORK_ID = NetworkId.SVV;
+ public static final String OLD_NETWORK_ID = "efa.svv-info.at";
private final static String API_BASE = "http://efa.svv-info.at/svv/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/TflProvider.java b/src/de/schildbach/pte/TflProvider.java
index 92c9c57b..4e4ba513 100644
--- a/src/de/schildbach/pte/TflProvider.java
+++ b/src/de/schildbach/pte/TflProvider.java
@@ -34,9 +34,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class TflProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "journeyplanner.tfl.gov.uk";
+ public static final NetworkId NETWORK_ID = NetworkId.TFL;
+ public static final String OLD_NETWORK_ID = "journeyplanner.tfl.gov.uk";
private static final String API_BASE = "http://journeyplanner.tfl.gov.uk/user/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
@Override
protected TimeZone timeZone()
{
diff --git a/src/de/schildbach/pte/TleaProvider.java b/src/de/schildbach/pte/TleaProvider.java
index 94b064bf..6f111e77 100644
--- a/src/de/schildbach/pte/TleaProvider.java
+++ b/src/de/schildbach/pte/TleaProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class TleaProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "www.travelineeastanglia.org.uk";
+ public static final NetworkId NETWORK_ID = NetworkId.TLEA;
+ public static final String OLD_NETWORK_ID = "www.travelineeastanglia.org.uk";
private final static String API_BASE = "http://www.travelineeastanglia.org.uk/ea/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/TlemProvider.java b/src/de/schildbach/pte/TlemProvider.java
index efdfa853..d49f0ee3 100644
--- a/src/de/schildbach/pte/TlemProvider.java
+++ b/src/de/schildbach/pte/TlemProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class TlemProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "www.travelineeastmidlands.co.uk";
+ public static final NetworkId NETWORK_ID = NetworkId.TLEM;
+ public static final String OLD_NETWORK_ID = "www.travelineeastmidlands.co.uk";
private final static String API_BASE = "http://www.travelineeastmidlands.co.uk/em/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/TlseProvider.java b/src/de/schildbach/pte/TlseProvider.java
index c72a57aa..9c7ef00e 100644
--- a/src/de/schildbach/pte/TlseProvider.java
+++ b/src/de/schildbach/pte/TlseProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class TlseProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "www.travelinesoutheast.org.uk";
+ public static final NetworkId NETWORK_ID = NetworkId.TLSE;
+ public static final String OLD_NETWORK_ID = "www.travelinesoutheast.org.uk";
private final static String API_BASE = "http://www.travelinesoutheast.org.uk/se/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/VgsProvider.java b/src/de/schildbach/pte/VgsProvider.java
index a2cee360..3edcfbdf 100644
--- a/src/de/schildbach/pte/VgsProvider.java
+++ b/src/de/schildbach/pte/VgsProvider.java
@@ -42,7 +42,7 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class VgsProvider extends AbstractHafasProvider
{
- public static final String NETWORK_ID = "www.vgs-online.de";
+ public static final String OLD_NETWORK_ID = "www.vgs-online.de";
private static final String API_BASE = "http://www.vgs-online.de/cgi-bin/";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000;
@@ -52,6 +52,11 @@ public class VgsProvider extends AbstractHafasProvider
super(null, null);
}
+ public NetworkId id()
+ {
+ return NetworkId.VGS;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
@@ -100,7 +105,7 @@ public class VgsProvider extends AbstractHafasProvider
private static final Pattern P_DEPARTURES_HEAD_COARSE = Pattern
.compile(
".*?" //
- + "(?:" //
+ + "(?:" //
+ ".*?" //
+ "(?:|(verkehren an dieser Haltestelle keine))"//
+ "|(Eingabe kann nicht interpretiert)|(Verbindung zum Server konnte leider nicht hergestellt werden|kann vom Server derzeit leider nicht bearbeitet werden))" //
@@ -146,8 +151,8 @@ public class VgsProvider extends AbstractHafasProvider
if (mHeadFine.matches())
{
final String location = ParserUtils.resolveEntities(mHeadFine.group(1));
- final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDate(mHeadFine.group(2)), ParserUtils
- .parseTime(mHeadFine.group(3)));
+ final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDate(mHeadFine.group(2)),
+ ParserUtils.parseTime(mHeadFine.group(3)));
final List departures = new ArrayList(8);
String oldZebra = null;
diff --git a/src/de/schildbach/pte/VmsProvider.java b/src/de/schildbach/pte/VmsProvider.java
index 9b3d7675..93f21da4 100644
--- a/src/de/schildbach/pte/VmsProvider.java
+++ b/src/de/schildbach/pte/VmsProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class VmsProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "www.vms-aktuell.de";
+ public static final NetworkId NETWORK_ID = NetworkId.VMS;
+ public static final String OLD_NETWORK_ID = "www.vms-aktuell.de";
private static final String API_BASE = "http://www.vms-aktuell.de/vms/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/VmvProvider.java b/src/de/schildbach/pte/VmvProvider.java
index f4df5753..f926bb45 100644
--- a/src/de/schildbach/pte/VmvProvider.java
+++ b/src/de/schildbach/pte/VmvProvider.java
@@ -29,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class VmvProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "80.146.180.107";
+ public static final NetworkId NETWORK_ID = NetworkId.VMV;
+ public static final String OLD_NETWORK_ID = "80.146.180.107";
private static final String API_BASE = "http://80.146.180.107/delfi/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/VorProvider.java b/src/de/schildbach/pte/VorProvider.java
index 3d5bb824..02629411 100644
--- a/src/de/schildbach/pte/VorProvider.java
+++ b/src/de/schildbach/pte/VorProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class VorProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "efa.vor.at";
+ public static final NetworkId NETWORK_ID = NetworkId.VOR;
+ public static final String OLD_NETWORK_ID = "efa.vor.at";
private final static String API_BASE = "http://efa.vor.at/wvb/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/VrnProvider.java b/src/de/schildbach/pte/VrnProvider.java
index 7b95ac68..ba4684c4 100644
--- a/src/de/schildbach/pte/VrnProvider.java
+++ b/src/de/schildbach/pte/VrnProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class VrnProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "fahrplanauskunft.vrn.de";
+ public static final NetworkId NETWORK_ID = NetworkId.VRN;
+ public static final String OLD_NETWORK_ID = "fahrplanauskunft.vrn.de";
private static final String API_BASE = "http://fahrplanauskunft.vrn.de/vrn_mobile/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/VrrProvider.java b/src/de/schildbach/pte/VrrProvider.java
index f3956c06..3fe9d44d 100644
--- a/src/de/schildbach/pte/VrrProvider.java
+++ b/src/de/schildbach/pte/VrrProvider.java
@@ -28,10 +28,16 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class VrrProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "efa3.vrr.de";
+ public static final NetworkId NETWORK_ID = NetworkId.VRR;
+ public static final String OLD_NETWORK_ID = "efa3.vrr.de";
// private static final String API_BASE = "http://efa3.vrr.de/vrr_mobile/";
private static final String API_BASE = "http://efa.vrr.de/standard/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/VvoProvider.java b/src/de/schildbach/pte/VvoProvider.java
index 23783913..590f60a6 100644
--- a/src/de/schildbach/pte/VvoProvider.java
+++ b/src/de/schildbach/pte/VvoProvider.java
@@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class VvoProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "efa.vvo-online.de";
+ public static final NetworkId NETWORK_ID = NetworkId.VVO;
+ public static final String OLD_NETWORK_ID = "efa.vvo-online.de";
private final static String API_BASE = "http://efa.vvo-online.de:8080/dvb/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
diff --git a/src/de/schildbach/pte/VvsProvider.java b/src/de/schildbach/pte/VvsProvider.java
index 6614c835..64bf3193 100644
--- a/src/de/schildbach/pte/VvsProvider.java
+++ b/src/de/schildbach/pte/VvsProvider.java
@@ -29,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/
public class VvsProvider extends AbstractEfaProvider
{
- public static final String NETWORK_ID = "mobil.vvs.de";
+ public static final NetworkId NETWORK_ID = NetworkId.VVS;
+ public static final String OLD_NETWORK_ID = "mobil.vvs.de";
private static final String API_BASE = "http://mobil.vvs.de/mobile/";
+ public NetworkId id()
+ {
+ return NETWORK_ID;
+ }
+
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)